instax-dutta/vulscany
GitHub: instax-dutta/vulscany
一款可自托管的 AI 驱动代码安全扫描器,在本地完成漏洞检测、依赖威胁情报匹配和自动化修复生成,确保源代码不离开设备。
Stars: 0 | Forks: 0
vulscany
您的私有、可自托管的 AI 驱动代码安全 agent。
自信交付。像一支安全工程师团队一样进行扫描——无需将您的代码发送到任何地方。
功能 • 快速开始 • 为什么选择 vulscany • 自托管 • 背后的故事
vulscany 是一款生产级的代码安全扫描器,最初由一家获得风险投资的安全初创公司开发——直到市场时机迫使其提前谢幕。其代码经过实战检验,架构合理,且核心使命依然延续:**为每位开发者提供顶级的尖端安全扫描,免去 SaaS 溢价,且数据绝不离开您的设备。** ## 功能 - **AI 驱动的修复生成** — 不仅是漏洞检测。vulscany 会解释问题、建议修复方案,并能生成 PR。 - **多语言扫描** — 支持 React、Next.js、TypeScript、JavaScript、Python 等。具备理解您框架的技术栈感知检测能力。 - **威胁情报** — 实时的 CVE 匹配和 GitHub Advisory 关联。在新闻爆出之前,就能了解依赖项是否受到威胁。 - **批量扫描** — 一次性扫描整个组织。支持并行执行、聚合摘要,并按严重程度排序。 - **架构级隐私** — 您的源代码永远不会离开您的设备。每次扫描都在本地运行。无遥测,无数据泄露。 - **GitHub 原生** — OAuth 登录、仓库级别扫描、自动创建 PR。感觉就像原生的 GitHub 功能。 - **自包含** — 零外部服务。无需配置数据库。没有 Redis,没有 Convex,没有云依赖。只需 `npm run dev`。 ## 快速开始 ``` git clone https://github.com/instax-dutta/vulscany.git cd vulscany cp env.example .env.local npm install npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000),通过 GitHub 进行身份验证,并扫描您的第一个仓库。 ## 为什么选择 vulscany 大多数代码安全工具属于以下两大阵营之一: 1. **SaaS 平台**:要求您将代码上传到他人的服务器上,信任他们的数据处理方式,并按席位付费。 2. **开源 CLI 工具**:功能强大,但感觉像是 2008 年设计的——没有仪表盘,没有 AI,没有 GitHub 集成。 vulscany 弥补了这一空白。您既能获得生产级 SaaS 产品的精致感,又能享受本地优先软件的隐私和自主性。这是一家初创公司曾筹集数百万美元资金想要打造的安全扫描器——现在您只需一个 `git clone` 即可拥有。 ## 技术栈 | 层级 | 选择 | |-------|--------| | 框架 | Next.js 16 (App Router) | | 语言 | TypeScript | | AI | Mistral AI / Ollama | | 存储 | 本地 JSON 文件 | | 缓存 | 内存 | | 样式 | Tailwind CSS | | 测试 | Vitest | | 认证 | GitHub OAuth | ## 文档 - **设置指南** — 请参阅 [快速开始](#quick-start) - **环境配置** — 将 `env.example` 复制到 `.env.local` 并填入您的 GitHub OAuth 凭证 - **AI 功能** — 可选。设置 `MISTRAL_API_KEY` 以生成修复,或在本地使用 Ollama ### 前置条件 - Node.js 18+ - 一个 [GitHub OAuth App](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)(用于身份验证) - Mistral API 密钥或本地 Ollama 实例(可选,用于 AI 功能) ### 生产环境构建 ``` npm run build npm start ``` ### 部署到 Vercel 将您的 fork 连接到 Vercel,根据 `.env.example` 设置环境变量并进行部署。无需数据库,无需队列,无需基础设施——直接就能运行。 ## 项目结构 ``` src/ ├── app/ │ ├── api/ # API routes (auth, scan, batch-scan, AI, threat-intel) │ ├── dashboard/ # Dashboard page │ └── ... # Landing, features, pricing, legal pages ├── components/ # React components ├── lib/ │ ├── ai/ # Mistral + Ollama integration │ ├── cache/ # In-memory caching │ ├── github/ # GitHub API client │ ├── local-store.ts # Local JSON file storage │ ├── scanner/ # Code scanner engine │ ├── threat-intel/ # CVE and advisory matching │ └── validators/ # Code validators ├── config/ ├── constants/ └── middleware.ts ``` ## 对于 AI 编程 Agent 此仓库包含一个预构建的**知识图谱** (`graphify`),AI 编程助手(Claude Code、Cursor、Copilot 等)可以使用它以极小的 token 开销来探索代码库。 无需将每个文件都转储到上下文中,只需将您的 agent 指向: | 工件 | 用途 | |----------|---------| | `.planning/graphs/GRAPH_REPORT.md` | 高层摘要——社区、核心节点(核心抽象)、意外连接和导入循环 | | `.planning/graphs/graph.json` | 完整的图谱数据(541 个节点,884 条边),用于结构化查询 | | `.planning/graphs/graph.html` | 交互式可视化图谱——在浏览器中打开以可视化探索依赖关系 | **如何使用它:** 1. 开始会话:*“阅读 .planning/graphs 中的 GRAPH_REPORT.md 以了解代码库,然后帮我……”* 2. 若要深入探讨特定领域,请按名称引用社区或核心节点。 3. 代码更改后,在本地重建且无需 API 成本:`graphify update .` 该图谱从导入、导出、函数调用和类型引用中提取关系——无需 AI API 密钥。它可以为您节省大约 60-80% 的 token,否则您将花费这些 token 去重新发现架构。 ## 背后的故事 vulscany 最初是一家由风险投资支持的安全初创公司的核心产品。我们筹集了资金,组建了团队,并花费数月时间设计了一个生产级的代码安全平台——AI 驱动的扫描、威胁情报、自动化修复,一应俱全。 随后市场发生了转变。时机不对,融资轮未能完成,公司随之关闭。 但这套代码太优秀了,不能让它闲置在私有仓库中。 因此,我们对其进行了清理,剥离了 SaaS 基础设施,将云依赖项替换为本地存储,并将其开源。当一家获得融资的初创公司的工程成果遇上开源的务实精神时,vulscany 就诞生了。 这是我们希望有人能为我们可以打造的产品。现在,它属于您了。
vulscany — 私有、自托管、AI 驱动的代码安全。
数据绝不离开您的设备。无 SaaS 税。不妥协。
标签:AI代码审计, AI风险缓解, 代码安全, 后端开发, 本地部署, 模块化设计, 漏洞枚举, 自动化修复, 静态应用安全测试