
关于GitLab Watchman
GitLab Watchman这款应用程序可以帮助广大研究人员使用GitLab API来审查GitLab内部暴露的敏感数据和凭据。
功能介绍
GitLab Watchman可以搜索GitLab中的内部共享项目,并查看下列内容:
代码;
提交内容;
WiKi页面;
问题;
合并请求;
项目里程碑;
GitLab Watchman支持搜索下列内容:
基于事件的搜索
我们还可以运行GitLab Watchman并搜索下列时间间隔返回的数据结果:
这也就意味着,在一次深度扫描之后,我们可以安排GitLab Watchman定期运行,并且只返回所选时间段的结果。
规则
GitLab Watchman使用自定义YAML规则来检测GitLab中的匹配数据项。
规则格式如下所示:
---
filename:
enabled: #[true|false]
meta:
name:
author:
date:
description:
severity:
scope: #what to search, any combination of the below#
- blobs
- commits
- milestones
- wiki_blobs
- issues
- merge_requests
test_cases:
match_cases:
-
fail_cases:
-
strings:
-
pattern: #Regex pattern to filter out false positives#
项目中引入了Python测试来确保规则格式的正确性,项目目录中的tests目录下还包含正则匹配模式。关于检测规则的更多内容,请查看项目下的docs/rules.md文件。
.conf文件
配置选项可以在watchman.conf文件中进行配置,该文件必须存储在项目的根目录下。该文件必须遵循YAML格式:
gitlab_watchman:
token: abc123
url: https://gitlab.example.com
logging:
file_logging:
path:
json_tcp:
host:
port:
GitLab Watchman将会在运行时查询该配置文件,并使用其中的配置信息。除此之外,本项目还提供了一份配置文件样本,路径为docs/example.conf。
工具要求
GitLab版本
GitLab Watchman使用了v4 API,支持GitLab企业版:
GitLab.com
13.0及其以上版本
12.0-12.10版本
工具安装
广大研究人员可以使用下列命令安装GitLab Watchman:
pip install gitlab-watchman
工具使用
GitLab Watchman将以全局命令的形式进行安装,可以通过下列方式使用:
usage: gitlab-watchman [-h] --timeframe {d,w,m,a} --output
{file,stdout,stream} [--version] [--all] [--blobs]
[--commits] [--wiki-blobs] [--issues] [--merge-requests]
[--milestones] [--comments]
Monitoring GitLab for sensitive data shared publicly
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--all Find everything
--blobs Search code blobs
--commits Search commits
--wiki-blobs Search wiki blobs
--issues Search issues
--merge-requests Search merge requests
--milestones Search milestones
--comments Search comments
required arguments:
--timeframe {d,w,m,a}
How far back to search: d = 24 hours w = 7 days, m =
30 days, a = all time
--output {file,stdout,stream}
Where to send results
我们可以使用GitLab Watchman来查询所有支持的数据项,并将结果输出至默认Stdout:
或者,我们也可以将参数一起提交给搜索命令:
项目地址
点击底部阅读原文获取链接