GithubHelp home page GithubHelp logo

4x99 / code6 Goto Github PK

View Code? Open in Web Editor NEW
1.1K 20.0 201.0 2.77 MB

码小六 - GitHub 代码泄露监控系统

License: GNU General Public License v3.0

PHP 49.91% Dockerfile 0.58% Shell 0.25% Blade 49.25%
php laravel github security gsil

code6's Introduction

码小六

license release stars forks watchers

码小六是一款 GitHub 代码泄露监控系统,通过定期扫描 GitHub 发现代码泄露行为,为企业安全保驾护航!


因 GitHub 官方搜索架构调整,码小六即日起暂停维护,详见 #264 ,感谢大家支持,后会有期! 2023.04.27


系统特点

  • 全可视化界面,操作简单
  • 支持移动端,随时随地解决问题
  • 支持 GitHub 令牌管理及智能调度
  • 扫描配置灵活,可单独配置任务扫描参数
  • 扫描结果信息丰富,支持批量操作
  • 支持代理配置,扫描 GitHub 更通畅
  • 支持白名单模式,可按仓库和文件名过滤
  • 支持邮件、钉钉、飞书、WebHook、Telegram、企业微信通知

运行环境

  • Linux
  • PHP >= 7.3.0
  • Composer
  • MySQL >= 5.7
  • Apache >= 2.4

安装部署

码小六支持 Docker-Compose 部署(推荐)、Docker 部署源码部署,请根据情况选择!


系统界面

请点击浏览大图 :P

登录页面

登录页面

应用概况

应用概况

扫描结果

扫描结果

令牌配置

令牌配置

任务配置

任务配置

通知配置

通知配置

白名单配置

白名单配置

手机移动版

移动版

code6's People

Contributors

4x99 avatar byc4i avatar er10yi avatar gallopyd avatar huangyongxin92 avatar jkeita avatar wjun0 avatar yoonper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code6's Issues

连接不上数据库?

试过:docker run -d -p 666:80 -e MYSQL_HOST=IP ---这里的IP是宿主机的IP,还是宿主机的docker网关IP 172.17.0.1?

In Connection.php line 671:

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from user where (email = [email protected]) limit 1)

In Connector.php line 70:

SQLSTATE[HY000] [2002] Connection refused

如何重启服务

1.我在源码上修改文字描述的提示信息;方便理解
2.然后我重启了容器,无生效
3.请问如何重启生效我修改的文字描述呢

令牌配置模块增加未知状态

原因:目前令牌分为 正常异常 状态

其中 异常 状态包含两种情况:

  1. 令牌真的异常
  2. 因为国内网络原因请求 GitHub 失败导致异常(经常出现,所以状态时而正常时而异常)

为了更好区分,新增 未知 状态来标记第二种情况

链接数据库报错

报错信息:
In Connection.php line 671:

SQLSTATE[HY000] [1045] Access denied for user 'root'@'172.17.0.2' (using password: YES) (SQL: select * from user where (email = [email protected]) limit 1)

In Connector.php line 70:

SQLSTATE[HY000] [1045] Access denied for user 'root'@'172.17.0.2' (using password: YES)

我已经讲MYSQL_HOST写成了docker0的IP地址了,但是为什么进入到容器中,IP地址还是不变呢

关于请求api

请问这个系统可以通过api请求的方式进行调取结果和进行查询吗

码小六更新

看到码小六的功能也越来越完善,版本升级也挺快,
个人建议可以在页面中增加一个更新功能,这样当有新功能发布时,我直接直更新即可升级到最新功能

页面403

Forbidden
You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe

XSS

有个存储型xss

图片

令牌状态一直是未知

添加了令牌和扫描任务,令牌状态一直是未知,扫描也不开始。我查看了下日志,只有code6-2020-12-17.log这一个日志文件,没有job开头的日志。

太他吗的难安装了

一大堆报错。。。。。痛苦

PHP Warning: require(/root/github/code6/vendor/autoload.php): failed to open stream: No such file or directory in /root/github/code6/artisan on line 18
PHP Fatal error: require(): Failed opening required '/root/github/code6/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /root/github/code6/artisan on line 18

增加过滤黑名单需求

码小六非常好用,已经部署整个集团,能否增加过滤后缀黑名单,目前误报量有点大,都是txt\png什么的文件

宝塔源代码安装问题

目前遇到的情况是所有的步骤都走了一遍了,然后宝塔会自动禁止使用../跳转目录,我修改设置以后不再报错,进入登录界面后一片空白
端口我使用的是55555

提1个很实用的新需求

公司体量比较大,对外的产品也非常多,目前的检测到的信息,大多数为官方自己公布的信息,并非真正的泄露,所以误报还会比较多
可以考虑优化1下白名单机制
如:链接\代码快照\仓库\用户名\等, 包含 xxx 就不通知,过滤掉 ,这个xxx是可以自己添加的

比如:一些代码中包含 “官方账号” 等字样 ,就过滤掉

常见问题

1. 创建用户时提示 Connection refused

原因:Docker 容器连不上 MySQL,请通过以下方式排查:

  • 确认 MYSQL_HOST 是否设置为 127.0.0.1,容器无法通过 127.0.0.1 连接宿主机,可在宿主机执行 ifconfigip addr 查看 docker0 的 IP,将 MYSQL_HOST 设置为此 IP
  • 确认 iptables 及防火墙是否限制连接
  • 确认 MySQL 是否已给 MYSQL_USERNAME 用户授权,授权命令:GRANT ALL PRIVILEGES ON *.* to <MYSQL_USERNAME>@'%' identified by '<password>';(请根据实际情况授权)
  • 确认 MySQL 配置文件的 bind-address 参数是否绑定 127.0.0.1,如果有则注释并重启

解决后,删除当前容器,创建新容器即可,或者在当前容器执行 php artisan migrate 导入数据表。


2. 在 GitHub 创建令牌时,Select scopes 部分的权限需要勾选哪些?

都不用勾选。


3. 可以用同一个 GitHub 账号创建多个令牌吗?

不能,这种情况多个令牌共享账号配额,需要注册多个 GitHub 账号(建议不要在同一环境批量注册,容易被 GitHub 标记异常)。


4. [ 令牌配置 ] 模块中的令牌配额为何有多有少?

正常 GitHub 令牌请求配额为 30 次 / 分钟,如果小于此值,可能账号已被 GitHub 标记为异常(注册多个账号容易被 GitHub 检测标记)


5. 日志报错:“cURL error 7: Failed connect to api.github.com:443; Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)”

国内网络环境请求 GitHub API 有时会失败,不是大量且频繁出现可以忽略。当然,将系统部署到海外或使用海外代理会更加稳定。


6. 为何 [ 令牌配置 ] 中的令牌状态时而正常时而异常?

同上一个问题,如长时间处于异常状态,请检查令牌是否真的异常。


7. 扫描代码有哪些限制和注意事项?

请阅读 GitHub 文档:代码搜索的注意事项


8. 扫描到泄露代码但联系不上仓库拥有者怎么办?

可通过 GitHub DMCA(数字千年版权法)在线联系 GitHub 下架:https://support.github.com/contact/dmca-takedown


9. 钉钉群机器人安全设置如何配置?

不支持加签,可选:

  • 自定义关键词
  • IP 地址(段)

10. Docker 启动容器时 PHP 安装扩展失败

将 Docker 升级到 20+ 版本后重新安装


11. 使用 Docker-Compose 部署时无法从阿里云镜像安装包

报错内容为:

Failed to fetch http://mirrors.aliyun.com/...

宿主机配置 Docker DNS 后重新部署:

vim /etc/docker/daemon.json
{                                                                          
    "dns": ["223.5.5.5", "8.8.8.8"]                                                                           
}

启动容器一直连不上数据库,数据库ip已经指定,还是不行,麻烦看下,谢谢

1、[root@localhost code6]# docker logs -f 8dd6d0a341e3
Application key set successfully.

In Connection.php line 671:

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_s
chema.tables where table_schema = code6 and table_name = migrations and tab
le_type = 'BASE TABLE')

In Connector.php line 70:

SQLSTATE[HY000] [2002] Connection refused

Starting periodic command scheduler: cron.
Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Starting Apache httpd web server: apache2.

2、root@8dd6d0a341e3:/var/www/html# php artisan code6:user-list

In Connection.php line 671:

SQLSTATE[HY000] [2002] Connection refused (SQL: select email from user)

In Connector.php line 70:

SQLSTATE[HY000] [2002] Connection refused

通知处的配置密码能不能打码?

现在通知那里的邮件密码 授权码和一些接口配置,都是明文直接写着的,这样在企业内部比较容易泄密。能不能把这里密码等敏感字段模糊处理一下。

能否新增两个功能?

1、筛选出根据仓库关键字筛选;目前的功能为爬到的信息有仓库关键字信息,但筛选条件没有。
2、扫描结果列能否增加一个新增一个字段:“文件的最近更新时间”,同样可对此字段筛选查看

增加用户报错

docker run -d -p 8088:80 -e MYSQL_HOST=127.0.0.1 -e MYSQL_PORT=3306 -e MYSQL_DATABASE=code6 -e MYSQL_USERNAME=root 。。。

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from user where (email = [email protected]) limit 1)

数据库用户权限
mysql> select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |

通知能否显示详细数据,而不再是数量

编码小六是我用过目前最用的github监测工具了,有了完整的生命周期,我已经向全公司详细介绍了这种封工具的优点,自己也做了一些二次开发。
但有一个问题就是,邮件通知,或者其他通知,不会展示目标数据,只显示一个数据,可否把正交数据也一并放到通知中????

扫描不启动

师傅您好,我按照您的docker要求配置成功之后,按此新建了扫描项目:
image
但是发现扫描并没有启动,他的最近扫描时间永远是空的,也没有任何东西扫描出来,
image

不知道我应该直接就是填写关键字还是需要填写github的搜索语法

进度问题

在前端没办法查看扫描状态,在后端怎么观察扫描是否正常?

码小六升级问题

码小六之前是docker搭建的,请问如何做到平滑升级到最版版本,请指教 谢谢

创建容器的时候,拒绝对资源的访问请求

1.我查了我的IP,正常访问数据库
image
2.启动容器(宿主机映射端口 666 与 MySQL 连接参数请根据情况修改,容器启动将自动连接 MySQL 并导入数据表)
image
3.选择三个任意一个镜像都报错;
image
image
image
image

接下来不知道如何创建容器,请麻烦帮忙解答;非常感谢

数据库错误

docker 部署提示
`
In Connection.php line 671:

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from user where (email = [email protected]) limit 1)

In Connector.php line 70:

SQLSTATE[HY000] [2002] Connection refused
docker logs 提示
Application key set successfully.

In Connection.php line 671:

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_s
chema.tables where table_schema = code6 and table_name = migrations and tab
le_type = 'BASE TABLE')

In Connector.php line 70:

SQLSTATE[HY000] [2002] Connection refused
`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.