网易首页 > 网易号 > 正文 申请入驻

他把GitHub密钥全删了,3周后生产环境差点被一锅端

0
分享至


去年Codecov泄露事件后,一位工程师花了两周时间做了个实验:如果攻击者已经混进了你的CI/CD流水线,什么防御手段真的能挡住他们?

结果让他后背发凉——大多数团队的流水线,距离生产环境被接管只差一个被污染的依赖包。

他把自己的实验过程公开了。不是理论推演,是真刀真枪地试了一圈:强制签名提交、换掉所有长期密钥、给容器加沙箱、搞无密钥签名。每一步都踩了坑,有些坑让他凌晨四点还在调配置。

第一道防线:让管理员也得找人批条子

他首先锁死了代码仓库的准入规则。强制签名提交,强制代码审查,连管理员权限也不放过。

「我知道这会让快速迭代变卡,」他在实验笔记里写,「但如果不这么干,一个被攻破的runner(运行器)就能重写你的主干历史,想推什么推什么。」

这个场景他反复推演:攻击者拿到某个开发者的GitHub账号,或者某个Action被植入恶意代码。没有强制审查的话,恶意提交可以直接进主干,然后跟着流水线自动部署。

代价是明显的。小团队里本来一个人就能 hotfix(热修复)上线,现在得等第二个人醒着。但他算了一笔账:一次生产事故的平均修复时间是6小时,而强制审查增加的延迟通常不到30分钟。

第二道防线:把AWS密钥从GitHub里连根拔掉

真正让他失眠的是另一件事。

「一个被攻破的GitHub Action在你的流水线里跑,它读到你的AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,发给外部服务器。几秒钟后,别人就在往你的生产账号部署了。」


他干掉了所有长期有效的AWS密钥,换成OIDC(开放ID连接)。原理不复杂:runner向GitHub申请一个短期JWT令牌,AWS STS(安全令牌服务)把它换成临时凭证。没有密钥躺在GitHub的secrets里,攻击者就算拿到 runner 权限,也只能窃听到一个几分钟就过期的令牌。

配置过程却是一场噩梦。第一个错误是AccessDenied,持续了4小时。最后发现是IAM信任策略没接受GitHub的audience字段。

「AWS的OIDC文档像是从来没调过403的人写的,」他吐槽。但调通之后,整个攻击面缩小了一大截——哪怕某个job被攻破,凭证过期速度够快,能把爆炸半径限制在可接受范围。

他贴出了关键配置片段:权限块里必须声明id-token: write,否则拿不到JWT。这个细节文档里写了,但藏在第三层链接里。

第三道防线:给软件供应链上户口

代码来源搞定了,依赖和制品怎么办?

他用Syft生成SPDX(软件包数据交换格式)和CycloneDX格式的物料清单,基本上开箱即用。麻烦的是签名——最后选了Cosign做无密钥签名,依托Sigstore(签名存储)基础设施。

「Sigstore的流程一旦理解就不难了,但第一次绝对不明显。我把文档读了三次才搞明白『密钥』到底从哪来。」

相比GPG密钥管理的地狱——私钥轮换、谁保管签名密钥、离职人员怎么处理——无密钥方案把身份绑定到GitHub OIDC。验证时只需要一条命令,检查证书身份是否匹配GitHub域名模式。

他列了一个常见故障:如果验证失败提示「no matching signatures」,通常是身份没在策略里映射对。这个错误信息足够模糊,能让人排查两小时。

第四道防线:容器里再套一层牢笼


Docker的隔离他信不过,试了gVisor(runsc运行时)。

这部分「很痛苦」。自建runner、cgroups(控制组)配置冲突、随机报「unsupported runtime」错误,熬了几个晚上。

他没说最后有没有完全调通,只提了一句「仍在折腾」。但方向是明确的:如果构建环境本身不可信,就在它和宿主机之间再加一层系统调用拦截。

成本清单:哪些值得,哪些还在流血

他最后摊了牌——

强制签名和审查:值得。摩擦可控,收益明确。

OIDC换密钥:值得。文档烂,但一次配好长期省心。

SBOM(软件物料清单)和无密钥签名:值得。供应链攻击越来越多,这成了基础 hygiene(卫生措施)。

gVisor加固:待定。投入产出比还没算清楚,小团队可能扛不住这个维护负担。

整篇实验笔记里最扎眼的是一个细节:他提到某个配置错误「浪费了3小时」,另一个「浪费了4小时」。这些数字背后是一个资深工程师的时间,换成经验更少的人可能是三倍。

安全加固的悖论在于,它总是和效率打架。但Codecov事件证明,不打这一架的后果更贵。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
沈阳药科大学,最新Science子刊,被Nature亮点报道:用猪精液制成眼药水,穿透屏障,实现无创治疗!

沈阳药科大学,最新Science子刊,被Nature亮点报道:用猪精液制成眼药水,穿透屏障,实现无创治疗!

高分子科学前沿
2026-03-30 11:03:48
Claude Code创始人:我所有的代码都是AI写的

Claude Code创始人:我所有的代码都是AI写的

顶级大佬思维
2026-03-30 11:42:17
突发利空!A股跳水超4300家下跌,3月官方制造业PMI为50.4%超预期

突发利空!A股跳水超4300家下跌,3月官方制造业PMI为50.4%超预期

看财经show
2026-03-31 17:25:50
刚刚,大利好!

刚刚,大利好!

新浪财经
2026-03-31 18:05:57
上海电信发生大范围故障

上海电信发生大范围故障

最通信
2026-03-31 17:11:52
以色列与伊朗会成为最好的朋友

以色列与伊朗会成为最好的朋友

凯利经济观察
2026-03-31 13:21:07
美国国防部长:考虑到部分盟友拒绝提供帮助,特朗普将在对伊朗军事行动结束后就北约的未来作出决定

美国国防部长:考虑到部分盟友拒绝提供帮助,特朗普将在对伊朗军事行动结束后就北约的未来作出决定

潇湘晨报
2026-03-31 21:53:15
美防长:特朗普将在对伊军事行动结束后就北约的未来作出决定

美防长:特朗普将在对伊军事行动结束后就北约的未来作出决定

澎湃新闻
2026-03-31 21:48:05
比亚迪:净减员10万人!

比亚迪:净减员10万人!

品牌头版
2026-03-30 17:00:40
浙江东阳,33 岁的男子,在母亲长眠的公墓旁,在车里结束了生命

浙江东阳,33 岁的男子,在母亲长眠的公墓旁,在车里结束了生命

魔都姐姐杂谈
2026-03-30 19:25:57
浙江某设计院专负的糜烂性生活太震撼!

浙江某设计院专负的糜烂性生活太震撼!

黯泉
2026-03-31 19:46:41
风云突变!郑丽文访陆公布第二天,国民党内大佬态度纷纷转变

风云突变!郑丽文访陆公布第二天,国民党内大佬态度纷纷转变

阿离家居
2026-03-31 17:25:01
李世民在HK风评很差?为何教科书上全是负面评价?

李世民在HK风评很差?为何教科书上全是负面评价?

小豫讲故事
2026-03-31 06:00:03
张雪机车销售称夺冠后两三天内订单大涨,已排至6月 车主:不只为情怀买单,也看重其性价比

张雪机车销售称夺冠后两三天内订单大涨,已排至6月 车主:不只为情怀买单,也看重其性价比

红星新闻
2026-03-31 13:49:17
现在全国人都达成默契:电话一律不接,管你是谁!这是反诈天花板

现在全国人都达成默契:电话一律不接,管你是谁!这是反诈天花板

王晓爱体彩
2026-03-31 11:41:21
张雪三天涨粉超百万,机车订单排到6月,赞助商东鹏饮料市值一日蒸发逾百亿

张雪三天涨粉超百万,机车订单排到6月,赞助商东鹏饮料市值一日蒸发逾百亿

21世纪经济报道
2026-03-31 23:16:19
演员陈妍希突发意外!已紧急手术

演员陈妍希突发意外!已紧急手术

大象新闻
2026-03-31 19:13:09
自基耶利尼以来,巴斯托尼是首位世预赛染红的意大利球员

自基耶利尼以来,巴斯托尼是首位世预赛染红的意大利球员

懂球帝
2026-04-01 03:53:18
年仅40岁!山东老板周新峰去世,腰疼查出肝癌晚期,悔恨酗酒熬夜

年仅40岁!山东老板周新峰去世,腰疼查出肝癌晚期,悔恨酗酒熬夜

川渝视觉
2026-03-31 22:22:10
5名领导干部因破坏营商环境被查处通报

5名领导干部因破坏营商环境被查处通报

吉刻新闻
2026-03-31 21:37:51
2026-04-01 04:48:49
我是一个养虾人
我是一个养虾人
有态度网友ytd
540文章数 3关注度
往期回顾 全部

科技要闻

华为2025年销售收入8809亿,净利润680亿元

头条要闻

伊朗总统:愿意结束战争 前提是诉求得到满足

头条要闻

伊朗总统:愿意结束战争 前提是诉求得到满足

体育要闻

县城修车工,用20年成为世界冠军

娱乐要闻

《月鳞绮纪》空降 鞠婧祎却被举报偷税

财经要闻

油价暴涨 我们的生活成本会飙升多少?

汽车要闻

腾势Z9GT到底GT在哪?

态度原创

游戏
健康
旅游
公开课
军事航空

上一秒还在嘲笑瓦学弟,下一秒就去“抗癌”了

干细胞抗衰4大误区,90%的人都中招

旅游要闻

沿沪宁好去处丨上海西站出发,逛花海、品早茶、看球赛!泰州发布三大春季主题线路

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普:即使霍尔木兹海峡仍关闭 也愿意结束战争

无障碍浏览 进入关怀版