CISA Exposed AWS GovCloud Keys on GitHub for Six Months(2026-07-14)
一场持续半年的“钥匙在门外”事件
2026年6月,一场本应避免的安全乌龙被曝光:美国网络安全与基础设施安全局(CISA)的AWS GovCloud密钥竟然在GitHub上裸奔了整整六个月。这些密钥不是普通的云钥匙——它们可以访问为美国政府最高机密任务设计的AWS GovCloud环境,里面存放着可能影响国家安全的关键数据。
事件并非黑客高深攻击所致,而是某位CISA员工在提交代码时,将包含API密钥的配置文件连同项目代码一起推到了公共仓库。直到六个月后,安全研究员Reece Hartley在一次例行扫描中发现并通报,CISA才紧急撤销密钥。幸运的是,尚未发现这些密钥被恶意利用的证据。
为何这起事件值得每个云使用者警惕?
案例1:GitHub不是保险箱
- 数据:根据GitGuardian 2025年报告,全球公共仓库每天平均暴露超过1.5万个云密钥。其中政府机构占比从2024年的3%骤升至12%,增速在所有行业中最快。
- 教训:即使是被视为“安全圣地”的美国政府云环境,也无法抵御人为疏忽。CISA作为网络安全主管机构,自身却犯下最基础的“硬编码密钥”错误,堪称教科书级的反面案例。
案例2:六个月的“潜伏期”意味着什么?
- 风险:一个暴露在公共仓库的GovCloud密钥,意味着任何拥有GitHub账户的人(包括外国情报机构、黑客组织)都有机会直接调用AWS API,读取S3存储桶中的敏感数据、启动新实例、甚至篡改配置。
- 数据支撑:AWS的审计日志显示,密钥暴露期间至少有37次来自未知IP的验证请求——虽然CISA声称未造成实质损失,但安全圈普遍认为“未检测到=未发生”的结论过于乐观。
如何避免成为下一个CISA?——实用建议
通过“三个绝不”建立防线
- 绝不硬编码密钥:在代码、配置文件中使用
AWS_ACCESS_KEY_ID=...这种明文字段,等于把家门钥匙挂在大门上。务必使用环境变量或AWS Secrets Manager等托管服务。 - 绝不忽视预提交钩子:配置Git挂钩(如
git-secrets或talisman),在代码提交前自动扫描敏感信息。如果CISA采用了这个工具,根本不会让密钥流出。 - 绝不使用高权限密钥:为每个服务创建最小权限的IAM用户,并启用“智能策略”(如限定仅从特定IP或VPC调用)。GovCloud密钥如果绑定的是只读且IP限制的策略,即便暴露危险也会大幅降低。
企业应当“被动扫描+主动轮换”
- 被动层:在CI/CD(持续集成/持续部署)流水线中加入密钥扫描步骤,一旦发现异常立即拦截构建和部署。
- 主动层:将云密钥的自动轮换周期从默认的90天缩短至30天,并启用“由事件驱动”的轮换机制(如检测到GitHub上出现疑似密钥片段时自动吊销)。
你的行动号召
今天就做三件事:
- 打开你的GitHub仓库,用搜索功能检索
AKIA、aws_secret_access_key、-----BEGIN RSA PRIVATE KEY-----等特征字符串,清除所有硬编码密钥。 - 为你的主云账户启用 AWS CloudTrail Insights,它能自动检测API调用异常(比如过去三个月内从未使用的密钥突然被访问)。
- 将本篇文章转发给你的DevOps团队——因为下一次“钥匙在门外”事件,可能就发生在你负责的项目中。
记住:安全不是终点,而是一次次防患于未然的日常习惯。
免责声明:
本文内容基于2026年7月以前公开披露的安全事件、行业报告及通用安全最佳实践编写。文中提及的CISA事件细节引用自安全研究员Reece Hartley的发现过程及媒体公开报道,不包含任何未公开的敏感信息。读者应将文中建议视为增强自身安全意识的参考,而非针对具体组织的操作指令。对于因未遵循最新云服务商安全指南而引发的任何损失,本文作者及平台不承担相关责任。执行任何安全变更前,请务必先行测试并参照官方文档。