AI编程工具安全规则指南
由豆包专家 2.1-Turbo基于 OWASP ASVS 5.0.0 提炼,适用于各类 AI 编程工具(Cursor / Trae 等) 一、分层安全规则集 🔴 第一层:铁律(8 条,必须强制执行) 适合放入系统提示词最前面,占比最小、风险最高 永远不要用字符串拼接构建 SQL / NoSQL 查询,必须使用参数化查询或 ORM 永远不要将用户输入传入 eval()、exec()、动态代码执行函数或系统命令 shell 永远不要在代码中硬编码密钥、密码、API Key、Token,必须从环境变量/密钥管理服务读取 输出到 HTML/JS/CSS/URL 前必须做上下文相关的编码转义,防止 XSS 用户输入必须在服务端验证,使用白名单(允许的字符/格式/范围),不依赖客户端验证 密码必须用专用密码哈希函数存储(bcrypt / Argon2 / scrypt),禁止 MD5 / SHA-1 / 普通 SHA-256 文件操作禁止直接使用用户提交的文件名作为路径,防止路径遍历;文件存储名由系统生成 XML / JSON 反序列化不可信数据时,禁用外部实体解析和任意类型实例化(防 XXE / 反序列化漏洞) 🟠 第二层:核心规则(12 条,高风险覆盖) 适合作为代码生成的默认约束,覆盖 OWASP Top 10 全部类别 每个 API 端点 / 数据操作都必须验证授权,不能假设用户已登录就有权限(防 IDOR / BOLA) 会话令牌必须用 CSPRNG 生成(≥128 位熵),认证后轮换,登出后服务端立即失效 Cookie 必须设置 Secure + HttpOnly + SameSite,会话令牌禁止放在 URL / localStorage 加密必须使用标准库和批准算法(AES-GCM、RSA-OAEP、SHA-256+),禁止自研加密、禁止 ECB 模式 所有随机值(令牌、ID、验证码)必须用 CSPRNG,禁止使用 Math.random() / random() 等非安全随机函数 错误响应返回通用消息,禁止向客户端暴露堆栈跟踪、SQL 语句、内部路径、版本号 生产环境禁用调试模式、目录列表、TRACE 方法、GraphQL introspection HTTP 响应必须设置安全头:HSTS、CSP、X-Content-Type-Options、Referrer-Policy 重定向目标必须使用白名单验证,禁止开放重定向;CORS 允许源必须是固定值或白名单 文件上传必须验证内容(magic bytes)+ 扩展名 + 大小,公开目录中的文件不能被当作代码执行 敏感数据不能出现在 URL / 查询字符串 / 日志中,只能放在请求体或授权头中 第三方依赖必须来自可信源,定期更新已知漏洞版本,防依赖混淆攻击 🟡 第三层:增强规则(15 条,纵深防御) 适合在安全要求较高的项目中启用,或作为代码审查 checklist ...