当我在GitHub搜索框里敲下 \"target.com\" \"password\",三分钟后,这家公司的数据库密码躺在了我面前
原创
逍遥
逍遥
昆仑AI安全实验室
2026年8月31日 16:46
广东
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
上周帮一个客户做暴露面排查,我在GitHub搜索框里输入了他们公司的域名加上\"password\"关键词,按回车。搜索结果第一条,是公司一个外包工程师的私有仓库转公开了,里面有一个测试用的配置文件,数据库密码、阿里云AK/SK、企业微信机器人Webhook,全在。这个仓库四年前就在了,一直没人删。
这不是运气。GitHub已经成为2026年企业敏感信息泄露最大的“黑市”——免费、公开、搜索引擎直达。而大多数公司对此一无所知。今天我把用GitHub搜索语法挖敏感信息的完整方法论公开,全是实操,不玩虚的。
一、基础搜索语法:从关键词到精确命中
GitHub的搜索框对英文关键词支持极好,但很多新手只会搜公司名,结果被海量的正常仓库淹没。真正的秘诀是组合关键词+过滤符。
最常用的组合:
\"target.com\" \"password\"\"target.com\" \"api_key\"\"target.com\" \"secret_key\"\"target.com\" \"access_key\"\"target.com\" \"token\"
替换target.com为目标公司的域名,每条都能给你惊喜。但精确度最高的还是下面这些过滤符。
文件类型过滤:
\"target.com\" filename:.env\"target.com\" filename:.env.local\"target.com\" filename:config.php\"target.com\" filename:database.yml\"target.com\" extension:sql\"target.com\" extension:pem
filename:指定文件名,extension:指定文件扩展名。这两个过滤符是挖敏感信息的利器。
路径过滤:
\"target.com\" path:config\"target.com\" path:deploy\"target.com\" path:server
path:用来限定文件所在目录。很多敏感配置就在config、deploy、server这些目录下。
组织级搜索:
如果你知道目标公司的GitHub组织名(比如@companyname),直接搜:
org:companyname \"password\"org:companyname \"secret\"org:companyname \"internal\"
这能锁定该公司所有公开仓库,再从中筛敏感信息,命中率极高。
二、2026年的新姿势:动态监控和自动化
手动搜索效率太低,新泄露每时每刻都在发生。2026年主流的做法是自动化监控——把目标公司的关键词写进脚本,每六小时跑一次,一旦发现新泄露立即告警。
我常用的工具链:
1. Gitleaks
一款开源的静态扫描工具,专为在Git仓库中查找硬编码的密码、API密钥和令牌而设计。可以扫描单个仓库,也可以批量扫描某个用户或组织的所有公开仓库。
# 扫描单个仓库gitleaks detect --source=https://github.com/user/repo.git
# 扫描整个组织gitleaks detect --source=https://github.com/orgname --report-format=json --report-path=results.json
2. TruffleHog
另一款神器,专门扫描提交历史中的高熵字符串。很多开发者把密码提交后发现了,删掉文件又提交,但Git历史里还留着。TruffleHog能翻历史,把那些被“删除”的密码全挖出来。
trufflehog github --org=target-org --only-verified
--only-verified参数会调用服务自动验证密钥是否仍有效,避免你拿到一堆死密钥浪费时间。
3. GitHound
专为攻击者设计的工具,用GitHub的代码搜索API批量搜索敏感信息。支持正则规则、自定义关键词、结果去重。配合--pages参数可以翻页搜索,覆盖面极广。
githound --subdomain-file targets.txt --threads 100
4. AI辅助二次筛选
2026年我加入了一步新操作:把自动化工具的输出丢给AI,让它帮我判断哪些是真正有价值的凭据、哪些是误报。AI能从语义层面识别“这看起来像数据库密码”和“这是系统生成的随机token”。这一步把人工审计的时间压缩了80%。
三、实战案例:三小时,三个高危
下面分享三个最近的真实案例,均已脱敏。
案例一:某电商公司的数据库密码
搜索\"company.com\" filename:.env,找到该公司一个前端工程师的公开仓库。.env文件里硬编码了MySQL的生产密码和Redis密码。我尝试连接,成功进入数据库,里面有300万条订单数据和用户手机号。高危,赏金12000元。
案例二:某SaaS平台的云服务密钥
搜索\"company.com\" \"access_key\",找到该公司一个测试脚本文件,里面写着AWS的AccessKey和SecretKey。验证后发现权限是AdministratorAccess,能完全控制他们所有的云上资产。严重,赏金18000元。
案例三:某金融科技公司的内部API Token
搜索\"company.com\" path:deploy,找到一个部署脚本,里面写着运维人员在服务器上自动配置环境变量的命令,包含Grafana管理密码、Prometheus Token、以及内网堡垒机的SSH密钥。顺着这些信息,几乎可以重建他们的整个运维体系。严重,赏金15000元。
四、为什么GitHub泄露在2026年依然泛滥?
1. 开发者的安全意识没跟上。 很多开发者认为“私有仓库”就是安全的,但他们不知道GitHub的公开仓库默认全网可见,搜索引擎能爬取。还有些人把私有仓库转公开用于部署,转完就忘了。
2. 历史提交成为“僵尸坟墓”。 即使现在删除了敏感文件,Git历史里还留着。攻击者用TruffleHog这样的工具能轻松翻出来。
3. 自动化提交中夹带私货。 CI/CD流水线在自动构建时,可能把环境变量、配置文件一起提交到公开仓库。开发团队根本没审查过这些自动提交的内容。
4. 外包和离职员工的“遗产”。 外包工程师为了方便,经常把带密码的项目推到自己的公开GitHub上。员工离职后,这些仓库往往无人管理,一直在泄露。
五、防御:从“找不到”到“不怕找”
对于企业:
- 强制使用私有仓库,禁止任何公开仓库包含公司代码或配置。
- 在CI/CD流水线中集成Gitleaks或TruffleHog,在代码提交时自动扫描,发现敏感信息直接阻断。
- 定期巡检:每月用GitHound等工具搜索公司域名和关键词,发现泄露立即处理。
- 对员工进行Git安全培训,明确“禁止将任何内部配置提交到公开仓库”的底线。
对于安全研究者:
- 在SRC授权范围内使用这些技术。未授权搜索、验证他人系统属于违法行为。
- 提交报告时,附上完整的搜索步骤和验证结果,能显著提高报告质量。
- 关注目标公司的外包项目、旧的子域名、以及历史仓库,这些都是高发泄露点。
六、写在最后
GitHub是一个巨大的敏感信息富集地。它不像暗网那样隐蔽,反而光明正大,谁都能搜到。这种公开性让攻击者的成本极低——一个搜索框加几行语法,就能找到别人花了几百万建起来的防线后面的密码。
对企业来说,这是最不该忽视的泄露面。对安全研究者来说,这是最直接的漏洞来源之一。下次你在GitHub搜索框里敲下\"target.com\" \"password\"的时候,记得先确认目标在SRC授权范围内,然后准备好迎接那些“意外惊喜”。
严正声明
本文所述技术仅用于合法授权的安全测试和暴露面排查。未经授权搜索、验证他人系统属于违法行为,与作者无关。请遵守法律法规,在授权范围内进行安全研究。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论