一个叫“Private-CISA”的 GitHub 账号,实际是公开的。

这已经够荒诞。更荒诞的是,里面据称放过 AWS GovCloud 密钥、GitHub 应用私钥、内部系统凭据;操作的人还是拥有 CISA 代码开发平台管理权限的承包商。

CISA 是美国负责网络安全和关键基础设施安全的机构。它平时提醒别人别乱放密钥、别暴露攻击面。结果这回,守门人先把钥匙挂到了门口。

相比最早那句“承包商公开仓库暴露敏感凭据”,现在事情的轮廓更清楚,也更难看:这不像一次手滑提交,更像长期把公开 GitHub 当工作草稿区和同步盘。

事实很短,但风险不短

KrebsOnSecurity 披露,一名拥有 CISA 代码开发平台管理权限的承包商,把含有敏感凭据的资料发布到公开 GitHub 账号“Private-CISA”。

已知关键信息可以压到几行:

问题目前已知为什么要紧
泄露了什么AWS GovCloud 密钥、GitHub 应用私钥、多类内部系统凭据可能触达政府云资源、代码库和内部链路
仓库状态名为“Private-CISA”,但公开可见“私有”只是名字,不是权限
时间窗口专家判断仓库最早创建于 2025 年 11 月,部分高敏感信息在 2026 年 4 月底加入暴露窗口可能不是几分钟、几小时
权限背景承包商拥有 CISA 代码开发平台管理权限问题从个人失误扩大到权限治理
官方回应CISA 称暂无迹象显示敏感数据遭攻破,同时仍在轮换、作废泄露凭据“没看到被攻破”不等于“没有风险”

CISA 现在说没有迹象显示敏感数据因该事件被攻破。这个说法要按字面读。

它不是“没有影响”。也不是“全部控制住”。

它只表示:截至当前,CISA 没有看到被利用的证据。与此同时,CISA 仍在和相关方、供应商处理已识别泄露凭据的轮换与作废。

对安全团队来说,这一步很现实:密钥一旦公开,默认就该按已泄露处理。你不能赌“没人看见”。公开 GitHub 上的 secret,早就不是只给人看的东西;有大量自动化扫描器盯着。

最刺眼的不是误提交,而是绕开防线

这起事件最刺眼的一点,是提交记录显示该承包商曾关闭 GitHub 内置的敏感凭据发布保护。

这就把性质往前推了一步。

普通的“误推密钥”常见。开发者把 .env、配置文件、私钥不小心提交上去,GitHub secret scanning、push protection、GitGuardian、TruffleHog 这类工具可能会拦、会报、会提醒。

但如果一个高权限人员在个人公开账号里长期同步资料,还关闭了本该报警的保护机制,工具就很难当最后一道门。

这不是扫描器买少了。

这是组织没有把人、权限、设备、代码平台边界管住。

TruffleHog 创始人 Dylan Ayrey 提到,泄露的一把 RSA 私钥一度可访问 CISA 企业账号下的 GitHub 应用。该应用安装在 CISA-IT 组织中,并拥有所有代码库的完整访问权限。KrebsOnSecurity 在 5 月 20 日通知 CISA 后,该私钥随后被作废。

如果这个描述准确,风险就不只是“看见了几段代码”。

可能触达的是:

  • 读取私有代码库;
  • 访问仓库秘密;
  • 注册恶意自托管 runner,污染 CI/CD 流水线;
  • 修改分支保护、webhook、部署密钥等管理设置。

CI/CD 是现代软件交付的输送带。攻击者如果只看代码,风险还停在侦察层;如果能碰构建、测试、部署链路,问题就变成供应链污染。

这也是政府机构最怕的类型:表面上只是一个凭据,背后连着构建系统、云资源、内部权限和外部供应商。

国会追的不是“谁手滑”,而是“谁放权”

美国国会议员已经开始要答案。

参议员 Maggie Hassan 致信 CISA 代理局长 Nick Andersen,要求解释事件如何发生。众议院国土安全委员会资深成员 Bennie Thompson 和 Delia Ramirez 也发函,追问承包商支持管理、安全文化和内部控制。

这几个词听起来像官样文章,但方向是对的。

因为真正该问的不是“这个承包商为什么蠢”。真正该问的是:

  • 为什么承包商拥有这么高的代码平台管理权限?
  • 这些权限是否符合最小权限原则?
  • 个人 GitHub 账号和政府开发资产之间有没有硬边界?
  • 组织级 push protection 是否强制开启?
  • 公开仓库里出现 CISA 相关资料,为什么没有更早被发现?
  • 密钥轮换、日志审计、访问回溯由谁负责?

CISA 还处在人员动荡的背景里。新材料提到,此前 CISA 在特朗普政府推动的提前退休、买断和辞职中损失超过三分之一员工,多个高级职位也出现流失。

这不能直接证明泄露就是人员流失造成的。证据没到那一步。

但它至少说明一件事:执行压力会上升。密钥治理、权限审计、承包商监督、事件响应,这些活听起来像流程,实际都靠稳定团队一点点盯。人走了,责任链会变薄。责任链一薄,例外就开始变成日常。

“千里之堤,溃于蚁穴。”这句话用在这里不算夸张。现代安全里的“蚁穴”往往不是一个 0day,而是一个没人认真管的高权限账号、一条没人追的外传路径、一把没人及时轮换的密钥。

受影响最大的,是政府云团队和承包商生态

普通用户不用把这件事理解成“我的账号马上危险”。目前公开信息没有指向普通公众数据已经外泄或被利用。

最直接受影响的是两类人。

一类是政府云安全团队。

他们接下来要面对的是很具体的脏活:查哪些密钥泄露过,哪些资源可能被访问过,哪些日志还在,哪些权限需要回收,哪些 CI/CD 配置要重审。最麻烦的是时间窗口。仓库可能从 2025 年 11 月就存在,部分高敏感信息在 2026 年 4 月底加入。窗口越长,排查越难。

另一类是承包商。

这件事之后,采购方大概率会要求更细的权限清单、更完整的日志留存、更频繁的密钥轮换证明,以及更硬的个人代码平台使用边界。合规成本会上去。交付速度会受影响。承包商会抱怨流程变重,但这笔账很难再省。

安全行业有个老问题:大家都爱买工具,因为工具有发票、有仪表盘、有汇报截图。权限治理不一样。它慢、碎、烦,还容易得罪人。

但这次恰好说明,密钥治理不是采购项,是制度工程。

买扫描器只能降低误推概率。管住高权限人员怎么工作,才是硬活。

我的判断:这次少见地把丑话说到了台面上

CISA 这件事最有价值的地方,可能不是“又一个安全机构翻车”。这种嘲讽太便宜。

真正有价值的是,它把政府数字化外包里的老问题照出来了:权力给出去了,边界没跟上;责任写在合同里,控制没长在系统里。

承包商模式本身不是原罪。政府机构不可能所有系统都自己写,云迁移、代码平台、自动化运维都要外部力量。但一旦承包商拿到接近核心链路的管理权限,就不能再按“外包人员”那套松散方式管。

你让他碰 GovCloud、GitHub 企业组织、CI/CD,那他就已经站在生产链路边上了。

站在这个位置的人,不能靠自觉。

我不太买账的是那种“加强安全意识培训”的轻飘飘结论。培训有用,但不是主菜。一个人能把敏感凭据放进公开仓库,还能关闭保护机制,说明系统没有在关键点上硬拦。

安全治理里最危险的幻觉,是把制度失败包装成个人粗心。

个人会犯错。组织的任务就是假设人会犯错,然后让错误难以扩大。尤其是 CISA 这种机构,不能只要求别人做到零信任,自己却在承包商权限上搞“熟人信任”。

这事接下来不用看口号,看三件小事就够:

  • CISA 是否能完成所有已识别凭据的轮换、作废,并说明范围;
  • 是否解释承包商为何拥有如此高权限,以及权限是否被收回或拆分;
  • GitHub 组织级策略、承包商设备、个人账号使用边界是否被强制收紧。

如果这些没有落地,事件报告写得再漂亮,也只是把钥匙换了一串,门还是原来的门。

历史上很多基础设施事故都不是败在单点技术,而是败在“没人觉得这是自己的最后责任”。铁路、电网、金融清算系统都走过这条路。技术越复杂,责任越容易被切碎;责任越碎,事故越像偶然。

但偶然多了,就是制度。

CISA 的尴尬在于,它本来就是提醒别人别这么干的机构。现在它给全行业上了一课,只是这课的学费由自己先交。