美国网络安全和基础设施安全局(CISA)——这个负责保护美国关键基础设施网络安全的联邦机构,最近犯了一个让整个安全圈都感到尴尬的低级错误:一名承包商将AWS GovCloud的访问密钥提交到了公开的GitHub仓库中。
事件经过
据安全记者Brian Krebs报道,直到2026年5月中旬,CISA的一名承包商仍在维护一个公开的GitHub仓库,其中暴露了多个高权限AWS GovCloud账户的凭证,以及大量CISA内部系统的访问信息。
安全专家分析后发现,这个公开仓库中包含了:
- AWS访问密钥(Access Key ID和Secret Access Key)
- CISA内部软件构建、测试和部署流程的详细文件
- 多个高权限GovCloud账户的凭证
- 大量CISA内部系统架构信息
有安全研究人员评价这是”近年来最严重的政府数据泄露之一”。
为什么这件事很重要
AWS GovCloud是专门为美国政府机构设计的隔离云环境,用于处理受控非机密信息(CUI)等敏感数据。泄露的密钥可能允许攻击者:
- 访问CISA在GovCloud中的S3存储桶、EC2实例等AWS服务
- 读取存储在云中的安全评估报告、漏洞信息
- 获取关键基础设施的安全配置信息
- 可能被用于横向渗透到与CISA云环境有连接的其他政府系统
讽刺之处
CISA长期倡导最佳网络安全实践,发布过无数安全指南和建议,要求各机构加强密钥管理、启用多因素认证、遵循最小权限原则。然而,作为美国最高网络安全机构,CISA自己却犯下了”将密钥提交到公开仓库”这种最基础的安全错误。
这种”Do as I say, not as I do”的困境,无疑会削弱CISA在网络安全领域的公信力。
政治背景
值得注意的是,此事件发生在CISA面临政治压力的时期。该机构此前因被指控审查社交媒体内容而受到批评,并面临预算削减和人员裁减的压力。密钥泄露事件进一步加剧了外界对CISA管理能力的质疑。
站长和开发者应该注意什么
这个事件给所有开发者和站长敲响了警钟:密钥管理不是小事,任何人都可能犯这种错误。
必须做到的基本功
- 启用GitHub Secret Scanning:GitHub提供密钥扫描功能,可以自动检测仓库中泄露的密钥
- 使用pre-commit钩子:在代码提交前自动扫描是否包含密钥
- 使用环境变量:永远不要将密钥硬编码在代码中
- 使用.gitignore:确保配置文件不会被提交到仓库
- 定期轮换密钥:即使没有泄露,也应该定期更换访问密钥
- 使用AWS STS临时凭证:优先使用临时安全凭证而非长期访问密钥
推荐工具
- TruffleHog:扫描Git历史中的密钥
- GitLeaks:另一个流行的密钥扫描工具
- detect-secrets:Yelp开源的密钥检测工具
如果密钥已经泄露
- 立即撤销/轮换受损凭证
- 检查Git历史,使用BFG Repo-Cleaner彻底清理
- 审查访问日志,确认密钥是否被恶意使用
- 通知相关方,评估潜在影响范围
密钥泄露是最常见也最容易预防的安全事件之一。无论组织的安全级别多高,人为失误始终是最大的风险因素。与其事后补救,不如在开发流程中建立自动化的密钥防护机制。
本文参考来源:Krebs on Security – CISA Admin Leaked AWS GovCloud Keys on Github











Timothy Gowers Blog – A Recent Experience with ChatGPT 5.5 Pro


暂无评论内容