wbw20000/vibe-guardian

GitHub: wbw20000/vibe-guardian

一款面向 AI 编码场景的 pre-commit 本地安全门禁工具,在代码进入 git 历史前拦截硬编码密钥、注入漏洞及 Supabase 错误配置。

Stars: 0 | Forks: 0

# Vibe Guardian 🛡️ **用于 vibe coding 的 pre-commit 安全门禁。** 捕获 AI 编码工具最常带来的漏洞——在它们进入 commit *之前*。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/wbw20000/vibe-guardian/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/vibe-guardian)](https://www.npmjs.com/package/vibe-guardian) [![npm downloads](https://img.shields.io/npm/dw/vibe-guardian)](https://www.npmjs.com/package/vibe-guardian) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ![vibe-guardian demo](https://static.pigsec.cn/wp-content/uploads/repos/cas/c2/c2f3e68d27dda093292247c55f7ca3f3866762b6f5371c4ebeafc2ac8b526a85.svg)
Cursor、Claude Code 和 Lovable 写代码很快——但硬编码的 API key、SQL 注入和完全敞开的 Supabase 表出现得也同样快。Vibe Guardian 会在两道门禁处拦截它们: 1. **AI 编码时**(Claude Code 插件):Claude 编写的每个文件都会被立即扫描;发现问题后,Claude 会准确得知哪里出了错,并在当场进行修复。 2. **提交时**(git pre-commit 钩子):脆弱的代码绝不会进入你的历史记录。 **100% 本地静态规则。无 LLM 调用。零依赖。毫秒级扫描。你的代码永远不会离开你的机器。** ## 快速开始 ``` npx vibe-guardian scan # scan your project right now npx vibe-guardian install-hook # install the git pre-commit gate ``` 作为 Claude Code 插件: ``` /plugin marketplace add wbw20000/vibe-guardian /plugin install vibe-guardian@vibe-guardian ``` ## 捕获内容 | 类别 | 规则 | 严重程度 | |----------|-------|----------| | 密钥 | AWS / OpenAI / Anthropic / GitHub / Stripe / Google / Slack key、私钥块、明文密码赋值、已提交的 `.env` 文件 | error | | 密钥 | JWT 字面量 | warn | | SQL 注入 | 模板字符串 / 字符串拼接 / Python f-string 构建的查询 | error | | XSS | `innerHTML`、`dangerouslySetInnerHTML`(未消毒)、`document.write`、`insertAdjacentHTML` | warn | | 命令注入 | 带有插值输入的 `eval` / `new Function` / `exec` | error | | Supabase | 客户端代码中的 `service_role` key、带有 `NEXT_PUBLIC_` 前缀的密钥、没有 Row Level Security 的 `CREATE TABLE` | error / warn | | 配置 | CORS 通配符 + credentials | warn | 只有高置信度的规则(**error**)才会阻止你的 commit——启发式规则(**warn**)只会提醒你。没有告警疲劳,也没有 `--no-verify` 的诱惑。 出现误报?在该行(或其上方)添加 `// vibe-guardian: ignore`。 ## 命令 ``` vibe-guardian scan [paths...] scan files/directories (default: cwd) vibe-guardian scan --staged scan the git staging area only vibe-guardian install-hook install the pre-commit hook vibe-guardian uninstall-hook remove the pre-commit hook --strict treat warnings as failures --json JSON output ``` ## 常见问题 **我该如何阻止 AI 生成的代码泄露我的 API key?** 安装 pre-commit 门禁(`npx vibe-guardian install-hook`)。硬编码的 OpenAI/AWS/Stripe/Supabase key 在进入 git 历史记录之前就会被拦截——爬虫在代码 push 后几分钟内就能发现它们。 **我的代码会被发送到任何地方吗?** 不会。Vibe Guardian 是纯粹的本地静态分析——没有 LLM 调用,没有遥测,完全没有任何网络请求。 **这和 gitleaks 或 semgrep 有什么区别?** 那些都是针对安全团队的优秀通用扫描器。Vibe Guardian 是为 vibe coder 构建的:零配置、零依赖,规则专注于 AI 助手实际会犯的错误(包括 Supabase RLS 错误配置),并且有一个 Claude Code 钩子可以在 *AI 编码时* 捕捉问题——而不仅仅是在提交时。它是第一道门禁,不能替代企业 CI 中的完整 SAST。 **它适用于哪些 AI 编码工具?** pre-commit 钩子可以保护任何仓库,无论你使用什么编辑器——Cursor、Windsurf、VS Code Copilot、Lovable 导出。写入时的钩子是 Claude Code 原生的。
## 中文说明
给用 Cursor / Claude Code / Lovable 做 vibe coding 的独立开发者:AI 写代码很快,但硬编码密钥、SQL 注入、裸奔的 Supabase 表也来得很快。Vibe Guardian 在两道关口拦住它们: 1. **写入时**(Claude Code 插件):AI 每次写文件后立即扫描,发现问题直接让 AI 当场修复 2. **提交时**(git pre-commit 钩子):带漏洞的代码根本进不了 commit ### 快速开始 ``` npx vibe-guardian scan # 扫描当前项目 npx vibe-guardian install-hook # 安装 git pre-commit 钩子 ``` 作为 Claude Code 插件:`/plugin marketplace add wbw20000/vibe-guardian` → `/plugin install vibe-guardian@vibe-guardian` ### 检测规则 | 类别 | 规则 | 级别 | |------|------|------| | 密钥 | AWS / OpenAI / Anthropic / GitHub / Stripe / Google / Slack key、私钥块、通用明文密码赋值、误提交 .env | error | | 密钥 | JWT 字面量 | warn | | SQL 注入 | 模板字符串/字符串拼接/Python f-string 拼 SQL | error | | XSS | innerHTML、dangerouslySetInnerHTML(无消毒)、document.write、insertAdjacentHTML | warn | | 命令注入 | eval / new Function / exec 拼接变量 | error | | Supabase | service_role key 出现在客户端代码、NEXT_PUBLIC_ 前缀密钥、建表未启用 RLS | error / warn | | 配置 | CORS 通配 + credentials | warn | **只有高置信度规则(error)才拦截提交**,启发式规则(warn)只提示——不制造狼来了,不逼你 `--no-verify`。 误报处理:在该行或上一行加注释 `// vibe-guardian: ignore`。 ### 设计原则 - **零依赖、纯本地**:不上传任何代码,不调用任何 API,隐私和速度都有保证 - **error 才拦截**:高置信度规则(密钥、SQL 注入)阻断提交;启发式规则只警告 - **给 AI 看的报错**:Claude Code 钩子的 block 消息直接告诉 AI 怎么修,形成"写→拦→自动修"闭环 ## License MIT
标签:AI辅助开发, DOE合作, Git钩子, GNU通用公共许可证, MITM代理, Node.js, 开发安全, 暗色界面, 自定义脚本, 错误基检测, 静态代码分析