midatlanticAI/PreFlight
GitHub: midatlanticAI/PreFlight
一款基于浏览器的免费静态安全审计工具,专为检测 AI 生成代码中的安全漏洞而设计。
Stars: 8 | Forks: 0
# PreFlight 审计工具
免费、基于浏览器的静态安全审计工具,专为使用 AI 编码工具(Lovable、Cursor、Bolt、Replit、Claude Code、v0、GitHub Copilot)构建的应用及任何其他 Web 应用程序提供。
**在线体验:** [preflight.midatlantic.ai](https://preflight.midatlantic.ai/)
由 [Mid-Atlantic AI](https://midatlantic.ai) 发布。联系方式:[John@midatlantic.ai](mailto:John@midatlantic.ai)。代码采用 MIT 协议,威胁情报数据采用 CC-BY-4.0 协议。
无需注册。无后端。无分析追踪。所有扫描均在您的浏览器标签页中运行并保留在本地,绝不会有任何数据离开您的设备。
完整的理念阐述位于 [`src/learn/manifesto.md`](./src/learn/manifesto.md),并在已部署站点的 [`/learn`](https://preflight.midatlantic.ai/learn) 页面呈现。针对 AI 编码助手的语气和贡献指南位于 [`CLAUDE.md`](./CLAUDE.md)。
## 功能介绍
包含 96 个探针,涵盖 OWASP Top 10 2025、OWASP LLM Top 10 2025 以及最新的威胁情报:
每一条发现结果都附带有其对应的 OWASP 类别代码。完整的映射关系请参阅已部署应用中的 [`/learn/owasp`](https://preflight.midatlantic.ai/learn/owasp),标准源字典位于 [`src/lib/stable-id.js`](./src/lib/stable-id.js)。
- **硬编码密钥** — AWS、Stripe 正式和测试密钥、OpenAI、Anthropic、Google、GitHub PAT、Slack、SendGrid、Hugging Face、Replicate、Groq、Perplexity、通用高熵密钥、私有 RSA 块、包含内嵌凭证的数据库连接字符串。
- **NEXT_PUBLIC 误用** — 通过 Next.js public env 前缀暴露的服务器密钥。
- **Supabase + Firebase 规则** — 缺少 RLS 的表、过于宽松的 `USING (true)`、`allow read: if true`。
- **身份验证漏洞** — JWT `algorithm: none`、没有 secret 的 `jwt.verify`、`eval()`、`dangerouslySetInnerHTML`。
- **管理路由 + API 路由鉴权** — 管理路径上的仅客户端鉴权、无鉴权调用的敏感路由、无防护的破坏性 handler。
- **Cookie + 安全标头** — 缺少 `httpOnly` / `secure` / `sameSite`;next.config 中缺少 `headers()`;vercel.json 中缺少 `headers`。
- **CORS + SSRF + 开放重定向** — 通配符来源、重定向到用户输入、服务端 fetch 用户可控的 URL。
- **2025–2026 供应链事件** — Shai-Hulud(2025 年 9 月)、Axios / Sapphire Sleet(2026 年 3 月)、Bitwarden CLI(2026 年 4 月)、Intercom-client Mini Shai-Hulud SAP(2026 年 4 月),以及 2026 年 5 月 11 日由 TeamPCP 发起的 Mini Shai-Hulud TanStack 蠕虫事件。涵盖 @tanstack、@mistralai、@opensearch-project、@uipath、@squawk 及无作用域受害者中约 170 个硬编码的受损版本。
- **感染后 IOC** — `.claude/router_runtime.js`、`tanstack_runner.js`、`__DAEMONIZED` 守卫、`filev2.getsession.org` / `seed[1-3].getsession.org` 渗出端点、`com.user.gh-token-monitor` 失效开关、伪造的 `claude@users.noreply.github.com` 提交作者。
- **Slopsquatting / 伪造包名** — LLM 幻觉产生的及拼写错误的包名。
- **MCP 安全** — 执行 shell 的服务器、公共绑定、存在漏洞的 mcp-server-git 版本。
- **AI 工具规则文件后门** — `.cursorrules` / `.windsurfrules` / `CLAUDE.md` 中隐藏的双向 Unicode(基于 Pillar Security 针对Cursor + Copilot 展示的攻击演示)。
- **特洛伊源码 (Trojan Source)** — 双向 Unicode 控制字符 (CVE-2021-42574)。
- **Package.json + npmrc 规范** — 通过管道传输 curl 的 postinstall 钩子、非 registry 依赖、浮动版本号、缺少 `min-release-age` 冷却期。
- **GitHub Actions** — 检出 PR head 的 `pull_request_target`、固定到可变引用的 action。
- **Webhook 验证** — 没有 `constructEvent` 的 Stripe、没有 `X-Hub-Signature-256` 的 GitHub。
- **客户端身份验证存储** — 存储在 localStorage 中的 JWT / session / access_token / refresh_token。
- **LLM 安全**(OWASP LLM Top 10)— 提示词注入、客户端组件中的密钥暴露、危险的 LangChain 工具、系统提示词泄露、不受限制的 `max_tokens`。
- **AST 代码正确性** — 使用 acorn + acorn-jsx 解析器遍历每个 `.js` / `.jsx` / `.mjs` / `.cjs` 文件,收集绑定,标记未声明的标识符引用。用于捕获 AI 辅助重构后留下的悬空引用类 Bug(例如:在未声明 `urlHighlight` 的情况下执行 `return urlHighlight;`)。
- **AI 代码坏味道** — 空 catch 块、大量使用 `any`。
- **URL 信誉** — 原始 IP URL、可疑的 TLD(`.tk`、`.xyz`、`.gq`)、URL 缩短服务、仅限 http 的链接。
- **HTML 规范** — 内联事件处理器、没有 `rel="noopener"` 的 `target="_blank"`、混合内容、`