GitHub是全球最大代码托管平台,大量安全泄露需实时监控

大家都知道,GitHub是全球最大的代码托管平台,它在2019年报中表明平台已有超过4000万开发者,全年总共创建了4400万个仓库。然而在庞大数字的背后,每天都有大量安全泄露发生!我们要实时监控GitHub,避免出现重大安全事故。

GitHub是全球最大代码托管平台,大量安全泄露需实时监控

0x01 监控原理

通常监控 GitHub 有两种方案:

1、爬虫

2、GitHub API:

GitHub具备完善的反爬虫机制,所以想借助爬虫监控GitHub并非易事,使用GitHub API是更为稳定且高效的选择。然而GitHub API对请求频率设置了严格限制,要是需要扫描众多关键字,就必须申请多个令牌(personal access token)来降低每个账号的请求频率。

0x02 码小六

今天介绍一款GitHub代码泄露监控工具,它叫码小六,它基于PHP和Laravel构建,它开源免费,能为企业安全保驾护航!

仓库地址:

系统特点:

1、全可视化界面,操作简单

2、支持 GitHub 令牌管理及智能调度

3、扫描结果信息丰富,支持批量操作

4、任务配置灵活,可单独配置任务扫描参数

5、支持白名单模式,主动忽略白名单仓库

运行环境

Linux

PHP >= 7.3.0

Composer

MySQL >= 5.7

Apache >= 2.4

系统界面

0x03 安装部署

码小六支持通过 Docker 进行部署,也支持源码部署,这里介绍利用 Docker 进行部署的方法~

Docker镜像中没有MySQL实例,需要安装MySQL,要创建数据库,还要进行授权(安装MySQL的步骤省略)。

# 创建镜像git 克隆,网址为https://github.com/4x99/code6.git的代码仓库cd 执行代码6,然后使用docker进行构建,并将镜像命名为code6 ,构建上下文为当前目录。启动容器,宿主机映射端口666与MySQL的连接参数需根据情况修改,容器启动后会自动连接MySQL并导入数据表。docker run -d \-p 666:80 \-e MYSQL_HOST=172.17.0.1 \-e MYSQL_PORT=3306 \-e MYSQL_DATABASE=code6 \-e MYSQL_USERNAME=xxx \-e MYSQL_PASSWORD=xxxxxx \--name code6-server code6# 进入容器创建用户docker 执行,以交互方式进入,代码6服务器,运行/bin/bash脚本php artisan code6:user-add <邮箱> <密码>

这样安装就完成了,此时便可以通过:666访问系统~

0x04 设置令牌

进入系统的第一步,要前往 [ 令牌配置 ] 模块,在此模块中配置 GitHub 令牌 。

如何申请令牌?

进入GitHub,点击设置,选择开发者设置,点击个人访问令牌,点击生成新令牌 。

直达地址:

其他说明

1、建议至少配置 5 个令牌

不能使用同一个GitHub账号去创建多个令牌,这些令牌共享账号配额 。

3、码小六在进行扫描任务时会自动检测更新令牌配额并进行调度

若令牌状态时而正常时而异常,这有可能是由于请求GitHub时网络不通畅导致的,这种情况可以忽略。

0x05 设置任务

接下来可以到 [ 任务配置 ] 模块设置扫描任务啦!

关键字的选择

公司邮箱后缀是不错的选择,公司域名是不错的选择,项目标识是不错的选择,若能在公司推行安全规范,在每个项目工程内放置唯一标识,将此标识作为扫描关键字,便能实现精准监控。

扫描结果存储

扫描结果存储入库目前支持以下选项:

记录文件的每个版本,文件每次提交时会产生一条新的未审记录,提交内容包含关键字 。

2、一个文件只记录一次

3、一个仓库只记录一次

如果只关注项目维度,选择“一个仓库只记录一次”就行,如此一来,会大幅减少需要审核的结果记录。

0x06 审核结果

状态说明

码小六的“扫描结果”模块呈现出匹配到关键字的扫描记录,这些记录能够被设置为以下状态:

未审:未审核的记录

误报:已确认正常的记录

异常:已确认异常的记录

解决:异常且已处理的记录

结果处理

若能于GitHub个人主页、代码或Commit记录里找到仓库拥有者的联系方式,便可直接联系处理。若联系不上,那就只能借助GitHub DMCA(数字千年版权法),给GitHub写邮件申请下架仓库(建议各公司内部建立相关预案以便能快速处理此类问题),帮助文档:

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

45阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读