错误但快速的云基础设施配置方式 - 安全风险警示
以"最大功率"方式配置云基础设施
今天我们采用"最大功率"方式配置云基础设施:将自动化与未经检查的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智能小助手)
公众号二维码