错误但快速的云基础设施配置方式 - 安全风险警示
以"最大功率"方式配置云基础设施
今天我们采用"最大功率"方式配置云基础设施:将自动化与未经检查的 AI 输出相结合。这种方法产生的云基础设施代码虽然能运行,却具有可怕的安全特性。
简而言之,Claude 和 ChatGPT 等 AI 工具会轻易提供极其糟糕的云基础设施配置代码,比如使用常见硬编码密码的代码。这些工具还会热情地建议你使用"随机"密码,而由于 LLM 生成内容的特性,这些密码根本谈不上随机。即使你试图聪明地要求这些工具提供密码生成代码,这些代码也充满严重的安全漏洞。
创建 Windows VM 的陷阱
假设你是云开发新手,想用 Terraform 在 Microsoft Azure 上创建 Windows VM 并通过 RDP 连接。我们询问 ChatGPT 4o 和 Claude 的建议时,发现它们输出的代码包含硬编码凭证。虽然 Claude 提醒要修改管理员密码,但有多少用户会真正执行呢?
"更好"的凭证请求
当我们明确要求提供更好的凭证时,ChatGPT 输出的密码列表根本不是随机的!这些工具没有使用代码执行功能,只是输出一些最可能的 token 组合。更糟的是,不同用户可能获得完全相同的"密码"列表。
密码生成的缺陷
我们尝试让 AI 工具编写密码生成代码时,发现两个严重问题:
ChatGPT 和 Claude 的解决方案都使用 Python 的 random 模块,这是基于系统时间的伪随机生成器
攻击者可以轻松重现过去一年内该脚本生成的所有可能密码正确的做法应该是使用 Python 的 secrets 模块。
解决方案建议
云服务商应主动拦截常见硬编码凭证和不良基础设施模式
LLM 供应商应增加生成不安全代码的难度,避免成为默认行为
建议对云基础设施进行威胁建模评估,识别自动化部署中的潜在攻击路径
"有三种做事方式:正确的方式、错误的方式,以及最大功率方式。"
"那不是错误的方式吗?"
"是的,但更快!"
——荷马·辛普森
云基础设施十分复杂,除了硬编码凭证和弱随机性问题外,大型自动化基础设施部署中还潜伏着更多安全隐患。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码

评论