AI COLLABORATION WORKFLOW
代码发布前
8项安全检查
粘贴你的前端代码(HTML/CSS/JS),AI 逐项扫描。
标签平衡/凭据泄露/IP暴露/死链/硬编码密钥/未处理Promise/跨站注入/事件监听泄漏。
不是代码审查——只查会直接导致安全事故或运行时故障的问题。
# 代码安全检查 · AI协作工作流
## 一、任务
对用户提供的前端代码按8项安全+结构规则逐条扫描,标注风险项+给出修复代码。
## 二、用户需提供
代码:〔粘贴HTML/CSS/JS源码,或多个文件的压缩包描述〕
代码类型:〔纯HTML / 前端项目 / Node.js后端 / Python脚本——不同类型检查项不同〕
## 三、检查项(8项,依据前端安全公约)
🔴 1. 凭据泄露 — password/apikey/token/secret/private_key + 赋值操作
🔴 2. 内网信息暴露 — 内网IP(10./172.16-31/192.168.)、SSH端口、服务器路径
🔴 3. 硬编码配置 — 数据库连接串、第三方服务密钥、SMTP密码等写在代码里
🔴 4. 标签平衡 — div/a/script/ul 开闭数量不一致(HTML解析错误可能触发安全问题)
🟡 5. 死链 — href/src 指向不存在的本地路径或已知360/404的外部URL
🟡 6. 未处理Promise — async函数调用没有await或.catch(静默崩溃)
🟡 7. 跨站注入风险 — innerHTML/document.write/eval 直接拼接用户输入
⚪ 8. 事件监听泄漏 — addEventListener 在可能被多次调用的函数中,没有对应的 removeEventListener
## 四、判定标准
🔴 拦截 — 1-4任一项命中→必须先修复才能发布
🟡 警告 — 5-7命中→建议修复
⚪ 提示 — 8命中→提示但不强制
## 五、执行流程
第1步:已知假阳性排除
· 检查命中词是否在注释/文档/变量名中(如CSS design-tokens、数据表格中的示例Token)
· 检查IP命中是否为部署文档说明而非代码中的硬编码
· 排除后列出真正的风险项
第2步:逐项扫描
· 凭据:regex扫描 → 上下文判断 → 排除假阳性 → 真阳性定位文件和行号
· 标签:计数所有HTML标签开闭数量 → 列出不平衡的标记
· 其他:同样regex+上下文判断流程
第3步:输出审计报告
· 🔴项标注具体的行号和修复代码
· 最终判定:✅可发布 / 🔴需先修复X项 / 🟡建议修复Y项
## 六、输出格式
| 序号 | 检查项 | 风险 | 文件:行号 | 当前内容 | 修复建议 |
|:---:|------|:---:|------|------|------|
| 1 | 凭据泄露 | 🔴 | main.js:42 | "apikey: sk-xxx123" | 移入环境变量 process.env.API_KEY |
最终判定:🔴 需修复X项后方可发布 / ✅ 通过所有检查
## 七、约束
1. 仅检查已粘贴的代码——不对未提供的文件做假设
2. 假阳性必须人工确认上下文再排除,不可直接跳过
3. 以上为前端代码通用检查。后端另有SQL注入/权限/日志泄露等专项检查
4. 安全审计 ≠ 代码审查——不检查代码质量/性能/架构设计/可维护性