Gitlab代码泄露监控工具

GSIL(GitHub敏感信息泄露)

Python3.6安装

$ yum -y groupinstall "Development tools"
$ yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
$ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
$ tar xf Python-3.6.2.tar.xz
$ ./configure --prefix=/usr/local/python3
$ make && make install

Pip安装

$ yum -y install python-pip

Python虚拟环境

$ pip install virtualenv
$ virtualenv -p /usr/local/python3/bin/python3 env3
$ source env3/bin/activate

近实时监控GitHub敏感信息泄露,并发送告警通知。

安装

仅在Python3下验证过

$ git clone https://github.com/FeeiCN/gsil.git
$ cd gsil/
$ pip install -r requirements.txt

配置

gsil/config.gsil(重命名自config.gsil.example): 告警邮箱和Github配置

[mail]
host : smtp.exmail.qq.com
# SMTP端口(非SSL端口,但会使用TLS加密)
port : 25
# 多个发件人使用逗号(,)分隔
mails : gsil@feei.cn
from : GSIL
password : your_password
# 多个收件人使用逗号(,)分隔
to : feei@feei.cn

[github]
# 扫描到的漏洞仓库是否立刻Clone到本地(~/.gsil/codes/)
# 此选项用作监控其它厂商,避免因为仓库所有者发现后被删除
clone: false

# GitHub Token用来调用相关API,多个Token使用逗号(,)分隔
# https://github.com/settings/tokens
tokens : your_token

gsil/rules.gsil(重命名自rules.gsil.example): 扫描规则

规则一般选用内网独立的特征,比如蘑菇街的外网是mogujie.com,蘑菇街的内网是mogujie.org,则可以将mogujie.org作为一条规则。

其它还有类似代码头部特征、外部邮箱特征等

字段意义选填默认描述
keyword关键词必填-多个关键词可以用空格,比如‘账号 密码’;某些关键字出现的结果非常多,所以需要精确搜索时可以用双引号括起来,比如‘”ele.me“’;
ext指定文件后缀可选全部后缀多个后缀可以使用英文半角逗号(,)分隔,比如java,php,python
mode匹配模式可选正常匹配(normal-match)正常匹配(normal-match):匹配包含keyword的行,并记录该行附近行 / 仅匹配(only-match):仅匹配包含keyword行 / 全部匹配(full-match)(不推荐使用):搜出来的整个问题都算作结果
{
    # 一级分类,一般使用公司名,用作开启扫描的第一个参数(python gsil.py test)
    "test": {
        # 二级分类,一般使用产品线
        "mogujie": {
            # 公司内部域名
            "\"mogujie.org\"": {
                # mode/ext默认可不填
                "mode": "normal-match",
                "ext": "php,java,python,go,js,properties"
            },
            # 公司代码特征
            "copyright meili inc": {},
            # 内部主机域名
            "yewu1.db.mogujie.host": {},
            # 外部邮箱
            "mail.mogujie.com": {}
        },
        "meilishuo": {
            "meilishuo.org": {},
            "meilishuo.io": {}
        }
    }
}

用法

# 启动测试
$ python gsil.py test

# 测试token有效性
$ python gsil.py --verify-tokens
$ crontab -e

# 漏洞报告,此项任务发现漏洞后会立刻发送漏洞报告
# 每个小时运行一次,GitHub API接口调用频率限制可以根据token数量、规则数量来调整crontab频率实现,若觉得麻烦可简单配置多个token来实现。
# crontab执行时间决定了报告的发送时效性,间隔越短报告越快但频率限制越容易触发
# 建议配置5个token+20条规则,每15分钟运行一次(可以配置更短,根据各自需求确定)
*/15 * * * * /usr/bin/python /var/app/gsil/gsil.py test > /tmp/gsil

# 统计报告,发送一天的扫描进展,包括运行次数、成功次数、失败次数、发现漏洞数、各域名状况、异常等等
# 每天晚上11点发送统计报告
0 23 * * * /usr/bin/python /var/app/gsil/gsil.py --report

扫描报告过一次的将不会重复报告,缓存记录在~/.gsil/目录

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab代码质量检查工具可以使用SonarQube进行集成。首先,需要将打好的包(p3c-pmd-2.1.1-jar-with-dependencies.jar)拷贝到GitLab hooks脚本可以引用到的路径下,比如/var/opt/gitlab/git-hooks(如果是通过Docker安装的GitLab,则该目录映射到宿主机)。\[1\] 接下来,在项目的根目录下创建.gitlab-ci.yml文件,并添加SonarQube的配置。配置中需要指定SonarQube的相关信息,如SonarQube的URL、项目的Key等。同时,还可以设置其他参数,如缓存路径、Git的深度等。在脚本中执行mvn sonar:sonar命令来运行SonarQube分析任务。\[2\] 在GitLab中,管理员账号登录后,可以设置访问SonarQube的权限和配置。可以通过访问http://192.168.2.26:9009/来登录SonarQube,初始账号/密码是admin/admin。登录后,可以修改自己的密码。\[3\] 通过以上步骤,你可以在GitLab中使用SonarQube进行代码质量检查。 #### 引用[.reference_title] - *1* [Gitlab集成阿里巴巴P3C-PMD代码质量检测插件](https://blog.csdn.net/gdyycn/article/details/123314790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Gitlab+SonarQube部署代码检测工具](https://blog.csdn.net/wjplj/article/details/125908415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值