红蓝攻防
点击放大

<img src=" width="550">
GitLab Watchman is an application that uses the GitLab API to detect exposed secrets and personal data. It also enumerates the GitLab instance for any useful information.
#### Secrets Detection
It searches GitLab for internally shared projects and looks at:
For the following data:
##### Time based searching
You can run GitLab Watchman to look for results going back as far as:
This means after one deep scan, you can schedule GitLab Watchman to run regularly and only return results from your chosen timeframe.
#### Enumeration
GitLab Watchman can enumerate potentially useful information from a GitLab instance:
#### Suppressing Signatures
You can define signatures that you want to disable when running GitLab Watchman by adding their IDs to the disabled_signatures section of the watchman.conf file. For example:
You can find the ID of a signature in the indi YAML files in Watchman Signatures repository.
GitLab Watchman gives the following logging options:
GitLab Watchman defaults to terminal-friendly stdout logging if no option is given. This is designed to be easier for humans to read.
JSON logging is also a, which is perfect for ingesting into a SIEM or other log analysis platforms.
JSON formatted logging can be easily redirected to a file as below:
The GitLab instance must have Elasticsearch configured, and be running Enterprise Edition with a minimum GitLab Starter or Bronze Licence.
You can create a personal access token in the GitLab GUI -> Access Tokens -> Add a personal access token
The token needs permission for the following scopes:
Note: Personal access tokens act on behalf of the user who creates them, so I would suggest you create a token using a service account, otherwise the app will ha to your private repositories.
You also need to provide the URL of your GitLab instance.
#### Pro token & URL
GitLab Watchman will get the GitLab token and URL from the en GITLAB_WATCHMAN_TOKEN and GITLAB_WATCHMAN_URL.
watchman.conf which must be stored in your home directory. The file should follow the YAML format, and should look like below:GitLab Watchman will look for this file at runtime, and use the configuration options from here.
python3 -m pip install gitlab-watchman
Or build from source yourself. Download the release source files, then from the top le run:
GitLab Watchman is also a from the Docker hub as a Docker image:
docker pull papermountain/gitlab-watchman:latest
You can then run GitLab Watchman in a container, making sure you pass the required en :
开发语言:Python
Star 数:206
该项目属于红蓝攻防方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Finding exposed secrets and personal data in GitLab展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | gitlab-watchman - Finding exposed secrets and personal data in GitLa |
| 所属分类 | 红蓝攻防 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:47:03 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 383 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |