rife888-art/vibedeploy-oss

GitHub: rife888-art/vibedeploy-oss

一款基于 Claude AI 的 Web 应用安全审计工具,连接 GitHub 仓库后即可获得即时安全评级和可操作的修复建议。

Stars: 0 | Forks: 0

# 🛡️ VibeDeploy **AI 驱动的 Web 应用安全审计工具。** 连接你的 GitHub 仓库,即可获得即时的安全评级(A–F)以及具体的修复建议。 [![License: MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE) [![Next.js](https://img.shields.io/badge/Next.js-14-black?logo=nextdotjs)](https://nextjs.org) [![Powered by Claude](https://img.shields.io/badge/Powered%20by-Claude-D97757?logo=anthropic)](https://anthropic.com) [![Supabase](https://img.shields.io/badge/DB-Supabase-3ECF8E?logo=supabase)](https://supabase.com) [![Vercel](https://img.shields.io/badge/Deploy-Vercel-black?logo=vercel)](https://vercel.com) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [**在线演示**](https://web-seven-delta-81.vercel.app) · [**快速开始**](#-quick-start) · [**参与贡献**](CONTRIBUTING.md) · [**报告 Bug**](../../issues/new?template=bug_report.yml)
## ✨ 为什么选择 VibeDeploy 大多数安全扫描器都非常嘈杂。它们标记出每一个理论上的风险,把真正的问题淹没在成堆的警告中。VibeDeploy 让 Claude 扮演资深审计员的角色——只报告可被利用的漏洞,指出具体的代码行,并给出切实可行的修复建议。 - **真实发现,拒绝噪音。** 严格的提示工程促使对健康的代码仅给出 0-3 个有根据的发现。 - **可发布的评级。** A 到 F 的评级附带 2-3 句话的总结,你可以直接粘贴到 PR 中。 - **支持粘贴代码或完整仓库。** 丢进一段代码片段进行快速检查,或连接 GitHub 进行全面审计。 - **速度快。** 审计在 15-30 秒内完成。 - **默认私密。** OAuth 授予单用户仓库访问权限。代码仅供运行审计时读取,不作任何保留。 ## 📸 截图 ![Landing](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/129d938215224648.png) | 登录 | 文档 | | --- | --- | | ![Sign in](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7c7159f5b2224655.png) | ![Docs](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/951d2c63a3224702.png) | ## 🧠 工作原理 ``` ┌──────────────┐ OAuth ┌─────────────┐ fetch tree ┌─────────────┐ │ You + repo │ ───────────▶ │ VibeDeploy │ ───────────────▶ │ GitHub API │ └──────────────┘ └──────┬──────┘ └─────────────┘ │ up to 30 code files │ ▼ ┌──────────────┐ JSON report ┌─────────────┐ │ Claude Opus │ ───────────────▶ │ Supabase │ └──────────────┘ └─────────────┘ │ ▼ Grade · Score · Findings ``` 1. 使用 GitHub **登录**(OAuth,`repo` 作用域)。 2. **选择一个仓库** —— 公开或私有皆可。 3. **审计运行**在服务端进行。代码被抓取、分批,并连同严格的审计提示发送给 Claude。 4. **发现结果流式传回** —— 包含严重性、文件、行号、描述和修复方案。 ## 🚀 快速开始 ### 前置条件 - Node.js 18+ - 一个 [Supabase](https://supabase.com) 项目(免费版即可) - 一个 [GitHub OAuth App](https://github.com/settings/developers) - 一个 [Anthropic API key](https://console.anthropic.com) ### 安装 ``` git clone https://github.com/rife888-art/vibedeploy-oss.git cd vibedeploy-oss npm install ``` ### 配置 ``` cp apps/web/.env.example apps/web/.env.local # 打开 apps/web/.env.local 并填入你的密钥 ``` 在 Supabase SQL 编辑器中运行 schema: ``` # supabase/schema.sql ``` ### 运行 ``` cd apps/web npm run dev ``` 打开 [http://localhost:3000](http://localhost:3000)。 ## 🧱 技术栈 | 层级 | 选择 | | ---------- | --------------------------------------------------------- | | 框架 | Next.js 14 (App Router, Server Components) | | 认证 | NextAuth.js + GitHub OAuth + 邮箱/密码备选方案 | | 数据库 | Supabase (PostgreSQL) | | AI | Anthropic Claude (Opus 4) | | 后台任务 | `@vercel/functions` `waitUntil` | | 托管 | Vercel | | 样式 | Tailwind CSS, 深色主题, 青色强调色 | | CLI | Node.js (发布目标:npm 上的 `vibedeploy`) | ## 📂 项目结构 ``` vibedeploy/ ├── apps/ │ └── web/ # Next.js app │ ├── app/ │ │ ├── api/ │ │ │ ├── audits/ # Start audits, list, paste mode │ │ │ ├── github/ # List user's repos │ │ │ ├── auth/ # NextAuth + signup │ │ │ ├── cli/ # CLI report ingestion │ │ │ └── settings/ # Encrypted user settings │ │ ├── dashboard/ # Audit list, detail, settings │ │ └── auth/signin/ # Custom sign-in │ ├── components/ # UI primitives │ └── lib/ # auth, supabase, rate-limit ├── packages/ │ └── cli/ # CLI scanner └── supabase/ └── schema.sql # DB schema ``` ## 🔐 安全模型 - 所有 API 路由均需要经过身份验证的会话。 - Supabase service role key **仅限服务端**使用。绝不暴露给客户端。 - GitHub 访问令牌存在于 JWT 中,而不在数据库中。 - 敏感设置(API 密钥)使用 AES-256-CBC 进行静态加密。 - 在认证路由上通过 Origin/host 检查进行 CSRF 防御。 - 使用恒定时间进行 CLI 令牌比较(在填充缓冲区上使用 `timingSafeEqual`)。 - 每个变更端点均有基于 IP 和用户的速率限制。 - 使用令牌的 HMAC 作为速率限制的键。令牌本身从不出现在日志中。 发现了漏洞?请参见 [SECURITY.md](SECURITY.md)。 ## 📡 API | 方法 | 端点 | 描述 | | ---------- | -------------------- | -------------------------------------- | | `GET` | `/api/github/repos` | 列出已登录用户的 GitHub 仓库 | | `POST` | `/api/audits` | 启动新的仓库审计 | | `GET` | `/api/audits` | 列出用户的审计记录 | | `GET` | `/api/audits/[id]` | 审计详情 + 发现结果 | | `POST` | `/api/audits/paste` | 审计粘贴的代码(无需 GitHub) | | `POST` | `/api/cli/report` | 接收 CLI 部署报告 | | `GET/POST` | `/api/settings` | 获取或存储用户设置(已加密) | ## 🤝 参与贡献 欢迎提交 Pull request。变更范围很小,对首次贡献者非常友好。 - 🐛 [报告 Bug](../../issues/new?template=bug_report.yml) - ✨ [请求新功能](../../issues/new?template=feature_request.yml) - 📝 提交 PR 前请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) - 💛 请阅读 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 优质新手问题已标记为 [`good first issue`](../../issues?q=is%3Aopen+label%3A%22good+first+issue%22)。 ## 🗺️ 路线图 - [ ] GitLab + Bitbucket 支持 - [ ] PR 评论机器人(将审计摘要作为 check 发布) - [ ] 按发现结果的“忽略”列表并附带理由 - [ ] 用于 GitHub Code Scanning 的 SARIF 导出 - [ ] 自托管模式文档(Docker Compose) - [ ] 多语言审计提示(Python、Go、Rust) 有想法?[提交一个 Issue](../../issues/new?template=feature_request.yml)。 ## 📜 许可证 [MIT](LICENSE) —— 随意使用,只需保留声明。
如果 VibeDeploy 帮你抓到了真实的 Bug,请 **给仓库点个 Star** ⭐ 这能帮助更多的开发者发现它。
标签:AI, AI代码审计工具, AI安全审计, CI/CD安全, CISA项目, Claude AI, DevSecOps, GitHub OAuth, GitHub集成, Llama, MIT开源项目, Next.js 14, OSV, Supabase, Vercel, Web安全, 上游代理, 代码安全检测, 代码片段扫描, 大语言模型应用, 威胁情报, 安全合规, 安全评级, 开发者工具, 测试用例, 源代码安全分析, 漏洞修复建议, 网络代理, 自动化代码审查, 自动化攻击, 蓝队分析, 软件安全评估, 静态应用安全测试(SAST)