0xf4r/vyroscan
GitHub: 0xf4r/vyroscan
Vyroscan 是一款专为 AI 生成应用设计的安全审计扫描器,通过 Claude Code 技能与独立脚本检测并修复「氛围编程」代码中常见的密钥泄露、访问控制缺失、注入等安全问题。
Stars: 0 | Forks: 0
# Vyrovo 的 Vyroscan




**为 AI 构建的应用提供安全保障。** *发布前先进行扫描。* 这是一款 Claude Code 技能(及插件),专门审计
“氛围编程”应用中常见的访问控制、密钥暴露、注入和供应链错误——这些正是
AI 代码生成器反复发布的问题——并帮助您从一开始就避免编写此类代码。
由 [Vyrovo](https://vyrovo.com) 构建并维护。
当您审查代码、发布功能或编写任何涉及身份验证、数据库访问、
密钥、支付、上传或 LLM/agent 调用的内容时,它会自动触发。参考文件也是纯 Markdown 格式,因此即使
您不使用 Claude Code,整个内容也可作为独立的安全指南。
## 为什么会有这个项目
AI 助手致力于优化*能运行*的代码,而不是*能抵御攻击者*的代码。2025-2026 年的独立
研究说明了这一点:
- 约 **45%** 的 AI 生成代码包含 OWASP Top 10 漏洞,而且 AI 代码的缺陷比人类编写的代码多 **2.74倍**。
- 2026 年对 **1,072 个基于 Supabase 的氛围编程应用**的扫描发现,**98% 存在安全问题**,16% 存在严重缺陷——
数以百计的应用允许任何人使用公开密钥且无需登录即可读取、修改或**删除**数据库。只有
26 个应用是安全的。
- 2025 年有 **2865 万**个新的硬编码密钥泄露在公开的 GitHub 上(同比增长 34%);AI 服务密钥泄露增加了 **81%**。
- 对 **38 万**个氛围编程应用的扫描发现,数千个应用公开泄露了真实的用户数据——医疗记录、
财务数据、PII(个人身份信息)——通常是因为平台默认将项目设为公开,且数据库没有
访问控制。
- 此外,技术栈本身也面临共同的命运:React2Shell(CVE-2025-55182,CVSS **10.0** 未授权 RCE)、
Next.js middleware 绕过漏洞,以及 Supabase Auth 绕过漏洞都集中发生在同一年——一个 CVE,牵连数千个
应用。
这些漏洞并不罕见。只需更改 URL 中的 ID、打开 DevTools 或读取
公开存储桶即可发现它们。Vyroscan 正是对这些检查进行了编码。
## 涵盖范围
- **17 个领域** —— 密钥、数据库访问控制、身份验证/会话、对象级授权(IDOR)、
注入、API/Server Actions、速率限制与 DoS、支付、AI/LLM 与 agent、上传/SSRF、
Headers/CORS/CSRF/TLS、部署、**供应链与 AI 构建管道**、移动端、日志记录、隐私和
业务逻辑。
- **真实事件案例集** —— Lovable(缺少 RLS,CVE-2025-48757)、Replit 生产数据库被清空、
Base44 身份验证绕过、Tea 应用开放的 Firebase 存储桶、Next.js middleware 绕过漏洞(CVE-2025-29927)、
Vercel v0 被滥用于钓鱼、s1ngularity/Shai-Hulud npm 蠕虫以及 slopsquatting(软件包抢注)——每个案例都简化为
它所证明的那一条规则。
- **检测 + 渗透测试手册** —— 用于静态扫描的 grep 模式库,以及用于证明(而不仅仅是断言)漏洞发现的黑盒 `curl`/DevTools
手册。
- **专业测试模型** —— 范围界定 → 枚举 → 按影响范围攻击 → 优先报告最严重的漏洞 →
**重测**,外加威胁情报准则(跟踪已知被利用的漏洞、修补
面向互联网/框架的层级、攻击面意识以及事件响应准备)。
- **发布前检查清单和可复用的审计提示。**
## 安装
将 Vyroscan 添加到您要保护的项目中。将仓库克隆到临时位置,并将该技能
复制到您项目的 `.claude/` 文件夹中——完整选项(全局安装、插件)请参见 [`INSTALL.md`](INSTALL.md)。
```
git clone https://github.com/0xf4r/vyroscan.git /tmp/vyroscan
mkdir -p .claude/skills .claude/commands .claude/agents
cp -r /tmp/vyroscan/skills/vyroscan .claude/skills/vyroscan
cp /tmp/vyroscan/commands/vyroscan-audit.md .claude/commands/ # optional: /vyroscan-audit command
cp /tmp/vyroscan/agents/vyroscan-auditor.md .claude/agents/ # optional: deep-audit subagent
```
然后像往常一样工作——该技能会在涉及安全相关的任务时激活。要进行完整的显式审计,请运行
`/vyroscan-audit` 或派遣 `vyroscan-auditor` 子代理(subagent)。
### 适用于任何技术栈,无论是否使用 Claude
检测并不完全依赖于模型——内置的只读 Bash 扫描器可让每位安装者立即获得真实的
检测结果,适用于任何技术栈,并且可在 CI 或 pre-commit hook 中独立运行:
```
bash .claude/skills/vyroscan/scripts/vyroscan.sh . # static scan
bash .claude/skills/vyroscan/scripts/vyroscan.sh . --url https://the-app # + live header check
# 为 Supabase 暴露探测(只读)添加 --anon-key
```
它能检测技术栈(Next.js/Supabase、Django、Flask/FastAPI、Rails、Laravel、Go、Spring、Firebase、移动端),
标记出影响范围极大的错误,并在发现任何严重问题时以非零状态退出。
### 扫描结果示例
```
== 1. Secrets in source (Domain 1) ==
[CRITICAL] private value(s) behind a PUBLIC client env prefix (shipped in bundle):
./.env.local:1:NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY=...
[CRITICAL] Supabase service_role key exposed to client — bypasses ALL RLS
== 2. Git hygiene ==
[CRITICAL] .env file is tracked by git
== 3. Database access control (Domain 2) ==
[CRITICAL] RLS policy USING (true) — every row exposed
== 4. Injection & dangerous sinks (Domain 5) ==
[HIGH] possible SQL string-building with user input:
./src/api.js:5: const q = `SELECT * FROM users WHERE id = '${req.params.id}'`;
== Summary ==
Critical: 6 High: 4 Medium: 2
Ship-blocker: fix all CRITICAL findings before deploying.
```
### 可审计任何工具构建的应用
Vyroscan 不关心代码是*由什么*生成的。只需将目标指向使用 Cursor、v0、Lovable、
Replit、Bolt、Windsurf、GitHub Copilot、ChatGPT 构建的应用,或者是手动编写的代码——所犯的错误都是一样的,并且
扫描器可以在任何仓库或 URL 上运行。技能封装(自动触发、`/vyroscan-audit`、子代理)是 Claude
Code 的功能,但扫描器和参考指南与工具无关:您可以在 CI、pre-commit hook 中使用它们,
作为 Cursor 规则,或作为普通读物使用,无论是否使用 Claude Code。
## 从发现到修复,而不仅仅是标记
Vyroscan 旨在*解决*问题,而不仅仅是列出问题。每个发现都遵循相同的格式:
**位置(`file:line`) → 攻击者的操作 → 修复前/修复后 → 如何验证已修复。**
- **扫描器**快速且确定性地找到候选项(如上例所示)。
- **技能**对它们进行推理,并从 17 个领域的参考中给出具体的修复前后对比——例如,
将客户端暴露的 `service_role` 密钥替换为 anon key + RLS,或者将字符串拼接的 SQL 替换为
参数化查询。
- **渗透测试手册**提供了确切的 `curl`/DevTools 检查方法来*证明*修复有效,并且
专业方法论强调您必须进行**重测**,而不是相信更改已经生效。
它针对的漏洞类别并非假设性的——它们正是[事件案例集](skills/vyroscan/references/incident-casebook.md)中每次违规事件背后的
同类型漏洞(Lovable、Replit、Base44、Tea 以及
其他)。修复它们正是防止下一次事件发生的关键。
## 目录结构
```
vyroscan/
SKILL.md # orchestrator: doctrine, process, severity, output format
scripts/
vyroscan.sh # deterministic read-only scanner (any stack, CI-friendly)
references/
domains.md # the 17 domains, deep
stack-playbooks.md # per-stack specifics (Django, Rails, Laravel, Go, Spring, …)
incident-casebook.md # 10 real breaches → the rule each proves
detection-and-pentest.md # grep library + black-box playbook
professional-audit-methodology.md # engagement model + threat intelligence
checklist-and-prompts.md # pre-launch checklist, audit prompts, tooling
```
## 范围与客观说明
Vyroscan 能捕获大多数现实世界氛围编程违规事件背后的错误。它不能替代
针对处理大量资金或大规模敏感数据的应用的专业评估,并且没有任何自动化审计
是绝对完整的。工具和 CVE 会发生变化——请对照最新来源验证具体情况。用它来大幅提升基础安全水平,
然后再由人工来确保更高层次的安全。
## 标准与延伸阅读
Vyroscan 的领域映射到了既定的安全标准——如需深入了解氛围编程之外的特定领域,
请参阅以下内容:
- OWASP Top 10、OWASP API Security Top 10、OWASP Top 10 for LLM Applications、OWASP MCP Top 10
- OWASP Application Security Verification Standard (ASVS) 和 Web Security Testing Guide
- ISO/IEC 27001 附录 A 8.26(应用程序安全要求)
- CISA Known Exploited Vulnerabilities (KEV) 目录和英国 NCSC Early Warning 服务
- 您的技术栈自身的安全公告(Next.js/React、Supabase、Node.js)——订阅并在发布时及时打补丁
## 许可证
MIT © 2026 0xf4r · [Vyrovo](https://vyrovo.com)。欢迎贡献和纠正。
标签:AI代码审计, Claude Code插件, DOE合作, 应用安全, 错误基检测, 防御加固, 静态代码分析