安全审计 Prompt:独立开发者也能跑的 AppSec 检查(2026)

12 个 AI Prompt,对照 OWASP Top 10:2025 审你的代码——访问控制、认证、密钥、供应链、文件上传、CORS、PII 日志——不雇渗透也能跑出一份「问题 + 修复」清单。

独立项目很少栽在精巧的 0day 上,几乎都是栽在没意思的地方:少一处归属校验、.env 传进了 git、依赖里躺着两年前的 CVE。在 OWASP Top 10:2025 里,访问控制失效(Broken Access Control)依然是头号风险,约 3.7% 的受测应用中招,同一年 SSRF 也被并进了这一类。前 80% 的攻击面不需要请渗透,需要的是有纪律、可复用的检查。下面这 12 个 Prompt 沿着 OWASP 的基础逐项过一遍,输出一份你能在上线前直接照着关掉的”问题 + 修复”清单。

一句话总结

  • 把每个 Prompt 喂给上下文窗口大的模型,让它读完整文件、而不是片段。截至 2026 年 6 月,Claude Opus 4.7 和 Sonnet 4.6(1M token)、Gemini 3.1 Pro(1M)最合适;GPT-5.5 Thinking 适合较短的文件。
  • AI 替代的是”第一遍”,不是整次审计。每一个”ok”都当成”看着没问题,去核实修复并补一个测试”。
  • 依赖类发现一律用真扫描器复核(npm auditpip-auditosv-scanner)——大模型会瞎编 CVE 编号。
  • 下面把每个 Prompt 对应到 OWASP Top 10:2025 的分类,让你的覆盖面可审计,而不是凭感觉。

各 Prompt 对应的 OWASP 风险

OWASP Top 10:2025覆盖它的 Prompt
A01 访问控制失效(含 SSRF)5(授权)、2(输入里的 SSRF)
A02 安全配置错误7(CORS)、11(CSP / 安全头)
A03 软件供应链失效4(依赖)
A04 加密失效1(token / JWT)、3(密钥)
A05 注入2(输入校验)、6(上传)
A06 设计不安全12(STRIDE 威胁建模)
A07 认证失效1(认证流)
A08 数据完整性失效10(webhook 签名)
A09 安全日志与告警失效8(PII 日志)、9(滥用)
A10 异常处理不当8、10(失败时的行为)

这套 Prompt 适合用在哪

  • 上线前安全 pass
  • API / endpoint 评审
  • 认证 / 授权流审计
  • 依赖与供应链审计
  • 事故后加固

1. 认证流审计

请审计下面的认证流。每项给出状态(ok / 有风险 / 已破)、证据(引用行号)、修复方案:token 存储位置、refresh token 轮换、session 过期策略、多设备处理、密码重置链接熵 + TTL、暴力破解 / 限流保护、OAuth state 与 PKCE、JWT 算法与 audience 校验、登录错误是否泄露账号存在性。输出 markdown 表格。

代码:
[paste]

2. 输入校验审计

审计下面 endpoint 的输入校验。每个 endpoint 列:(a) 每个参数是否做了校验(类型、范围、白名单)、(b) 不校验时可能的攻击(SQLi、XSS、路径遍历、SSRF、命令注入、原型污染)、(c) 推荐的最小修复 + 库。问题按 critical / high / medium 排序。

代码:
[paste]

3. 密钥处理审计

请审计下面代码和配置中的密钥处理。检查:硬编码的 API key / token / 密码、前端 bundle 或 source map 里的密钥、被 git 提交的 .env、任何级别日志里出现的密钥、走 URL query 传的密钥、是否有轮换策略。输出:文件:行号、严重度、修复方案。如果有 critical,再给一份"60 分钟内紧急处置"清单(≤5 行)。

代码 + 配置:
[paste]

4. 依赖漏洞检查

下面是 package.json / requirements.txt / Gemfile / go.mod。请识别:(a) 已知 CVE 的包(按你训练数据知识,但标注"需以 npm audit / pip-audit / osv-scanner 复核")、(b) 长期无维护但属于安全关键依赖的包(2 年+ 无 release)、(c) typosquatting 风险、(d) 版本区间过宽,导致可能锁到带漏洞的主版本。给出升级顺序,并标明 breaking change 风险。

清单:
[paste]

模型给的 CVE 列表只是起点假设,不是结论。一定要重跑真扫描器:npm auditpip-audit(PyPA / Trail of Bits 维护)、或者多生态仓库用 osv-scanner——它们是对照 OSV.dev 数据库匹配,而不是靠猜。

5. 授权模型审计

下面是 app 各处的 authz 检查。请梳理并识别:(a) 有认证但没授权检查的 endpoint、(b) 同一资源在不同路由里检查不一致、(c) IDOR 风险(按 ID 访问对象但没校验归属)、(d) 横向 / 纵向提权路径、(e) 用户角色能打到的管理端 endpoint。输出"路由 x 所需角色"矩阵,把漏洞点直接标出来。

代码:
[paste]

6. 文件上传安全审计

下面是文件上传相关代码。请审计:文件类型不限 / 缺 magic byte 校验、文件名路径遍历、content-type 伪造、双扩展名绕过、单文件大小 + 总配额限制、文件存储位置(web 根目录里?S3 公开 ACL?)、病毒 / 恶意文件扫描、图像处理 CVE 暴露面(ImageMagick、sharp)。每个发现给代码级修复。

代码:
[paste]

7. CORS 与 CSRF 审计

下面是 CORS + CSRF 配置和一批改状态的 endpoint。请审计:(a) 过度宽松的 Access-Control-Allow-Origin(`*` 带 credentials、regex 绕过)、(b) 改状态 endpoint 是否缺 CSRF token 或 SameSite=Lax/Strict cookie、(c) preflight 处理、(d) WebSocket 的 origin 检查、(e) 允许列表里的子域接管风险。每项给出具体配置修复。

配置 + 路由:
[paste]

8. 日志与 PII 审计

下面是日志语句和日志保留配置。请识别:哪些日志会输出 PII(邮箱、手机号、全名、IP、设备 ID)、凭据(token、session ID、密码重置 URL)或业务机密。每条给修复建议(哈希、截断、脱敏,或直接删行)。再检查:日志是否上送到第三方?有没有数据主体删除请求(DSAR)路径?认证失败是只记录还是也会告警(OWASP A09)?

代码 + 配置:
[paste]

9. 服务端限流与防滥用审计

请审计下面 endpoint 的限流。每个 endpoint 列:有没有限流、是按 IP / 按用户 / 按 API key、是全局还是单 endpoint、缺限流时的"被滥用代价"(LLM token、短信、邮件、贵查询)。把任何能耗光预算或触发账号锁定式 DOS 的 endpoint 标出来,并给出带理由的限流值建议。

Endpoint:
[paste]

10. Webhook 与对外 API 审计

请审计入站 webhook 和公开 API。检查:(a) 签名校验(HMAC + 常时间比较、时间戳 + nonce 防重放)、(b) 幂等键、(c) 可用时的源 IP 白名单、(d) payload 大小限制、(e) 签名校验失败时的行为(静默 200?日志 + 告警?)。再核对密钥轮换流程。

代码:
[paste]

11. 前端 / 浏览器侧安全审计

请审计前端代码:(a) 是否设置了 Content-Security-Policy 以及漏洞(unsafe-inline、通配源)、(b) 敏感数据放在 localStorage 还是 httpOnly cookie、(c) XSS 注入点(dangerouslySetInnerHTML、v-html、innerHTML 拼用户输入)、(d) postMessage 的 origin 检查、(e) 第三方脚本供应链(任何不可控域名的 script 标签缺 SRI)。每项给修复。

代码:
[paste]

12. 单功能的威胁建模

为下面描述的功能跑一遍 STRIDE 威胁建模。每类(伪造身份、篡改、否认、信息泄露、拒绝服务、提权)给 1-2 个针对本功能的具体威胁、受威胁的资产、现有缓解(或"无")、推荐的控制。结尾列出上线前必须修的 3 个最高风险。

功能描述:
[paste]

选对模型和工具

上面的审计 Prompt 与模型无关,但读出来的质量随上下文窗口和推理能力一起涨。

方案适合备注(2026 年 6 月)
Claude Opus 4.7 / Sonnet 4.6全仓、跨文件授权梳理1M token 上下文;Opus 在 CyberGym 漏洞复现拿到 73.1%
Gemini 3.1 Pro大型 monorepo、便宜的批量过1M 上下文;API 每百万 token 2/12
GPT-5.5 Thinking单文件深挖Plus 应用内约 320 页,完整 1M 仅 $200 Pro 档
Claude Code Security终端里自动扫整个仓库2026 年 2 月起内置于 Claude Code,无需复制粘贴

如果你常驻终端,Claude Code Security(2026 年 2 月上线)能自动跑上面很多检查——Anthropic 称在测试中它已在开源仓库里发现 500+ 高危问题。日常工作流可参考 什么是 Claude Code代码审查 Prompt

容易踩的坑

  • 只盯注入类漏洞、完全忽略授权——可在 2025 榜单里,A01 访问控制失效排在 A05 注入之前。
  • 觉得”框架会处理”,却没核对版本和实际配置。
  • 没有按功能做威胁建模,安全只在上线那周临时拼。
  • Bug 修了但日志保留期设成永久,历史 PII 仍会在事故中泄出。
  • 把模型给的 CVE 编号当真,而不去重跑真扫描器。
  • 改完代码没补回归测试 / 告警,下个版本又会复发。

常见问题

AI Prompt 能替代真正的渗透测试吗? 不能。它们覆盖可复用的前 80%——配置、明显的授权缺口、泄露的密钥、过期的依赖;但抓不到业务逻辑滥用、组合利用链和运行时问题。凡是涉及支付或健康数据的,上线前都该预算一次人工渗透,把这些 Prompt 当成便宜的前置筛查。

AI 给出的依赖发现有多准? 当假设有用,当结论不可靠。大模型经常瞎编 CVE 编号和版本区间。一定用 npm auditpip-auditosv-scanner 复核——它们是对照 OSV.dev 数据库匹配,而不是靠猜。

该用哪个模型? 挑能把整份文件塞进上下文的那个。截至 2026 年 6 月,仓库级审计选 Claude Opus 4.7 / Sonnet 4.6 或 Gemini 3.1 Pro(各 1M token);单文件用 GPT-5.5 Thinking 即可。常驻终端的话,Claude Code Security 能自动扫。

把代码粘进聊天框安全吗? 别粘真密钥——先把 key 脱敏,并优先用厂商的数据控制选项或 API(API 默认不拿来训练)。私有仓库最安全的做法是本地或自托管模型。无论哪家厂商,跑审计 Prompt 前都先抹掉真实凭据。

上线前过一遍的正确顺序是什么? 先过密钥(3)和依赖(4),因为它们利用成本最低;再过授权(5)和认证(1);接着输入 / 上传 / CORS(2、6、7);然后日志与滥用(8、9);最后对最高风险的两个功能做一次单功能威胁建模(12)。

相关阅读

标签: #Prompt #AI 编程 #安全审计