腾讯微信成为 GitHub 秘钥扫描合作伙伴
2022年12月21日 17:11:11 · 本文共 1,728 字阅读时间约 6分钟 · 1,636 次浏览GitHub 已经支持扫描公共存储库和私有存储库关于微信的秘钥、Token,包括微信公众号、小程序、微信支付等功能的秘钥,并转发给腾讯,你将在腾讯收到秘钥泄露的通知。
什么是秘钥泄露
我们在开发软件时需要对接第三方的接口,那就需要秘钥来证明自己的身份,工程师在测试完成后进行代码提交,往往一时疏忽把秘钥一起提交给了代码仓库,其他开发者拉取仓库代码后,你的秘钥就被泄露了。
这个提交代码时提交秘钥的失误操作,真的真的非常常见,我本人、我身边的人、我使用的其他库,都看见过代码中包含秘钥。
GitHub 秘钥扫描合作伙伴计划
GitHub提供秘钥扫描合作伙伴计划,GitHub会扫描仓库,查找已知的密码格式,并上报给合作伙伴,比如你把阿里云的账户秘钥提交到了 GitHub 上,阿里云那边就会收到 GitHub 的通知,并在阿里云管理界面上对你进行提示,告诉你你秘钥可能已经泄露。
如果你是厂商,并且想加入 GitHub 秘钥扫描合作伙伴计划,可以参考:https://docs.github.com/en/developers/overview/secret-scanning-partner-program
目前已知的厂商列表包含了阿里云、 腾讯云、京东云、AWS、Azure、Google Cloud 以及这次新提到的腾讯微信。
所有公开存储库,默认都会开启这个秘钥扫描
为存储库配置机密扫描
- 在存储库的主页。 在存储库名称下,单击“设置”。
- 在边栏的“安全性”部分中,单击“代码安全性和分析”。
- 如果尚未对存储库启用 Advanced Security,请在“GitHub Advanced Security”右侧单击“启用”。
- 查看启用 Advanced Security 的影响,然后单击“为此存储库启用 GitHub Advanced Security”。
- 当您启用 Advanced Security 时,secret scanning 可能会因为组织的设置而自动启用。 如果显示“Secret scanning”带有“启用”按钮,则仍需通过单击“启用”来启用 secret scanning 。 如果你看到“禁用”按钮,则表示 secret scanning 已启用。
GitHub 与腾讯微信的服务
GitHub 会将在仓库中扫描到的密钥转发给腾讯微信,腾讯微信将通知受影响的用户进行警告通知,腾讯微信的相关文档参见:https://pay.weixin.qq.com/docs/merchant/development/key-leak-mitigation-guide.html,GitHub的博客参见:https://github.blog/changelog/2022-12-19-tencent-wechat-is-now-a-github-secret-scanning-partner/
极狐GitLab 的秘钥扫描
极狐GitLab 同样支持秘钥扫描,极狐GitLab 14.5 更新了密钥检测扫描器,以检测 47 种新的 “可识别的” 密钥模式。这使得极狐GitLab 密钥检测的检测范围达到了 90 多个可检测模式。
启用极狐 GitLab 秘钥扫描
你需要具备 GitLab Runner 来运行流水线的能力,通过配置 .gitlab.ci.yml 文件,在底部增加:
include:
- template: Jobs/Secret-Detection.gitlab-ci.yml
在运行流水线时,极狐 GitLab 将进行秘钥扫描,如果你希望了解更多内容,请参见:https://docs.gitlab.com/ee/user/application_security/secret_detection/#supported-secrets
秘钥泄露之后怎么办
首先,你应该立即作废秘钥,申请新的秘钥,然后,你可以从历史记录中完全移除秘钥。
从存储库历史记录中清除文件
警告:任何操作都无法彻底清除,因为秘钥可能已经包含在数据库中、其他分支中、已经被克隆的仓库中、fork的仓库中,一旦提交应该视为已经泄露。
如果将敏感数据(例如密码或 SSH 密钥)提交到 Git 仓库,您可以将其从历史记录中删除。 要从存储库的历史记录中彻底删除不需要的文件,可以使用 git filter-repo 工具。
从存储仓库中删除敏感数据
- 首先,请先下载安装 git-filter-repo 工具。
- 然后克隆最新的存储仓库,并进入仓库目录中。
- 执行 git filter-repo --invert-paths --path <泄露的文件路径>
- 将包含敏感数据的文件添加到 .gitignore,以确保不会意外地再次提交。
- 执行 git push origin --force --all 强制推送本地更改以覆盖线上的存储库,以及您向上推送的所有分支。 需要强制推送才能从提交历史记录中删除敏感数据。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1605491069670129675
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
- 前后端分离项目接口数据加密的秘钥交换逻辑(RSA、AES)
- OmniGraffle 激活/破解 密钥/密匙/Key/License
- Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿
- CleanMyMac X 破解版 [TNT] 4.6.0
- OmniPlan 激活/破解 密钥/密匙/Key/License
- 人大金仓 KingbaseES V8 R3 安装包、驱动包和 License 下载地址
- Parallels Desktop For Mac 16.0.1.48911 破解版 [TNT]
- Parallels Desktop For Mac 15.1.4.47270 破解版 [TNT]
- Sound Control 破解版 2.4.2
- CleanMyMac X 破解版 [TNT] 4.6.5
- 博客完全迁移上阿里云,我所使用的阿里云架构
- 微软确认Windows 10存在bug 部分电脑升级后被冻结
- 大佬们在说的AQS,到底啥是个AQS(AbstractQueuedSynchronizer)同步队列
- 比特币(BTC)钱包客户端区块链数据同步慢,区块链数据离线下载
- Java中说的CAS(compare and swap)是个啥
- 小心免费主题!那些WordPress主题后门,一招拥有管理员权限
- 强烈谴责[wamae.win]恶意反向代理我站并篡改我站网页
- 讨论下Java中的volatile和JMM(Java Memory Model)Java内存模型
- 新版个人网站 NEILREN4J 上线并开源程序源码
- 我站近期遭受到恶意不友好访问攻击公告