ezphongdo-cmyk/guardvibe

GitHub: ezphongdo-cmyk/guardvibe

面向 AI 编码代理的本地安全扫描 MCP 服务,内置数百条规则和自动化修复建议,让 AI 生成的代码在编写阶段就完成安全审查。

Stars: 0 | Forks: 0

# GuardVibe [![npm version](https://img.shields.io/npm/v/guardvibe)](https://www.npmjs.com/package/guardvibe) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Node.js CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5da2e1f1b7151242.svg)](https://github.com/goklab/guardvibe/actions/workflows/ci.yml) [![npm provenance](https://img.shields.io/badge/provenance-verified-brightgreen)](https://www.npmjs.com/package/guardvibe) [![codecov](https://codecov.io/gh/goklab/guardvibe/graph/badge.svg)](https://codecov.io/gh/goklab/guardvibe) **为氛围编码构建的安全 MCP。** 335 条安全规则,36 个工具覆盖了从第一行代码到生产部署的整个 AI 生成代码生命周期。 适用于 **Claude Code, Cursor, Gemini CLI, Codex, VS Code (Copilot), Windsurf** 以及任何兼容 MCP 的编码代理。 ## 为什么选择 GuardVibe 大多数安全工具都是为企业安全团队构建的。GuardVibe 则是专门为**你**——使用 AI 快速构建和交付 Web 应用的开发者——而设计的。 - **335 条安全规则,36 个工具**专为 AI 代理生成的技术栈量身定制 - **零配置上手** — 执行 `npx guardvibe` 即可开始扫描 - **无需账号** — 100% 本地运行,无需 API 密钥,不连云端 - **懂你的技术栈** — 不是泛泛的 SAST,而是熟悉 Next.js, Supabase, Stripe, Clerk 及你真正在用的工具的规则 - **CVE 版本情报** — 检测 `package.json` 中 23 个已知的存在漏洞的包版本 - **AI 代理安全** — 检测 MCP 服务器漏洞、AI 权限过大、间接提示注入 - **自动修复建议** — `fix_code` 工具会返回 AI 代理可直接应用的具体补丁 - **Pre-commit 钩子** — 在不安全代码进入你的仓库前将其拦截 - **适配 CI/CD** — 提供 GitHub Actions 工作流,支持将 SARIF 上传到 Security 选项卡 - **对代理友好的输出** — JSON 格式供 AI 代理使用,Markdown 格式供人类阅读,SARIF 供 CI/CD 使用 - **插件系统** — 可通过社区或高级规则包进行扩展 ## v3 版本更新 - **行内抑制** — `// guardvibe-ignore VG001` 可逐行消除特定警告 - **CLI 优先** — `npx guardvibe audit`, `npx guardvibe scan`, `npx guardvibe doctor` 均可在没有 MCP 的情况下独立运行 - **嵌入式修复计划** — `remediation_plan` 会在每次审计后生成一份按部分分类的修复清单 - **评分涵盖所有部分** — 安全评分现在会综合考量代码、依赖、配置、密钥、认证覆盖率和污点分析 - **排除 Gitignored 密钥** — 与 `.gitignore` 匹配的文件会在密钥扫描时自动跳过 - **污点净化器识别** — 数据流分析能识别常见的净化器(DOMPurify、转义函数、参数化查询)并停止传播 ## GuardVibe 横向对比 GuardVibe 是专为 AI 编码工作流量身定制的。传统工具在企业 CI/CD 流水线中表现出色,而 GuardVibe 填补了另一块空白。 | 功能 | GuardVibe | 传统 SAST | 依赖扫描器 | |-----------|-----------|-----------------|-------------------| | 在 AI 代理内运行 (MCP) | 原生支持 | 不支持 | 不支持 | | 零配置安装 | `npx guardvibe` | 需要账号和配置 | 内置(受限) | | 针对性技术栈规则 (Next.js, Supabase, Clerk, tRPC, Hono) | 100+ 专用规则 | 通用模式 | 不适用 | | AI/LLM 安全(提示注入、MCP、工具滥用) | 30 条规则 | 实验性/无 | 无 | | AI 宿主机安全 (CVE-2025-59536, CVE-2026-21852) | `guardvibe doctor` | 不支持 | 不支持 | | 面向 AI 代理的自动修复建议 | `fix_code` 工具 | CLI 自动修复 | 不支持 | | CVE 版本检测 | 23 个包 | 广泛 | 广泛 | | 合规性映射 (SOC2, PCI-DSS, HIPAA) | 内置 | 付费层级 | 无 | | SARIF CI/CD 导出 | 是 | 是 | 受限 | | 规则数量 | 335 (聚焦) | 5000+ (广泛) | 不适用 | **何时使用 GuardVibe:** 当你正在使用 AI 代理进行构建,并希望将安全扫描集成到你的编码工作流中——不需要仪表盘、不需要账号、不需要配置 CI。 **何时使用传统工具:** 当你需要深度 AST 分析、企业级仪表盘、组织范围的战略执行,或需要覆盖数百种语言时。 ## 快速开始 ### Claude Code ``` npx guardvibe init claude ``` 创建 `.claude.json` MCP 配置、`.claude/settings.json` 自动扫描钩子以及 `CLAUDE.md` 安全规则。设置完成后请重启 Claude Code。 ### Cursor ``` npx guardvibe init cursor ``` 创建 `.cursor/mcp.json` 以及带有安全规则的 `.cursorrules`。设置完成后请重启 Cursor。 ### Gemini CLI ``` npx guardvibe init gemini ``` 创建 `~/.gemini/settings.json` MCP 配置以及 `GEMINI.md` 安全规则。 ### Codex (OpenAI) ``` codex mcp add guardvibe -- npx -y guardvibe ``` ### VS Code (GitHub Copilot) 在你的项目中创建 `.vscode/mcp.json`: ``` { "servers": { "guardvibe": { "command": "npx", "args": ["-y", "guardvibe"] } } } ``` ### Windsurf 添加至 `~/.codeium/windsurf/mcp_config.json`: ``` { "mcpServers": { "guardvibe": { "command": "npx", "args": ["-y", "guardvibe"] } } } ``` ### 一次性配置所有平台 ``` npx guardvibe init all # Claude + Cursor + Gemini ``` ### Pre-commit 钩子 ``` npx guardvibe hook install # Blocks commits with critical/high findings npx guardvibe hook uninstall # Remove hook ``` ### CI/CD (GitHub Actions) ``` npx guardvibe ci github # Generates .github/workflows/guardvibe.yml ``` ## GuardVibe 扫描内容 ### 应用程序代码 Next.js App Router, Server Actions, Server Components, React, Express, Hono, tRPC, GraphQL, FastAPI, Go ### 认证与授权 Clerk, Auth.js (NextAuth), Supabase Auth, OAuth/OIDC (state 参数, PKCE) — 中间件检查、密钥暴露、会话处理、SSR cookie 认证、管理员方法保护 ### 数据库与 ORM Supabase (RLS, anon 与 service role), Prisma (原生查询注入, CVEs), Drizzle (SQL 注入), Turso/LibSQL (客户端暴露, SQL 注入), Convex (认证绕过, 内部函数暴露) ### 支付 Stripe (webhook 签名, 重放保护, 密钥), Polar.sh, LemonSqueezy ### 第三方服务 Resend (邮件 HTML 注入), Upstash Redis, Pinecone, PostHog, Google Analytics (PII 追踪), Uploadthing (认证, 文件类型/大小) ### AI / LLM 安全 提示注入检测, LLM 输出接收器, 系统提示泄露, MCP 服务器 SSRF/路径遍历/命令注入, `dangerouslyAllowBrowser`, 缺少 `maxTokens`, AI API 密钥客户端暴露, 通过外部数据的间接提示注入 ### AI 宿主机安全 `guardvibe doctor` — 统一的宿主机加固扫描器,检测 CVE-2025-59536 (通过 `.claude/settings.json` 的钩子注入)、CVE-2026-21852 (通过 `ANTHROPIC_BASE_URL` 覆盖进行 API 密钥窃取)、MCP 配置审计、环境扫描器、权限分析。支持 Claude, Cursor, VS Code, Gemini, Windsurf。提供针对宿主机的修复建议及量身定制的修复步骤。 ### OWASP API 安全 BOLA/IDOR (破坏对象级别授权), 批量赋值 (展开请求体, Object.assign), 缺少分页, 速率限制, 管理员端点授权, 冗长错误泄露 ### 现代技术栈 Zod `.passthrough()` 批量赋值, `z.any()` 绕过, 文件上传验证, `server-only` 导入守卫, webhook 重放保护, CSP 请求头, `unsafe-inline`/`unsafe-eval` 检测, cron 端点认证 ### 移动端 React Native, Expo — AsyncStorage 密钥, deep link token 暴露, 硬编码 API URL, ATS 配置 ### Firebase Firestore 安全规则, Firebase Admin SDK 暴露, 存储规则, 自定义 token 验证 ### CVE 版本情报 (23 个 CVE) Next.js (3 CVEs), React, Express, Axios, jsonwebtoken, lodash, node-fetch, tar, xml2js, crypto-js, Prisma (2 CVEs), next-auth (2 CVEs), sharp, ws, undici (2 CVEs), @anthropic-ai/sdk, defu ### 部署与配置 Vercel (vercel.json, cron 密钥, 请求头), Next.js 配置, Docker, Docker Compose, Fly.io, Render, Netlify, Cloudflare ### 基础设施 Dockerfile 安全, GitHub Actions CI/CD, Terraform (S3, IAM, RDS, 安全组) ### 密钥与环境 API 密钥 (AWS, GitHub, Stripe, OpenAI, Resend, Turso), .env 管理, .gitignore 覆盖率, 高熵检测, NEXT_PUBLIC 暴露 ### 合规控制映射 将安全发现映射到 SOC2, PCI-DSS, HIPAA, GDPR, ISO27001 和 EU AI Act (EUAIACT) 控制。识别哪些代码级别的漏洞与特定的合规要求相关。**不能替代专业的合规审计。** ### 供应链 恶意 postinstall 脚本, 未锁定的 GitHub Actions, 域名仿冒检测 ## 工具 (36 个 MCP 工具) | 工具 | 功能 | |------|-------------| | `check_code` | 分析代码片段中的安全问题 | | `check_project` | 扫描多个文件并提供安全评分 (A-F) | | `scan_directory` | 从磁盘扫描项目目录 | | `scan_staged` | 针对暂存于 git 的文件进行预提交扫描 | | `scan_dependencies` | 检查所有依赖项是否存在已知 CVE (OSV) | | `scan_secrets` | 检测泄露的密钥、API 密钥、令牌 | | `check_dependencies` | 根据 OSV 检查单个包 | | `check_package_health` | 域名仿冒检测、维护状态、采用指标 | | `compliance_report` | 将安全发现映射到合规控制 (SOC2, PCI-DSS, HIPAA, GDPR, ISO27001, EU AI Act) | | `export_sarif` | 导出用于 CI/CD 集成的 SARIF v2.1.0 文件 | | `get_security_docs` | 安全最佳实践和指南 | | `fix_code` | **自动修复建议**,为 AI 代理提供具体的补丁 | | `audit_config` | 审计项目配置文件以发现跨文件的安全配置错误 | | `generate_policy` | 检测项目技术栈并生成量身定制的安全策略 (CSP, CORS, RLS) | | `review_pr` | 审查 PR 差异以发现安全问题,支持严重性阈值控制 | | `scan_secrets_history` | 扫描 git 历史记录以查找泄露的密钥(包含活跃和已移除的) | | `policy_check` | 根据 `.guardviberc` 中定义的合规策略检查项目 | | `analyze_dataflow` | 跟踪从用户输入到危险接收器的污点数据流 | | `analyze_cross_file_dataflow` | **跨文件污点分析** — 跨模块边界跟踪污点数据 | | `check_command` | 在执行前分析 shell 命令的安全风险 | | `scan_config_change` | 对比配置文件版本以检测安全降级 | | `repo_security_posture` | 评估整体仓库安全态势并映射敏感区域 | | `explain_remediation` | 获取详细的修复指南,包含漏洞利用场景和修复策略 | | `scan_file` | 实时单文件扫描 — 为编辑后钩子设计 | | `scan_changed_files` | 仅扫描 git 发生更改的文件 — 用于 PR 和增量 CI | | `security_stats` | 累计安全仪表盘 — 扫描、修复、等级随时间的变化趋势 | | `guardvibe_doctor` | **宿主机安全审计** — CVE-2025-59536, CVE-2026-21852, MCP 配置, 环境扫描器 | | `audit_mcp_config` | 审计 MCP 服务器配置,检查钩子注入、file:// 滥用、敏感路径 | | `scan_host_config | 扫描 shell 配置、.env 文件以发现基础 URL 劫持和凭证嗅探 | | `verify_fix` | 验证安全修复是否已正确应用 — 返回 fixed/still_vulnerable/new_issues | | `security_workflow` | 为你当前的任务(编写代码、预提交、PR 审查等)获取推荐工具工作流 | | `auth_coverage` | **认证覆盖率图** — 枚举路由、解析中间件匹配器、检测认证守卫、报告覆盖率百分比 | | `deep_scan` | **由 LLM 驱动的深度分析** — IDOR、业务逻辑、竞态条件、权限提升(需要 API 密钥) | | `full_audit` | **唯一事实来源** — 在一次调用中运行所有检查,返回 PASS/FAIL/WARN 结果 + 评分 + 覆盖率百分比 + 确定性结果哈希 | | `remediation_plan` | **修复计划** — 在审计后生成按部分分类的修复清单 | | `verify_remediation` | **修复验证** — 对比审计前后的状态,标记跳过的部分 | 所有扫描工具均支持 `format: "json"`,以便进行机器可读的输出。 ## 安全规则 (横跨 25 个模块的 341 条规则) | 类别 | 规则数 | 覆盖范围 | |----------|-------|----------| | 核心 OWASP | 38 | SQL 注入, XSS, CSRF, 命令注入, CORS, SSRF, 硬编码密钥 | | Next.js App Router | 17 | Server Actions, 密钥暴露, 认证绕过, CSP, 重定向 | | 认证 (Clerk / Auth.js / Supabase Auth) | 16 | 中间件, 密钥, 会话存储, 角色检查, SSR cookies | | 数据库 (Supabase / Prisma / Drizzle) | 12 | 原生查询, 客户端暴露, service role 泄露, NoSQL 注入, Drizzle 标识符注入 (CVE-2026-39356) | | OWASP API 安全 | 10 | BOLA/IDOR, 批量赋值, 分页, 速率限制, 错误泄露 | | 现代技术栈 | 40 | Zod, tRPC, Hono, GraphQL, Uploadthing, Turso, Convex, OAuth, CSP, webhooks, AI SDK, React Server Action 验证 (React2Shell) | | 部署配置 | 21 | Vercel, Next.js 配置, Docker Compose, Fly, Render, Netlify, Cloudflare, K8s 密钥 | | 支付 (Stripe / Polar / Lemon) | 9 | Webhook 签名, 密钥暴露, 价格篡改 | | 服务 (Resend / Upstash / Pinecone / PostHog) | 11 | API 密钥泄露, PII 追踪, 邮件注入 | | Web 安全 | 15 | Webhooks, CSP, .env 安全, AI 密钥暴露, cookie 处理 | | React Native / Expo | 10 | AsyncStorage 密钥, deep links, ATS, 硬编码 URL | | Firebase | 7 | Firestore 规则, admin SDK, 存储, 自定义 tokens | | AI / LLM 安全 | 16 | 提示注入, MCP SSRF, 过度代理, 间接注入 | | **AI 宿主机安全** | **10** | **CVE-2025-59536 钩子注入, CVE-2026-21852 基础 URL 劫持, MCP 配置审计** | | **AI 工具运行时** | **4** | **MCP 工具输出净化, 混淆描述, 安全绕过** | | CVE 版本情报 | 27 | `package.json` 中的已知漏洞版本 — 包括 Axios 供应链后门, Clerk 中间件绕过 (GHSA-vqx2), Next.js RSC DoS (CVE-2026-23869), Hono CRLF (CVE-2026-29086) | | Shell / Bash | 5 | 管道至 bash, chmod 777, rm -rf, sudo 密码 | | SQL | 4 | 不带 WHERE 的 DROP/DELETE, 堆叠查询, GRANT ALL | | 供应链 | 16 | 恶意安装脚本, lockfile 完整性, 依赖混淆, 域名仿冒检测 | | Go | 6 | SQL 注入, 命令注入, 模板转义 | | Dockerfile | 7 | Root 用户, ENV 中的密钥, 未打标签的镜像, 非 root 用户 | | CI/CD (GitHub Actions) | 7 | 密钥插值, 未锁定的 actions, write-all 权限 | | Terraform | 6 | 公开 S3, 开放安全组, IAM 通配符 | | 高级安全 | 21 | ReDoS, CRLF 注入, 竞态条件, XXE, 暴力破解, 审计日志 | | 其他服务 | 5 | AWS, GCP, MongoDB, Convex, Sentry, Twilio | ## CLI 命令 ``` # 扫描 npx guardvibe scan [path] # Scan a directory for security issues npx guardvibe scan . --format json # JSON output for automation npx guardvibe check # Scan a single file npx guardvibe diff [base] # Scan only changed files since git ref # 完整安全审计 npx guardvibe audit [path] # Full audit with PASS/FAIL verdict + hash npx guardvibe audit . --format json # JSON output for CI pipelines npx guardvibe audit --skip-deps # Skip dependency CVE check # 主机安全审计 npx guardvibe doctor # Host hardening audit (project scope) npx guardvibe doctor --scope host # + shell profiles, global MCP configs npx guardvibe doctor --scope full # + home dir configs npx guardvibe doctor --format json # JSON output # 设置 npx guardvibe init # Setup MCP server (claude, cursor, gemini, all) npx guardvibe hook install # Install pre-commit hook npx guardvibe hook uninstall # Remove pre-commit hook npx guardvibe ci github # Generate GitHub Actions workflow # Pre-commit / CI npx guardvibe-scan # Scan staged files (for pre-commit) npx guardvibe-scan --format sarif --output results.sarif # CI mode # 选项(所有扫描命令) # --format markdown|json|sarif|buddy # --output 将结果写入文件 # --fail-on 发现问题时以退出码 1 退出:critical|high|medium|low|none ``` ## 插件系统 使用自定义或社区规则包扩展 GuardVibe。 ``` npm install guardvibe-rules-awesome ``` 匹配 `guardvibe-rules-*`、`@guardvibe/rules-*` 或 `@guardvibe-pro/rules-*` 的插件会被自动发现。 ### 编写插件 插件是一个导出 `GuardVibePlugin` 对象的 npm 包: ``` // index.ts import type { GuardVibePlugin } from "guardvibe/plugins"; const plugin: GuardVibePlugin = { name: "my-rules", version: "1.0.0", description: "My custom security rules", rules: [ { id: "CUSTOM001", name: "My Custom Rule", severity: "high", // "critical" | "high" | "medium" | "low" | "info" owasp: "A01:2025 Broken Access Control", description: "What this rule detects and why it's dangerous", pattern: /vulnerable_pattern_here/g, // RegExp with global flag languages: ["javascript", "typescript"], // which file types to scan fix: "How to fix the vulnerability", fixCode: "// Copy-paste secure code example", compliance: ["SOC2:CC6.1"], // optional compliance mapping }, ], }; export default plugin; ``` ### 插件规则结构 | 字段 | 类型 | 必填 | 描述 | |-------|------|----------|-------------| | `id` | string | 是 | 唯一规则 ID (例如 "CUSTOM001") | | `name` | string | 是 | 人类可读的规则名称 | | `severity` | string | 是 | `critical`, `high`, `medium`, `low`, 或 `info` | | `owasp` | string | 是 | OWASP 类别映射 | | `description` | string | 是 | 规则检测的内容 | | `pattern` | RegExp | 是 | 用于匹配漏洞代码的正则表达式模式 (使用 `/g` 标志) | | `languages` | string[] | 是 | 要扫描的文件类型 | | `fix` | string | 是 | 如何修复该问题 | | `fixCode` | string | 否 | 可直接复制粘贴的安全代码示例 | | `compliance` | string[] | 否 | SOC2/PCI-DSS/HIPAA 控制 ID | ### 加载插件 插件从三个来源加载: 1. **自动发现:** 任何与 `guardvibe-rules-*` 或 `@guardvibe/rules-*` 匹配的已安装 npm 包 2. **配置指定:** 在 `.guardviberc` 的 `plugins` 数组中列出的包 3. **本地路径:** `.guardviberc` 的 `plugins` 数组中的相对路径 ``` // .guardviberc { "plugins": [ "guardvibe-rules-awesome", "./my-local-rules" ] } ``` ## 配置 在你的项目根目录创建一个 `.guardviberc` 文件: ``` { "rules": { "disable": ["VG030"], "severity": { "VG002": "medium" } }, "scan": { "exclude": ["fixtures/", "coverage/"], "maxFileSize": 1048576 }, "plugins": ["guardvibe-rules-awesome"] } ``` ## 行内抑制 ``` const key = process.env.API_KEY; // guardvibe-ignore VG001 // guardvibe-ignore-next-line VG002 app.get("/api/health", (req, res) => res.json({ ok: true })); ``` 支持 `//`, `#`, 和 `` 注释风格。 ## GuardVibe 自身扫描 我们使用 GuardVibe 作为自身代码库的预提交钩子。每次提交在到达仓库之前都会被扫描——这与你使用 GuardVibe 为项目启用的工作流完全一致。 ## 工作原理 ``` You write code with AI | AI agent calls GuardVibe MCP tools | GuardVibe scans locally (no cloud, no API) | Returns findings with severity, OWASP mapping, and fix suggestions | AI agent fixes issues before they reach production ``` ## 性能 已在真实的 AI 构建项目上测试 (837 个文件, Next.js + Supabase + Clerk): - 扫描时间:**~1.2s** (837 个文件) - 误报率:**接近零** — 上下文感知检测 (React Native, Supabase client/server, 静态 innerHTML, git 感知密钥) - 检出率:在已知漏洞模式上达到 **100%** - 安全评分:在生产项目上达到 **A (99/100)** ## 故障排除 ### MCP 连接问题 如果你的 AI 代理无法连接到 GuardVibe: 1. **重启你的 IDE/代理。** MCP 服务器由宿主应用程序启动。在运行 `npx guardvibe init` 之后,重启 Claude Code、Cursor 或 Gemini CLI 以使配置生效。 2. **检查配置路径。** 再次运行 `npx guardvibe init claude` 并验证输出是否显示了正确的配置文件位置(对于 Claude Code 是项目根目录下的 `.claude.json`,对于 Cursor 是 `.cursor/mcp.json`)。 3. **验证 Node.js 版本。** GuardVibe 要求 Node.js >= 18.0.0。请使用 `node --version` 进行检查。 4. **清理 npx 缓存。** 如果你升级了 GuardVibe 并且缓存了旧版本,请运行 `npx -y guardvibe@latest` 以强制使用最新版本。 ### Node.js 版本要求 GuardVibe 要求 **Node.js >= 18.0.0**。更早的版本会因为语法错误或缺少 API 而失败。推荐使用 Node.js 22 LTS。 ### 误报 如果某条规则在安全的代码上触发了警告: - **行内抑制:** 在同一行添加 `// guardvibe-ignore VG001`,或在上一行添加 `// guardvibe-ignore-next-line VG001`。支持 `//`, `#`, 和 `` 注释风格。 - **配置排除:** 在 `.guardviberc` 中将规则 ID 添加到 `rules.disable`: { "rules": { "disable": ["VG030"] } } - **路径排除:** 在 `.guardviberc` 中将目录添加到 `scan.exclude`: { "scan": { "exclude": ["fixtures/", "test-data/"] } } ### Pre-commit 钩子问题 - **钩子未运行:** 验证钩子文件是否存在于 `.git/hooks/pre-commit` 并且是否可执行 (`chmod +x .git/hooks/pre-commit`)。 - **钩子阻断了有效提交:** 使用 `git commit --no-verify` 暂时跳过该钩子,然后调查发现的问题。 - **移除钩子:** 运行 `npx guardvibe hook uninstall`。 ## 安全模型 GuardVibe 专为在敏感和专有代码库上使用而设计: - **100% 本地执行。** 所有扫描均在你的机器上进行。不会向任何服务器发送代码、扫描结果或元数据。 - **无账号、无 API 密钥、无遥测。** 没有注册,没有云端仪表盘,也没有任何形式的使用追踪。 - **一次可选的网络调用。** `scan_dependencies` 和 `check_dependencies` 工具会查询 [OSV API](https://osv.dev/) 以检查已知的 CVE。这是可选的——只有在你明确使用这些工具时才会调用它。没有其他工具会发出网络请求。 - **适用于物理隔离环境。** 所有代码分析规则完全离线运行。只有依赖项漏洞检查需要网络访问。 ## 配置 在你的项目根目录创建一个 `.guardviberc` JSON 文件以自定义 GuardVibe 的行为。 ### 完整示例 ``` { "rules": { "disable": ["VG030", "VG045"], "severity": { "VG002": "medium", "VG010": "low" } }, "scan": { "exclude": ["fixtures/", "coverage/", "dist/", "vendor/"], "maxFileSize": 1048576 }, "plugins": [ "guardvibe-rules-awesome", "./my-local-rules" ], "compliance": { "frameworks": ["SOC2", "HIPAA"], "failOn": "high", "exceptions": [ { "ruleId": "VG030", "reason": "Accepted risk per security review 2026-03", "approvedBy": "security-team", "expiresAt": "2026-12-31", "files": ["src/legacy/**"] } ], "requiredControls": ["SOC2:CC6.1"] } } ``` ### 配置字段 | 字段 | 类型 | 默认值 | 描述 | |-------|------|---------|-------------| | `rules.disable` | `string[]` | `[]` | 扫描期间要跳过的规则 ID | | `rules.severity` | `Record` | `{}` | 覆盖特定规则的严重性 | | `scan.exclude` | `string[]` | `[]` | 用于跳过目录/文件的全局匹配模式 | | `scan.maxFileSize` | `number` | `512000` | 最大文件大小(以字节为单位),超过此大小的文件将被跳过 | | `plugins` | `string[]` | `[]` | 作为插件加载的 npm 包名或本地路径 | | `compliance.frameworks` | `string[]` | -- | 要映射的合规框架 (`SOC2`, `PCI-DSS`, `HIPAA`, `GDPR`, `ISO27001`) | | `compliance.failOn` | `string` | `"high"` | 导致合规性失败的最低严重性级别 | | `compliance.exceptions` | `PolicyException[]` | `[]` | 带有到期日期的已批准例外 | | `compliance.requiredControls` | `string[]` | -- | 无论是否存在例外都必须通过的控制 | ## 安全 GuardVibe 高度重视供应链安全: - **npm provenance** — 每个发布版本都通过 Sigstore 进行加密签名,将包与确切的 GitHub 仓库和提交联系起来。可通过 `npm audit signatures` 进行验证 - **启用 2FA** — npm 账号受双因素认证保护 - **分支保护** — 主分支禁用强制推送,并启用了管理员强制执行 - **标签保护** — 版本标签 (`v*`) 无法被删除或强制推送 - **最小 CI 权限** — GitHub Actions 工作流仅使用 `permissions: contents: read- **零运行时依赖** — 仅包含 MCP SDK 和 Zod (两者均经过广泛审计) 如需报告漏洞,请发送电子邮件至 info@goklab.com 或提交 GitHub issue。 ## 许可证 Apache 2.0 — 开源,专利安全,企业就绪。由 [GokLab](https://github.com/goklab) 构建。
标签:AI Agent安全, AI代码生成, AI编程助手, CI/CD安全, CISA项目, Claude Code, Clerk, Copilot, Cursor, CVE漏洞扫描, GitHub Actions, GNU通用公共许可证, Llama, LNA, MCP(Model Context Protocol), MITM代理, Node.js, npm包, SARIF, Stripe, Supabase, 人工智能安全, 代码安全, 前置提交挂钩, 合规性, 安全左移, 开发者安全工具, 暗色界面, 本地安全工具, 漏洞枚举, 自动化安全修复, 自动化攻击, 自动笔记, 调试插件, 间接提示词注入, 零配置, 静态应用安全测试(SAST)