安全AI 编程最佳实践

AI 生成代码的安全红线:别让便利变成漏洞

2026-08-14 · 云趣动力

风险从哪来

AI 编程助手倾向于生成「能跑就行」的代码,而安全往往不是它的默认目标。当提示里没有约束时,它可能写出拼接 SQL 的查询、明文存储的密码、或暴露内部错误的接口。便利与漏洞之间,常常只差一句没有明确的要求。

三个常见陷阱

  • 注入类漏洞:直接拼接用户输入到 SQL / 命令 / HTML,缺少参数化与转义;
  • 硬编码密钥:把 API Key、数据库密码写进源码,随后被提交到仓库;
  • 依赖投毒: blindly 接受 AI 推荐的冷门第三方包,未核验来源与维护状况。

用提示把安全前置

与其事后修漏洞,不如在提示里写明约束:使用参数化查询、密钥走环境变量、输入做白名单校验、错误不暴露内部细节。

把安全规则写进 CLAUDE.md.cursorrules,让每次生成都默认遵守,比靠记忆更可靠。

人工审查清单

  1. 所有外部输入是否都经过校验与转义?
  2. 是否有密钥被写死在代码或配置里?
  3. 依赖是否来自可信、活跃维护的源?
  4. 错误信息是否泄露了堆栈或内部路径?

小结

AI 降低了写代码的门槛,但没有降低安全的门槛。把安全当成提示的一部分、审查的一项、习惯的一种,便利才不会变成漏洞。

← 返回文章列表