Guardvibe

io.github.goklab由 GitHub 帳號 goklab 發布v3.72.0更新於 Nov 8, 2026

Deterministic security layer your AI can't be. 654 rules, 39 tools, CLI + doctor + host audit.

概覽

AI 產生的概覽

本機安全掃描器,為 AI 程式助理提供確定性的漏洞、金鑰、CVE 與設定錯誤檢查。

可以做什麼
  • 掃描程式碼片段、檔案、目錄以及 git 暫存或變更的差異,給出嚴重度評分並匯出 SARIF
  • 比對 OSV 檢查相依套件的已知 CVE,辨識仿冒套件與幻覺套件,並掃描 git 歷史中的外洩金鑰
  • 稽核設定檔、部署檔、資料流與驗證覆蓋,並將結果對應到 SOC2、PCI-DSS、HIPAA 等合規框架
  • 提供修正建議並套用、再驗證修正結果,產生完整稽核與修復計畫
  • 稽核 AI 主機本身:MCP 設定、shell 設定檔與環境檔案中的鉤子注入和 base URL 劫持
  • 在產生程式碼前,為撰寫提示詞補上安全要求
適用情境
當 AI 助理撰寫或審查應用程式碼,而你希望取得可重複、依規則的安全檢查,而非依賴模型自身判斷時使用。適合提交前檢查、PR 審查、CI 流程以及 AI 主機設定稽核。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 18 或更新版本(建議 22 LTS)。一般工具不需帳號或 API 金鑰;選用的 deep_scan 工具需要 ANTHROPIC_API_KEY 或 OPENAI_API_KEY 環境變數。相依套件 CVE 檢查會連網查詢 OSV API,其餘功能離線執行。
安裝前請注意
多個工具會寫入專案:secure_this 可套用修補,命令列還可安裝提交前鉤子、CI 工作流程與助理設定檔。deep_scan 會將程式碼傳送給 LLM 服務商並按次計費。相依套件檢查會將套件名稱傳送到 OSV。提交前請審閱產生的設定與鉤子變更。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Guardvibe,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

GuardVibe

[npm version] [License: Apache-2.0] [Node.js CI] [npm provenance] [codecov]

Security infrastructure your AI can't be. No matter how good your coding agent gets, it can't know the CVE published after its training cutoff, it can't deterministically guarantee the same check every run, it can't hold your whole repo in context, and it can't objectively review its own code. GuardVibe does all four — the deterministic, post-cutoff-current, whole-repo, author-independent verification layer for AI-written code.

  • 🗓️ Knows what your AI doesn't. CVE rules refreshed daily from GHSA / OSV.dev / CISA KEV — GuardVibe flags vulnerable dependencies published after your model's training cutoff. (274 CVE rules, npm run intel daily triage.)
  • 🎯 Deterministic, not probabilistic. Same code = same result, every run (content-hashed). Your AI guesses; GuardVibe doesn't.
  • 🗺️ Sees the whole repo. Cross-file taint + auth-coverage across every route — catches the unprotected endpoint your agent's narrow context missed.
  • 🔍 An independent second pair of eyes. The thing that wrote the code can't review itself. GuardVibe is the outside checker on AI-written code — in the loop while your AI codes (real-time edit hook), not after.
  • ⬅️ NEW: Starts before the first line of code. Every scanner on earth — including your agent reviewing itself — acts after the code exists. secure_prompt acts before: it analyzes the coding prompt itself, detects the stack and attack surfaces it implies, and embeds severity-ranked GuardVibe requirements into the prompt your AI executes. The vulnerability is prevented, not caught. Deterministic, zero LLM calls — and if the prompt is already secure, it passes through untouched.

The security MCP built for vibe coding. 649 security rules, 39 tools covering the entire AI-generated code journey — from the prompt itself to production deployment.

Works with Claude Code, Cursor, Gemini CLI, Codex, VS Code (Copilot), Windsurf, and any MCP-compatible coding agent.

Why a tool, when your AI is so good?

"More rules" was never the moat — a strong model already knows most security rules by heart. What it can't do is be deterministic, know the CVE published after its training cutoff, hold your whole repo in context, or objectively review the code it just wrote. Those four gaps are structural; they don't close as models improve. GuardVibe is the layer that fills them — running while your AI codes, not in a separate audit later. And since v3.19, it runs before your AI codes too: secure_prompt rewrites the task itself so the security requirements are in the prompt, not in the post-mortem.

Why GuardVibe

Most security tools are built for enterprise security teams. GuardVibe is built for you — the developer using AI to build and ship web apps fast.

  • 649 security rules, 39 tools purpose-built for the stacks AI agents generate
  • Zero setup friction — npx guardvibe and you're scanning
  • No account required — runs 100% locally, no API keys, no cloud
  • Understands your stack — not generic SAST, but rules that know Next.js, Supabase, Stripe, Clerk, and the tools you actually use
  • CVE version intelligence — detects 274 known vulnerable package versions in package.json, refreshed every day from GHSA / OSV.dev / CISA KEV
  • AI agent & MCP security — detects MCP server vulnerabilities, tool-description prompt injection (OWASP MCP Top 10), model-controlled sandbox-disable flags, excessive AI permissions, indirect prompt injection
  • Auto-fix suggestions — fix_code tool returns concrete patches and structured edits the AI agent can apply mechanically. Coverage: hardcoded credentials → env-var migration; public-prefix LLM keys (NEXT_PUBLIC_/VITE_/EXPO_PUBLIC_/REACT_APP_) → prefix removal; CORS wildcards → env allowlist; dangerouslyAllowBrowser flags → drop; sandbox bypass flags (unsafe/noSandbox/allowEval) → drop; agent loops → add maxSteps; raw-HTML React props → <ReactMarkdown>; missing auth checks → insert auth guard; SQL injection → parameterized queries; missing rate limiters / CSRF / security headers → snippet templates.
  • Pre-commit hook — block insecure code before it reaches your repo
  • CI/CD ready — GitHub Actions workflow with SARIF upload to Security tab
  • Agent-friendly output — JSON format for AI agents, Markdown for humans, SARIF for CI/CD
  • Plugin system — extend with community or premium rule packs
  • Taint analysis that knows sanitizers — dataflow stops at DOMPurify, escape functions and parameterized queries, so sanitized paths don't raise findings
  • One score for the whole project — code, dependencies, config, secrets, auth coverage and taint analysis all count toward it

What's new

  • v3.71 — @hapi/content multipart DoS, Socket.IO cluster-engine prototype pollution, nodejs-whisper command injection and obsidian-tc MCP server access-control rules
  • v3.70 — Highcharts XSS and prototype pollution, decode-uri-component and joi DoS, follow-redirects header leak and node-forge certificate-check rules
  • v3.69 — systeminformation command injection, RE2JS ReDoS, GraphQL Tools prototype pollution, Vue I18n XSS and graphql-scalars ReDoS rules

New CVE rules ship almost every day. Full history: CHANGELOG.md · Releases

How GuardVibe Compares

GuardVibe is purpose-built for the AI coding workflow. Traditional tools are excellent for enterprise CI/CD pipelines — GuardVibe fills a different gap.

CapabilityGuardVibeTraditional SASTDependency Scanners
Runs inside AI agents (MCP)NativeNot supportedNot supported
Zero config setupnpx guardvibeAccount + config requiredBuilt-in (limited)
Vibecoding stack rules (Next.js, Supabase, Clerk, tRPC, Hono)100+ dedicatedGeneric patternsNot applicable
AI/LLM security (prompt injection, MCP, tool abuse)68 rulesExperimental/NoneNone
AI host security (CVE-2025-59536, CVE-2026-21852)guardvibe doctorNot supportedNot supported
Auto-fix suggestions for AI agentsfix_code toolCLI autofixNot supported
CVE version detection274 packages, refreshed dailyExtensiveExtensive
Compliance mapping (SOC2, PCI-DSS, HIPAA)Built-inPaid tierNone
SARIF CI/CD exportYesYesLimited
Rule count649 (focused, 68 AI-native)5000+ (broad)N/A

When to use GuardVibe: You're building with AI agents and want security scanning integrated into your coding workflow — no dashboard, no account, no CI setup.

When to use traditional tools: You need deep AST analysis, enterprise dashboards, org-wide policy enforcement, or coverage across hundreds of languages.

Quick Start

Claude Code

bash
npx guardvibe init claude

Creates .mcp.json MCP config (pinned to current version), .claude/settings.json auto-scan hooks, and CLAUDE.md security rules. Restart Claude Code after setup.

Cursor

bash
npx guardvibe init cursor

Creates .cursor/mcp.json and .cursorrules with security rules. Restart Cursor after setup.

Gemini CLI

bash
npx guardvibe init gemini

Creates ~/.gemini/settings.json MCP config and GEMINI.md security rules.

Codex (OpenAI)

bash
codex mcp add guardvibe -- npx -y guardvibe

VS Code (GitHub Copilot)

Create .vscode/mcp.json in your project:

json
{  "servers": {    "guardvibe": {      "command": "npx",      "args": ["-y", "guardvibe"]    }  }}

Note: VS Code uses "servers", not "mcpServers".

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "guardvibe": {      "command": "npx",      "args": ["-y", "guardvibe"]    }  }}

All platforms at once

bash
npx guardvibe init all       # Claude + Cursor + Gemini

Pre-commit hook

bash
npx guardvibe hook install   # Blocks commits with critical/high findingsnpx guardvibe hook uninstall # Remove hook

CI/CD (GitHub Actions)

bash
npx guardvibe ci github          # Generates .github/workflows/guardvibe.yml (SARIF scan)npx guardvibe ci github --pr     # + a diff-aware PR review workflow that posts inline comments

What GuardVibe Scans

Application Code

Next.js App Router, Server Actions, Server Components, React, Express, Hono, tRPC, GraphQL, FastAPI, Go

Authentication & Authorization

Clerk, Auth.js (NextAuth), Supabase Auth, OAuth/OIDC (state parameter, PKCE) — middleware checks, secret exposure, session handling, SSR cookie auth, admin method protection

Database & ORM

Supabase (RLS, anon vs service role), Prisma (raw query injection, CVEs), Drizzle (SQL injection — including CVE-2026-39356 identifier-injection), MikroORM (CVE-2026-44680 runtime-identifier injection), Kysely (CVE-2026-44635 JSON-path traversal), Turso/LibSQL (client exposure, SQL injection), Convex (auth bypass, internal function exposure)

Payments

Stripe (webhook signatures, replay protection, secret keys), Polar.sh, LemonSqueezy

Third-Party Services

Resend (email HTML injection), Upstash Redis, Pinecone, PostHog, Google Analytics (PII tracking), Uploadthing (auth, file type/size)

AI / LLM Security

Prompt injection detection, LLM output sinks, system prompt leaks, MCP server SSRF/path traversal/command injection, MCP tool description prompt-injection markers (OWASP MCP Top 10 alignment, VG1068), model-controlled sandbox-disable flags (dangerouslyDisableSandbox, VG1063), AI agent unrestricted shell/database access, dangerouslyAllowBrowser, missing maxTokens, agent loop without maxSteps, AI API key client exposure, indirect prompt injection via external data, RAG/vector poisoning, public-prefix LLM key leaks (NEXT_PUBLIC_*, VITE_*, EXPO_PUBLIC_*)

AI Host Security

guardvibe doctor — unified host hardening scanner detecting CVE-2025-59536 (hook injection via .claude/settings.json), CVE-2026-21852 (API key exfiltration via ANTHROPIC_BASE_URL override), MCP config audit, environment scanner, permission analysis. Supports Claude, Cursor, VS Code, Gemini, Windsurf. Host-specific remediation with platform-tailored fix steps.

OWASP API Security

BOLA/IDOR (Broken Object Level Authorization), mass assignment (spread request body, Object.assign), missing pagination, rate limiting, admin endpoint authorization, verbose error leaks

Modern Stack

Zod .passthrough() mass assignment, z.any() bypass, file upload validation, server-only import guard, webhook replay protection, CSP headers, unsafe-inline/unsafe-eval detection, cron endpoint auth

Mobile

React Native, Expo — AsyncStorage secrets, deep link token exposure, hardcoded API URLs, ATS configuration

Firebase

Firestore security rules, Firebase Admin SDK exposure, storage rules, custom token validation

CVE Version Intelligence (274 CVEs, refreshed daily)

Frameworks: Next.js (CVE-2024-34351, CVE-2024-46982, CVE-2025-29927, CVE-2026-23869, CVE-2026-44573 / 44574 / 44575 / 44578 / 44579 / 45109 May 2026 cluster), React + react-server-dom-* (CVE-2025-55182, CVE-2026-23870), Express, Hono pre-4.12.18 cluster, @vitejs/plugin-rsc, Strapi content-type-builder (CVE-2026-22599) Auth: Clerk middleware bypass (GHSA-vqx2), Clerk has() org/billing/reverification bypass (GHSA-w24r), Clerk clerkFrontendApiProxy SSRF (CVE-2026-34076), NextAuth.js (2 CVEs), jsonwebtoken ORMs / SQL: Drizzle SQL identifier injection (CVE-2026-39356) + Drizzle sql.raw interpolation (VG1073), MikroORM SQL injection (CVE-2026-44680), Prisma raw-query call-form, Kysely JSON-path traversal (CVE-2026-44635) AI ecosystem: @anthropic-ai/sdk (CVE-2026-34451 + memory tool path escape), Vercel AI SDK file-type bypass (CVE-2025-48985), LangSmith untrusted prompt manifest (CVE-2026-45134), OpenClaude sandbox bypass (CVE-2026-42074), @nyariv/sandboxjs Function.caller escape (CVE-2026-43898) HTTP / parsing: Axios pre-1.15.2 cluster (SSRF + prototype-pollution + DoS + CRLF) + axios proxy-auth redirect leak (VG1071), Hono setCookie attribute injection (VG1072, override pinned ^4.12.21), fast-uri path traversal + host confusion (CVE-2026-6321 / 6322), fast-xml-parser CDATA injection, xmldom CDATA, protobuf.js multi-CVE cluster, undici (2 CVEs), ws Tools / supply chain: node-ipc protestware (VG1069), Miasma @redhat-cloud-services namespace compromise IOC (VG1074), Session messenger exfil endpoint IOC (VG1075), @tanstack/* Mini Shai-Hulud (84 malicious versions, May 2026), @wdio/browserstack-service command injection (CVE-2026-25244), @babel/plugin-transform-modules-systemjs arbitrary code (CVE-2026-44728), @opentelemetry exporter-prometheus DoS (CVE-2026-44902), systeminformation Linux cmd injection (CVE-2026-44724), velocityjs prototype pollution, defu, sharp, lodash, node-fetch, tar, xml2js, crypto-js, angular-expressions RCE, i18next-http-backend, vm2 sandbox breakouts

Deployment & Config

Vercel (vercel.json, cron secrets, headers), Next.js config, Docker, Docker Compose, Fly.io, Render, Netlify, Cloudflare

Infrastructure

Dockerfile security, GitHub Actions CI/CD, Terraform (S3, IAM, RDS, security groups)

Secrets & Environment

API keys (AWS, GitHub, Stripe, OpenAI, Resend, Turso), .env management, .gitignore coverage, high-entropy detection, NEXT_PUBLIC exposure

Compliance Control Mapping

Maps security findings to SOC2, PCI-DSS, HIPAA, GDPR, ISO27001, and EU AI Act (EUAIACT) controls. Identifies which code-level vulnerabilities are relevant to specific compliance requirements. Not a substitute for professional compliance audits.

Supply Chain

Malicious postinstall scripts, unpinned GitHub Actions, CI npm provenance / --ignore-scripts hardening (VG1070), typosquat detection, node-ipc protestware versions (VG1069), Miasma @redhat-cloud-services namespace compromise IOC (VG1074, RHSB-2026-006), Session messenger exfil endpoint IOC (VG1075, filev2.getsession.org), @tanstack/* Mini Shai-Hulud mass-malware versions (May 2026), @wdio/browserstack-service command injection via git branch names (CVE-2026-25244), lockfile poisoning patterns

Prompt-Level Security (Shift Left)

Most vulnerabilities in AI-generated code are born in the prompt: "add login to my app" says nothing about password hashing, session handling, or rate limiting — so the model picks defaults, and the defaults are where the CVEs live. secure_prompt moves the security gate to before code generation: it analyzes the raw prompt, detects the stack and attack surfaces it implies, matches them against GuardVibe's rule set, and returns a directive the host LLM uses to rewrite the prompt with security requirements embedded.

This is not a prompt beautifier. It is deterministic (no LLM, no network), it never restructures intent, and its first job is do no harm: a prompt that is already specific and security-aware gets verdict NO_MOD and passes through untouched.

  • NO_MOD — prompt is already specific and security-aware → proceed with the original prompt unchanged
  • LIGHT_MOD — intent is clear but security constraints are missing → inject requirements only
  • HEAVY_MOD — prompt is vague and security-relevant → inject requirements + surface clarifying questions (never invent the answers)

Before (what the user typed):

text
add login to my app

After (what the host LLM executes, having applied the secure_prompt directive):

text
Add login to my app, with these security requirements:- [VG001] Use environment variables or a secrets manager — never hardcode credentials.- [VG1008] Always verify the caller has admin privileges before allowing role elevation.- [VG105] Always specify allowed algorithms explicitly in jwt.verify().
Before implementing, confirm: which framework/stack is this for, and which authprovider should be used (e.g. Clerk, Auth.js/NextAuth, Supabase Auth, custom JWT)?

Same user intent — but the model now generates auth code with the guardrails stated up front, instead of GuardVibe catching the missing pieces after the fact.

Tools (39 MCP tools)

ToolWhat it does
check_codeAnalyze a code snippet for security issues
check_projectScan multiple files with security scoring (A-F)
scan_directoryScan a project directory from disk
scan_stagedPre-commit scan of git-staged files — diff-aware (blocks only newly-staged lines; diff_aware:false for whole files)
scan_dependenciesCheck all dependencies for known CVEs (OSV) — annotates each vulnerable package with reachability (is it actually imported in your source?)
scan_secretsDetect leaked secrets, API keys, tokens
check_dependenciesCheck individual packages against OSV
check_package_healthTyposquat detection, maintenance status, adoption metrics
compliance_reportMap security findings to compliance controls (SOC2, PCI-DSS, HIPAA, GDPR, ISO27001, EU AI Act)
export_sarifSARIF v2.1.0 export for CI/CD integration
get_security_docsSecurity best practices and guides
fix_codeAuto-fix suggestions with concrete patches for AI agents
secure_thisClose the loop — scan, apply only the fixes that verifiably land (each re-scanned, rolled back on regression), return the verified code + a definition-of-done gate
audit_configAudit project configuration files for cross-file security misconfigurations
generate_policyDetect project stack and generate tailored security policies (CSP, CORS, RLS)
review_prReview PR diff for security issues with severity gating
scan_secrets_historyScan git history for leaked secrets (active and removed)
policy_checkCheck project against compliance policies defined in .guardviberc
analyze_dataflowTrack tainted data flows from user input to dangerous sinks
analyze_cross_file_dataflowCross-file taint analysis — track tainted data across module boundaries
check_commandAnalyze shell commands for security risks before execution
scan_config_changeCompare config file versions to detect security downgrades
repo_security_postureAssess overall repository security posture and map sensitive areas
explain_remediationGet detailed remediation guidance with exploit scenarios and fix strategies
scan_fileReal-time single-file scan — designed for post-edit hooks
scan_changed_filesScan only git-changed files — for PRs and incremental CI; diff-aware (only newly-added lines; diff_aware:false for whole files)
security_statsCumulative security dashboard — scans, fixes, grade trend over time
guardvibe_doctorHost security audit — CVE-2025-59536, CVE-2026-21852, MCP config, env scanner
audit_mcp_configAudit MCP server configurations for hook injection, file:// abuse, sensitive paths
scan_host_configScan shell profiles, .env files for base URL hijack and credential sniffing
verify_fixVerify a security fix was applied correctly — returns fixed/still_vulnerable/new_issues
security_workflowGet recommended tool workflow for your current task (writing, pre-commit, PR review, etc.)
auth_coverageAuth coverage map — enumerate routes, parse middleware matchers, detect auth guards, report coverage %
deep_scanLLM-powered deep analysis — IDOR, business logic, race conditions, auth bypass. Defaults to Claude Haiku 4.5 (~cents/scan). Pass model: 'sonnet' for deeper analysis. CLI: npx guardvibe deep-scan <file> --focus idor
full_auditSingle source of truth — runs ALL checks in one call, returns PASS/FAIL/WARN verdict + score + coverage % + deterministic result hash
remediation_planRemediation plan — generates section-by-section fix checklist after audit
verify_remediationRemediation verification — compares before/after audit, flags skipped sections
secure_promptPrompt-level security (shift left) — analyze a coding prompt BEFORE code is written; deterministic triage (NO_MOD/LIGHT_MOD/HEAVY_MOD), stack + attack-surface detection, severity-ranked GuardVibe requirements embedded via a rewrite directive
scan_hallucinated_packagesSlopsquat / AI-hallucination detector — flags phantom imports (imported but in no manifest) and typosquats fully offline + deterministic; opt-in online tier adds npm-registry truth (404 = nonexistent, brand-new low-download = slopsquat pattern). CLI: npx guardvibe slopscan [path] --offline

All scanning tools support format: "json" for machine-readable output.

Slopsquat / hallucinated-package detection

AI assistants invent package names — ~20% of AI-generated code references packages that don't exist, and attackers register those hallucinated names ("slopsquatting"). Commodity SCA scans known, published packages against vuln databases; it can't see a name that doesn't exist yet, was never installed, or was published yesterday. scan_hallucinated_packages / slopscan targets exactly that seam, at code-gen/PR time:

  • Offline (deterministic, air-gapped): phantom_import (a package imported in source but absent from every package.json — a classic LLM tell) and typosquats of popular packages. Statement-anchored + comment/template-aware, so example imports in docs/strings are never miscounted.
  • Online (opt-in, graceful degrade): npm-registry truth — nonexistent (404), brand-new + low-download (slopsquat-registration pattern), deprecated/unmaintained.

The offline tier is also a full_audit section (online never runs inside the audit, keeping the result hash deterministic). Allowlist intentional unpublished/workspace names via .guardviberc:

json
{ "slopscan": { "online": true, "allow": ["@myorg/internal-pkg"] } }

Security Rules (649 rules across 25 modules)

CategoryRulesCoverage
Core OWASP39SQL injection, XSS, CSRF, command injection, CORS, SSRF, hardcoded secrets
Next.js App Router18Server Actions, secret exposure, auth bypass, CSP, redirects
Auth (Clerk / Auth.js / Supabase Auth)17Middleware, secret keys, session storage, role checks, SSR cookies
Database (Supabase / Prisma / Drizzle)13Raw queries, client exposure, service role leaks, NoSQL injection, Drizzle identifier injection (CVE-2026-39356)
OWASP API Security11BOLA/IDOR, mass assignment, pagination, rate limiting, error leaks
Modern Stack47Zod, tRPC, Hono, GraphQL, Uploadthing, Turso, Convex, OAuth, CSP, webhooks, AI SDK, React Server Action validation (React2Shell)
Deployment Config21Vercel, Next.js config, Docker Compose, Fly, Render, Netlify, Cloudflare, K8s secrets
Payments (Stripe / Polar / Lemon)9Webhook signatures, key exposure, price manipulation
Services (Resend / Upstash / Pinecone / PostHog)11API key leaks, PII tracking, email injection
Web Security20Webhooks, CSP, .env safety, AI key exposure, cookie handling
React Native / Expo10AsyncStorage secrets, deep links, ATS, hardcoded URLs
Firebase7Firestore rules, admin SDK, storage, custom tokens
AI / LLM Security33Prompt injection, MCP SSRF, excessive agency, indirect injection
AI Host Security14CVE-2025-59536 hook injection, CVE-2026-21852 base URL hijack, MCP config audit
AI Tool Runtime14MCP tool output sanitization, obfuscated descriptions, safety bypass
CVE Version Intelligence274Known vulnerable versions in package.json — incl. Vite dev-server cmd injection (CVE-2024-52011), React Router 7 cluster (CVE-2026-33245/42211/42342), DOMPurify XSS (CVE-2026-47423), Better Auth bypass (CVE-2026-45337), Axios supply-chain backdoor
Shell / Bash5Pipe to bash, chmod 777, rm -rf, sudo password
SQL4DROP/DELETE without WHERE, stacked queries, GRANT ALL
Supply Chain19Malicious install scripts, lockfile integrity, dependency confusion, typosquat detection
Go6SQL injection, command injection, template escaping
Dockerfile7Root user, secrets in ENV, untagged images, non-root user
CI/CD (GitHub Actions)8Secrets interpolation, unpinned actions, write-all permissions
Terraform6Public S3, open security groups, IAM wildcards
Advanced Security31ReDoS, CRLF injection, race conditions, XXE, brute force, audit logging
Other Services5AWS, GCP, MongoDB, Convex, Sentry, Twilio

CLI Commands

bash
# Scanningnpx guardvibe scan [path]            # Scan a directory for security issuesnpx guardvibe scan . --format json   # JSON output for automationnpx guardvibe check <file>           # Scan a single filenpx guardvibe diff [base]            # Scan changed files — reports only newly-introduced issuesnpx guardvibe diff [base] --all-lines # Include pre-existing findings in changed files too
# Close the loop — scan, apply verified fixes, re-verifynpx guardvibe secure-this <file>          # Dry run: show the fixes that would land + remaining manual worknpx guardvibe secure-this <file> --write  # Apply only the fixes that re-verify clean (rolled back on regression)npx guardvibe secure-this <file> --format json
# Full security auditnpx guardvibe audit [path]           # Full audit with PASS/FAIL verdict + hashnpx guardvibe audit . --format json  # JSON output for CI pipelinesnpx guardvibe audit --skip-deps      # Skip dependency CVE checknpx guardvibe audit --full           # Disable MCP-output truncation (full finding set)
# Host security auditnpx guardvibe doctor                 # Host hardening audit (project scope)npx guardvibe doctor --scope host    # + shell profiles, global MCP configsnpx guardvibe doctor --scope full    # + home dir configsnpx guardvibe doctor --format json   # JSON output
# LLM-powered deep scan (IDOR, business logic, race conditions, auth bypass)npx guardvibe deep-scan <file>                  # Default: Haiku 4.5, all focus areasnpx guardvibe deep-scan <file> --focus idor     # Narrow to IDORnpx guardvibe deep-scan <file> --model sonnet   # Deeper analysis (more expensive)npx guardvibe deep-scan <file> --max-bytes 5000 # Truncate input for cost control# Requires ANTHROPIC_API_KEY or OPENAI_API_KEY env var
# Setupnpx guardvibe init <platform>       # Setup MCP server (claude, cursor, gemini, all)npx guardvibe hook install           # Install pre-commit hooknpx guardvibe hook uninstall         # Remove pre-commit hooknpx guardvibe ci github              # Generate GitHub Actions workflow
# Pre-commit / CInpx guardvibe-scan                   # Scan staged files (for pre-commit)npx guardvibe-scan --format sarif --output results.sarif  # CI mode
# Options (scan commands)#   --format <type>     scan / diff: markdown|json|sarif#                       check:       markdown|json|sarif|buddy|agent#       agent = guardvibe.agent.v1 — per finding: { id, severity, confidence, exactEdit, manualFix, verify }#       so an AI agent can apply the exact edit and run the verify step to prove the fix#       (an unsupported format errors rather than silently falling back to markdown)#   --output <file>     Write results to file#   --fail-on <level>   critical|high|medium|low|none — exit 1 when a finding at/above this level exists#       check, audit, and the pre-commit gate (guardvibe-scan / scan --staged) gate on#       critical by DEFAULT; scan and diff are reports (exit 0) unless --fail-on is passed#   --full              Bypass response-size caps (50 JSON / 30 markdown / 200-file taint)

Plugin System

Extend GuardVibe with custom or community rule packs.

bash
npm install guardvibe-rules-awesome

Plugins matching guardvibe-rules-*, @guardvibe/rules-*, or @guardvibe-pro/rules-* are discovered automatically.

Writing a Plugin

A plugin is an npm package that exports a GuardVibePlugin object:

typescript
// index.tsimport 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;

Plugin Rule Schema

FieldTypeRequiredDescription
idstringYesUnique rule ID (e.g., "CUSTOM001")
namestringYesHuman-readable rule name
severitystringYescritical, high, medium, low, or info
owaspstringYesOWASP category mapping
descriptionstringYesWhat the rule detects
patternRegExpYesRegex pattern to match vulnerable code (use /g flag)
languagesstring[]YesFile types to scan
fixstringYesHow to fix the issue
fixCodestringNoCopy-paste secure code example
compliancestring[]NoSOC2/PCI-DSS/HIPAA control IDs

Loading Plugins

Plugins are loaded from three sources:

  1. Auto-discovery: Any installed npm package matching guardvibe-rules-* or @guardvibe/rules-*
  2. Config-specified: Packages listed in .guardviberc plugins array
  3. Local paths: Relative paths in .guardviberc plugins array
json
// .guardviberc{  "plugins": [    "guardvibe-rules-awesome",    "./my-local-rules"  ]}

Configuration

Create a .guardviberc file in your project root:

json
{  "rules": {    "disable": ["VG030"],    "severity": {      "VG002": "medium"    }  },  "scan": {    "exclude": ["fixtures/", "coverage/"],    "maxFileSize": 1048576  },  "plugins": ["guardvibe-rules-awesome"]}

Inline Suppression

javascript
const key = process.env.API_KEY; // guardvibe-ignore VG001
// guardvibe-ignore-next-line VG002app.get("/api/health", (req, res) => res.json({ ok: true }));

Supports //, #, and <!-- --> comment styles.

GuardVibe Scans Itself

We run GuardVibe on its own codebase as a pre-commit hook. Every commit is scanned before it reaches the repository — the same workflow GuardVibe enables for your projects.

How It Works

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

Performance

Tested on real AI-built projects (837 files, Next.js + Supabase + Clerk):

  • Scan time: ~1.2s (837 files)
  • False positive rate: near zero — context-aware detection (React Native, Supabase client/server, static innerHTML, git-aware secrets)
  • Detection rate: 100% on known vulnerability patterns
  • Security score: A (99/100) on production projects

Troubleshooting

MCP connection issues

If your AI agent cannot connect to GuardVibe:

  1. Restart your IDE/agent. MCP servers are started by the host application. After running npx guardvibe init, restart Claude Code, Cursor, or Gemini CLI for the config to take effect.
  2. Check the config path. Run npx guardvibe init claude again and verify the output shows the correct config file location (.mcp.json in your project root for Claude Code, .cursor/mcp.json for Cursor).
  3. Re-run init to upgrade. When upgrading GuardVibe, re-run npx guardvibe init claude — .mcp.json is pinned to a specific version (e.g. [email protected]) at init time for fast deterministic startup. As of v3.1.2 the re-run also rewrites stale pins automatically (Upgraded GuardVibe pin (3.1.27 → 3.1.28)); since v3.1.27 the PostToolUse hook command is pinned to the same version (was @latest) and re-run upgrades a stale hook too. The same applies to npx guardvibe hook install and npx guardvibe ci github (since v3.1.3) — both are version-pinned at install/generate time and re-run to upgrade.
  4. Pre-3.1.1 users won't see the auto-update banner. GuardVibe started writing a once-per-day "newer version available" notice to stderr in v3.1.1. If your install predates that, you'll never see it — run npx -y guardvibe@latest init <host> once to bake in the latest pin and start receiving banners on subsequent sessions.
  5. Verify Node.js version. GuardVibe requires Node.js >= 18.0.0. Check with node --version.
  6. Check npx cache. If you upgraded GuardVibe and the old version is cached, run npx -y guardvibe@latest to force the latest version.

Node.js version requirements

GuardVibe requires Node.js >= 18.0.0. Earlier versions will fail with syntax errors or missing APIs. Node.js 22 LTS is recommended.

False positives

If a rule triggers on safe code:

  • Inline suppression: Add // guardvibe-ignore VG001 on the same line, or // guardvibe-ignore-next-line VG001 on the line above. Supports //, #, and <!-- --> comment styles.
  • Config exclusion: Add the rule ID to rules.disable in .guardviberc:
    json
    { "rules": { "disable": ["VG030"] } }
  • Path exclusion: Add directories to scan.exclude in .guardviberc:
    json
    { "scan": { "exclude": ["fixtures/", "test-data/"] } }

Pre-commit hook issues

  • Hook not running: Verify the hook file exists at .git/hooks/pre-commit and is executable (chmod +x .git/hooks/pre-commit).
  • Hook blocking valid commits: Use git commit --no-verify to skip the hook temporarily, then investigate the findings.
  • Removing the hook: Run npx guardvibe hook uninstall.

Security Model

GuardVibe is designed for use on sensitive and proprietary codebases:

  • 100% local execution. All scanning happens on your machine. No code, findings, or metadata are sent to any server.
  • No accounts, no API keys, no telemetry. There is no signup, no cloud dashboard, and no usage tracking of any kind.
  • One optional network call. The scan_dependencies and check_dependencies tools query the OSV API to check for known CVEs. This is opt-in -- you only call it when you explicitly use those tools. No other tool makes network requests.
  • Safe for air-gapped environments. All code analysis rules run entirely offline. Only dependency vulnerability checks require network access.

Configuration (.guardviberc)

Create a .guardviberc JSON file in your project root to customize GuardVibe behavior.

Full example

json
{  "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"]  },  "scoring": {    "densityModel": "exponential"  }}

Configuration fields

FieldTypeDefaultDescription
rules.disablestring[][]Rule IDs to skip during scanning
rules.severityRecord<string, string>{}Override severity for specific rules
scan.excludestring[][]Glob patterns for directories/files to skip
scan.maxFileSizenumber512000Maximum file size in bytes (files larger than this are skipped)
pluginsstring[][]npm package names or local paths to load as plugins
compliance.frameworksstring[]--Compliance frameworks to map against (SOC2, PCI-DSS, HIPAA, GDPR, ISO27001)
compliance.failOnstring"high"Minimum severity that causes compliance failure
compliance.exceptionsPolicyException[][]Approved exceptions with expiration dates
compliance.requiredControlsstring[]--Controls that must pass regardless of exceptions
scoring.densityModel"linear" | "exponential""linear"Score decay curve. linear matches pre-v3.0.50 (cliff at density 5). exponential keeps resolution past density 5 — smoother decay for large repos. Severity caps (1+ critical → max C/60, 1+ high → max B/75) apply under both.

Security

GuardVibe takes supply chain security seriously:

  • npm provenance — every published version is cryptographically signed via Sigstore, linking the package to this exact GitHub repo and commit. Verify with npm audit signatures
  • 2FA enabled — npm account protected with two-factor authentication
  • Branch protection — force push disabled on main, admin enforcement enabled
  • Tag protection — version tags (v*) cannot be deleted or force-pushed
  • Minimal CI permissions — GitHub Actions workflows use permissions: contents: read only
  • Minimal, fully-audited runtime dependencies — only three direct dependencies: the MCP SDK, Zod, and the TypeScript compiler (used for AST-based dataflow analysis). Zod and TypeScript are zero-sub-dependency, pure-JS packages. The MCP SDK pulls a small set of widely-used, audited transitive packages (e.g. express, cors, ajv) for its optional HTTP transport — GuardVibe itself runs over stdio. No native bindings anywhere in the tree, and all code analysis runs 100% locally and offline

To report a vulnerability, please email [email protected] or open a GitHub issue.

License

Apache 2.0 — open source, patent-safe, enterprise-ready. Built by GokLab.

來源:README.md,提交 e215f99

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

35
  1. v3.71.3Nov 7, 2026
  2. v3.70.0Nov 3, 2026
  3. v3.69.0Nov 1, 2026
  4. v3.68.0Oct 31, 2026
  5. v3.67.0Oct 30, 2026
  6. v3.66.0Oct 29, 2026
  7. v3.65.0Oct 23, 2026
  8. v3.64.0Oct 22, 2026
  9. v3.63.0Oct 21, 2026
  10. v3.62.0Oct 18, 2026
  11. v3.61.0Oct 17, 2026
  12. v3.60.0Oct 16, 2026
  13. v3.59.0Oct 15, 2026
  14. v3.58.0Oct 14, 2026
  15. v3.57.0Oct 13, 2026
  16. v3.56.0Oct 12, 2026
  17. v3.55.0Oct 11, 2026
  18. v3.54.0Oct 10, 2026
  19. v3.53.0Oct 9, 2026
  20. v3.52.0Oct 8, 2026
  21. v3.51.0Oct 5, 2026
  22. v3.50.0Oct 4, 2026
  23. v3.48.0Oct 3, 2026
  24. v3.47.0Oct 2, 2026
  25. v3.46.0Oct 1, 2026
  26. v3.45.0Sep 30, 2026
  27. v3.44.0Sep 29, 2026
  28. v3.43.0Sep 29, 2026
  29. v3.42.0Sep 27, 2026
  30. v3.41.0Sep 26, 2026
  31. v3.38.0Sep 26, 2026
  32. v3.37.2Sep 25, 2026
  33. v3.35.1Sep 25, 2026
  34. v3.34.1Sep 23, 2026
  35. v3.31.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分