guardvibe 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -311,6 +311,19 @@ Tested on a real 644-file Next.js + Supabase project:
311
311
  - False positive rate: **near zero** (comment/string filtering, human-readable text detection)
312
312
  - Detection rate: **100%** on known vulnerability patterns
313
313
 
314
+ ## Security
315
+
316
+ GuardVibe takes supply chain security seriously:
317
+
318
+ - **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`
319
+ - **2FA enabled** — npm account protected with two-factor authentication
320
+ - **Branch protection** — force push disabled on main, admin enforcement enabled
321
+ - **Tag protection** — version tags (`v*`) cannot be deleted or force-pushed
322
+ - **Minimal CI permissions** — GitHub Actions workflows use `permissions: contents: read` only
323
+ - **Zero runtime dependencies** — only MCP SDK and Zod (both widely audited)
324
+
325
+ To report a vulnerability, please email security@goklab.com or open a GitHub issue.
326
+
314
327
  ## License
315
328
 
316
329
  Apache 2.0 — open source, patent-safe, enterprise-ready. Built by [GokLab](https://github.com/goklab).
package/build/cli.js CHANGED
File without changes
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Extended compliance metadata for all rules.
3
+ * Maps rule IDs to GDPR/ISO27001 mappings and exploit/audit descriptions.
4
+ * This is merged into rules at load time to keep rule files clean.
5
+ */
6
+ interface ComplianceExtension {
7
+ gdpr?: string[];
8
+ iso27001?: string[];
9
+ exploit?: string;
10
+ audit?: string;
11
+ }
12
+ export declare const complianceMetadata: Record<string, ComplianceExtension>;
13
+ /**
14
+ * Apply compliance metadata to a set of rules.
15
+ * Merges GDPR/ISO27001 mappings into compliance[] and adds exploit/audit fields.
16
+ */
17
+ export declare function enrichRulesWithCompliance<T extends {
18
+ id: string;
19
+ compliance?: string[];
20
+ exploit?: string;
21
+ audit?: string;
22
+ }>(rules: T[]): T[];
23
+ export {};
24
+ //# sourceMappingURL=compliance-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-metadata.d.ts","sourceRoot":"","sources":["../../src/data/compliance-metadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA8PlE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAc5I"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Extended compliance metadata for all rules.
3
+ * Maps rule IDs to GDPR/ISO27001 mappings and exploit/audit descriptions.
4
+ * This is merged into rules at load time to keep rule files clean.
5
+ */
6
+ // guardvibe-ignore — this file contains security rule descriptions, not vulnerable code
7
+ export const complianceMetadata = {
8
+ // === CORE RULES (VG001-VG100) ===
9
+ VG001: {
10
+ gdpr: ["GDPR:Art32(1)(a)", "GDPR:Art5(1)(f)"],
11
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
12
+ exploit: "Attacker clones the public repo or decompiles the client bundle to extract hardcoded credentials, then uses them to access backend services, databases, or third-party APIs.",
13
+ audit: "Search codebase for patterns matching API key/password assignments. Show git history to prove no secrets were ever committed. Demonstrate that a secrets manager or environment variables are used instead.",
14
+ },
15
+ VG002: {
16
+ gdpr: ["GDPR:Art32(1)(b)"],
17
+ iso27001: ["ISO27001:A.8.3", "ISO27001:A.8.24"],
18
+ exploit: "Attacker sends crafted SQL input through unvalidated form fields or URL parameters to extract, modify, or delete database records.",
19
+ audit: "Demonstrate that all database queries use parameterized statements or ORM methods. Show code review checklist that includes SQL injection testing.",
20
+ },
21
+ VG003: {
22
+ gdpr: ["GDPR:Art32(1)(a)"],
23
+ iso27001: ["ISO27001:A.8.24"],
24
+ exploit: "Attacker injects shell metacharacters into user input that is passed to shell functions, achieving remote code execution on the server.",
25
+ audit: "Show that no user input is passed to shell functions. Demonstrate use of safe alternatives with argument arrays.",
26
+ },
27
+ VG010: {
28
+ gdpr: ["GDPR:Art32(1)(b)", "GDPR:Art25"],
29
+ iso27001: ["ISO27001:A.8.3", "ISO27001:A.5.15"],
30
+ exploit: "Attacker accesses API endpoints or resources without authentication, reading or modifying data belonging to other users.",
31
+ audit: "Show middleware/auth layer that protects all sensitive endpoints. Demonstrate that unauthenticated requests return 401/403.",
32
+ },
33
+ VG042: {
34
+ gdpr: ["GDPR:Art32(1)(a)"],
35
+ iso27001: ["ISO27001:A.8.24"],
36
+ exploit: "Attacker injects malicious JavaScript through user-provided content rendered without sanitization, stealing session cookies or performing actions as the victim.",
37
+ audit: "Show that all user-generated content is escaped or sanitized before rendering. Demonstrate CSP headers that block inline scripts.",
38
+ },
39
+ VG060: {
40
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
41
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
42
+ exploit: "Attacker finds hardcoded JWT secret and forges valid authentication tokens, impersonating any user including admins.",
43
+ audit: "Show that JWT secrets are stored in environment variables or a secrets manager, never in source code.",
44
+ },
45
+ VG062: {
46
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
47
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
48
+ exploit: "Attacker extracts hardcoded API keys from source code or client bundles to access paid services, steal data, or run up costs.",
49
+ audit: "Scan entire codebase for credential patterns. Verify all sensitive values come from environment variables.",
50
+ },
51
+ // === NEXTJS RULES (VG400-VG412) ===
52
+ VG400: {
53
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
54
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
55
+ exploit: "Server-side secrets in client components are embedded in the JavaScript bundle. Attacker opens browser DevTools to read the secret value directly.",
56
+ audit: "Run next build and inspect the generated client bundles for any process.env references that are not NEXT_PUBLIC_.",
57
+ },
58
+ VG401: {
59
+ gdpr: ["GDPR:Art32(1)(a)", "GDPR:Art25"],
60
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.8.28"],
61
+ exploit: "Attacker crafts malicious form data (SQL fragments, script tags, oversized values) to exploit the unvalidated Server Action, causing injection or data corruption.",
62
+ audit: "Show that every Server Action validates input with a schema library (Zod, Yup) before processing.",
63
+ },
64
+ VG402: {
65
+ gdpr: ["GDPR:Art32(1)(b)", "GDPR:Art25"],
66
+ iso27001: ["ISO27001:A.5.15", "ISO27001:A.8.3"],
67
+ exploit: "Anyone can POST directly to a Server Action URL without authentication. Attacker discovers the action endpoint and calls it to delete data, modify records, or escalate privileges.",
68
+ audit: "Verify every exported Server Action checks auth() at the top. Show access control test cases.",
69
+ },
70
+ VG403: {
71
+ gdpr: ["GDPR:Art32(1)(a)"],
72
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.15"],
73
+ exploit: "With CORS wildcard, any malicious website can make authenticated requests to your API using the victim browser cookies/tokens.",
74
+ audit: "Show CORS configuration with explicit origin allowlist. Test that cross-origin requests from unlisted domains are rejected.",
75
+ },
76
+ VG404: {
77
+ gdpr: ["GDPR:Art32(1)(b)"],
78
+ iso27001: ["ISO27001:A.5.15", "ISO27001:A.8.3"],
79
+ exploit: "Overly broad matcher may expose admin or internal routes that were intended to be protected, bypassing access controls.",
80
+ audit: "Review middleware matcher patterns against actual protected routes. Show that no sensitive routes are accidentally excluded.",
81
+ },
82
+ VG405: {
83
+ gdpr: ["GDPR:Art32(1)(a)"],
84
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.8.20"],
85
+ exploit: "Without security headers, the app is vulnerable to clickjacking, MIME sniffing, and XSS due to missing X-Frame-Options, X-Content-Type-Options, and CSP.",
86
+ audit: "Check response headers using browser DevTools or curl. Verify CSP, HSTS, X-Frame-Options, and X-Content-Type-Options are present.",
87
+ },
88
+ VG406: {
89
+ gdpr: ["GDPR:Art32(1)(a)"],
90
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.8.28"],
91
+ exploit: "Attacker manipulates dynamic route params to access unauthorized records or inject into database queries.",
92
+ audit: "Show that all route params are validated with Zod/schema before use in queries. Test with malformed param values.",
93
+ },
94
+ VG407: {
95
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
96
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
97
+ exploit: "Sensitive data passed as props to client components is serialized into HTML/JSON and visible in page source or network tab.",
98
+ audit: "Inspect rendered HTML for sensitive data leakage. Verify server-only data never appears in client component props.",
99
+ },
100
+ VG408: {
101
+ gdpr: ["GDPR:Art32(1)(a)"],
102
+ iso27001: ["ISO27001:A.8.24"],
103
+ exploit: "Unsafe innerHTML renders unsanitized HTML. If the content includes user input, attacker injects script tags for XSS.",
104
+ audit: "Grep for unsafe innerHTML usage. Verify that all instances use DOMPurify or equivalent sanitization.",
105
+ },
106
+ VG409: {
107
+ gdpr: ["GDPR:Art32(1)(a)"],
108
+ iso27001: ["ISO27001:A.8.24"],
109
+ exploit: "Attacker crafts a URL with redirect parameter pointing to a malicious site, tricking the victim after authentication to enable phishing.",
110
+ audit: "Show redirect URL validation against a domain allowlist. Test with external URLs to verify they are rejected.",
111
+ },
112
+ VG410: {
113
+ gdpr: ["GDPR:Art32(1)(b)"],
114
+ iso27001: ["ISO27001:A.5.15"],
115
+ exploit: "Attacker triggers cache revalidation on unauthenticated endpoints, causing stale data to be served or DoS via excessive revalidation.",
116
+ audit: "Show that revalidation endpoints require authentication. Test unauthenticated calls return 401.",
117
+ },
118
+ VG411: {
119
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
120
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
121
+ exploit: "NEXT_PUBLIC_ variables with secret names are embedded in the client JavaScript bundle. Anyone visiting the site can extract them from the bundle source.",
122
+ audit: "Search .env files for NEXT_PUBLIC_ with secret keywords. Run next build and search output bundles for leaked values.",
123
+ },
124
+ VG412: {
125
+ gdpr: ["GDPR:Art5(1)(c)", "GDPR:Art25"],
126
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
127
+ exploit: "Server Action returns full database objects including sensitive fields (passwordHash, internalNotes). Client receives all data in the response.",
128
+ audit: "Review Server Action return values. Verify select/pick is used to return only necessary fields.",
129
+ },
130
+ // === AUTH RULES (VG420-VG430) ===
131
+ VG420: {
132
+ gdpr: ["GDPR:Art32(1)(b)", "GDPR:Art32(1)(d)"],
133
+ iso27001: ["ISO27001:A.5.15", "ISO27001:A.8.5"],
134
+ exploit: "Without session expiration, stolen session tokens remain valid indefinitely. Attacker uses a leaked token months later to access the account.",
135
+ audit: "Show session configuration with maxAge/expiry. Demonstrate that expired sessions are rejected.",
136
+ },
137
+ VG421: {
138
+ gdpr: ["GDPR:Art32(1)(b)"],
139
+ iso27001: ["ISO27001:A.5.15", "ISO27001:A.8.3"],
140
+ exploit: "Missing CSRF protection allows attacker to trick authenticated users into performing unintended actions via crafted forms on malicious sites.",
141
+ audit: "Show CSRF token implementation. Test that requests without valid CSRF tokens are rejected.",
142
+ },
143
+ VG422: {
144
+ gdpr: ["GDPR:Art32(1)(a)", "GDPR:Art32(1)(b)"],
145
+ iso27001: ["ISO27001:A.8.5", "ISO27001:A.5.17"],
146
+ exploit: "Weak password policy allows brute force attacks. Attacker uses common password lists to compromise accounts in minutes.",
147
+ audit: "Show password policy enforcement (minimum length, complexity). Demonstrate that weak passwords are rejected.",
148
+ },
149
+ // === DATABASE RULES ===
150
+ VG440: {
151
+ gdpr: ["GDPR:Art32(1)(b)", "GDPR:Art25"],
152
+ iso27001: ["ISO27001:A.8.3", "ISO27001:A.5.15"],
153
+ exploit: "Without Supabase RLS, any client with the anon key can read/write all rows in the table directly via the PostgREST API.",
154
+ audit: "Query pg_policies to verify RLS is enabled on all tables. Test that anon/authenticated roles only access permitted rows.",
155
+ },
156
+ VG441: {
157
+ gdpr: ["GDPR:Art32(1)(b)"],
158
+ iso27001: ["ISO27001:A.5.15", "ISO27001:A.8.3"],
159
+ exploit: "Supabase service role key in client code bypasses all RLS policies. Attacker extracts it and has full database access.",
160
+ audit: "Search client bundles for service_role key. Verify it is only used server-side.",
161
+ },
162
+ // === PAYMENT RULES ===
163
+ VG460: {
164
+ gdpr: ["GDPR:Art32(1)(a)"],
165
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
166
+ exploit: "Stripe secret key in client code gives attacker full control over the Stripe account: create charges, issue refunds, access customer data.",
167
+ audit: "Search for sk_live_ and sk_test_ patterns in client bundles. Verify Stripe keys are server-only.",
168
+ },
169
+ VG461: {
170
+ gdpr: ["GDPR:Art32(1)(a)"],
171
+ iso27001: ["ISO27001:A.8.24"],
172
+ exploit: "Without webhook signature verification, attacker sends forged webhook events to grant themselves premium access or trigger refunds.",
173
+ audit: "Show Stripe constructEvent() call with webhook secret. Test with invalid signatures to verify rejection.",
174
+ },
175
+ // === WEB SECURITY RULES ===
176
+ VG650: {
177
+ gdpr: ["GDPR:Art32(1)(a)"],
178
+ iso27001: ["ISO27001:A.8.24"],
179
+ exploit: "Without signature verification, attacker sends forged webhook payloads to trigger business logic (grant access, process fake payments, delete data).",
180
+ audit: "Show HMAC/signature verification code in webhook handler. Test with modified payloads to verify rejection.",
181
+ },
182
+ VG655: {
183
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
184
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
185
+ exploit: "NEXT_PUBLIC_ credentials are compiled into client JavaScript. Attacker views page source to extract service keys.",
186
+ audit: "Audit .env files for NEXT_PUBLIC_ prefix on sensitive vars. Search built client bundles for leaked values.",
187
+ },
188
+ VG656: {
189
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art33"],
190
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
191
+ exploit: "Secrets in git history persist even if the file is later deleted. Attacker clones the repo and runs git log to find credentials.",
192
+ audit: "Run git log on .env files to verify they were never committed. Check .gitignore includes .env patterns.",
193
+ },
194
+ // === DEPLOYMENT RULES ===
195
+ VG500: {
196
+ gdpr: ["GDPR:Art32(1)(a)"],
197
+ iso27001: ["ISO27001:A.8.24"],
198
+ exploit: "CORS wildcard allows any website to make authenticated API requests using the victim session.",
199
+ audit: "Inspect vercel.json headers configuration. Test CORS with requests from unauthorized origins.",
200
+ },
201
+ VG503: {
202
+ gdpr: ["GDPR:Art32(1)(b)"],
203
+ iso27001: ["ISO27001:A.5.15"],
204
+ exploit: "Without CRON_SECRET verification, attacker discovers the cron endpoint URL and triggers it repeatedly, causing data corruption or excessive costs.",
205
+ audit: "Show authorization header check in cron handler. Test unauthenticated calls return 401.",
206
+ },
207
+ VG506: {
208
+ gdpr: ["GDPR:Art5(1)(f)", "GDPR:Art32(1)(a)"],
209
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.33"],
210
+ exploit: "Hardcoded secrets in vercel.json are visible to anyone with repository access, including in git history.",
211
+ audit: "Scan vercel.json for secret patterns. Verify all sensitive values use Vercel environment variables.",
212
+ },
213
+ VG507: {
214
+ gdpr: ["GDPR:Art32(1)(a)"],
215
+ iso27001: ["ISO27001:A.8.24"],
216
+ exploit: "Wildcard remote image pattern allows attacker to use your server as a proxy for SSRF attacks against internal services.",
217
+ audit: "Review remotePatterns in next.config. Verify only trusted hostnames are allowed.",
218
+ },
219
+ // === AI SECURITY RULES ===
220
+ VG800: {
221
+ gdpr: ["GDPR:Art32(1)(a)", "GDPR:Art22"],
222
+ iso27001: ["ISO27001:A.8.24"],
223
+ exploit: "Attacker crafts input that manipulates the LLM into ignoring system instructions, accessing restricted data, or performing unauthorized actions.",
224
+ audit: "Show input validation/sanitization before LLM calls. Demonstrate prompt injection test cases.",
225
+ },
226
+ VG801: {
227
+ gdpr: ["GDPR:Art32(1)(a)"],
228
+ iso27001: ["ISO27001:A.8.24"],
229
+ exploit: "LLM output rendered without sanitization can contain malicious HTML/JS enabling stored XSS.",
230
+ audit: "Show that LLM output is sanitized before rendering. Verify safe rendering methods are used with AI output.",
231
+ },
232
+ // === SUPPLY CHAIN RULES ===
233
+ VG950: {
234
+ gdpr: ["GDPR:Art32(1)(a)"],
235
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.5.19"],
236
+ exploit: "Malicious postinstall script runs arbitrary code during npm install, stealing env vars, injecting backdoors, or exfiltrating data.",
237
+ audit: "Review package.json scripts section. Use npm audit and check for suspicious lifecycle scripts in dependencies.",
238
+ },
239
+ // === MODERN STACK RULES ===
240
+ VG960: {
241
+ gdpr: ["GDPR:Art32(1)(a)", "GDPR:Art25"],
242
+ iso27001: ["ISO27001:A.8.24", "ISO27001:A.8.28"],
243
+ exploit: "Without schema validation, attacker sends malformed data that crashes the server, corrupts the database, or bypasses business logic.",
244
+ audit: "Show Zod/Yup/Valibot schema validation at all API boundaries. Demonstrate that invalid payloads are rejected.",
245
+ },
246
+ VG970: {
247
+ gdpr: ["GDPR:Art32(1)(a)"],
248
+ iso27001: ["ISO27001:A.8.24"],
249
+ exploit: "Unrestricted file upload allows attacker to upload malicious executables, web shells, or oversized files that crash the server.",
250
+ audit: "Show file type validation, size limits, and virus scanning for all upload endpoints.",
251
+ },
252
+ };
253
+ /**
254
+ * Apply compliance metadata to a set of rules.
255
+ * Merges GDPR/ISO27001 mappings into compliance[] and adds exploit/audit fields.
256
+ */
257
+ export function enrichRulesWithCompliance(rules) {
258
+ for (const rule of rules) {
259
+ const meta = complianceMetadata[rule.id];
260
+ if (!meta)
261
+ continue;
262
+ if (meta.gdpr || meta.iso27001) {
263
+ const existing = rule.compliance ?? [];
264
+ const additions = [...(meta.gdpr ?? []), ...(meta.iso27001 ?? [])];
265
+ rule.compliance = [...new Set([...existing, ...additions])];
266
+ }
267
+ if (meta.exploit)
268
+ rule.exploit = meta.exploit;
269
+ if (meta.audit)
270
+ rule.audit = meta.audit;
271
+ }
272
+ return rules;
273
+ }
274
+ //# sourceMappingURL=compliance-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-metadata.js","sourceRoot":"","sources":["../../src/data/compliance-metadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/rules/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwB/C,eAAO,MAAM,UAAU,qCAuBtB,CAAC;AAGF,eAAO,MAAM,YAAY,qCAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/rules/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyB/C,eAAO,MAAM,UAAU,qCAuBrB,CAAC;AAGH,eAAO,MAAM,YAAY,qCAAa,CAAC"}
@@ -20,7 +20,8 @@ import { supplyChainRules } from "./supply-chain.js";
20
20
  import { cveVersionRules } from "./cve-versions.js";
21
21
  import { apiSecurityRules } from "./api-security.js";
22
22
  import { modernStackRules } from "./modern-stack.js";
23
- export const owaspRules = [
23
+ import { enrichRulesWithCompliance } from "../compliance-metadata.js";
24
+ export const owaspRules = enrichRulesWithCompliance([
24
25
  ...coreRules,
25
26
  ...goRules,
26
27
  ...dockerfileRules,
@@ -43,7 +44,7 @@ export const owaspRules = [
43
44
  ...cveVersionRules,
44
45
  ...apiSecurityRules,
45
46
  ...modernStackRules,
46
- ];
47
+ ]);
47
48
  // Alias for clarity — these are the built-in rules without plugins
48
49
  export const builtinRules = owaspRules;
49
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,SAAS;IACZ,GAAG,OAAO;IACV,GAAG,eAAe;IAClB,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,SAAS;IACZ,GAAG,aAAa;IAChB,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,gBAAgB;IACnB,GAAG,aAAa;IAChB,GAAG,iBAAiB;IACpB,GAAG,UAAU;IACb,GAAG,QAAQ;IACX,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,gBAAgB;CACpB,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/rules/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,yBAAyB,CAAC;IAClD,GAAG,SAAS;IACZ,GAAG,OAAO;IACV,GAAG,eAAe;IAClB,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,SAAS;IACZ,GAAG,aAAa;IAChB,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,gBAAgB;IACnB,GAAG,aAAa;IAChB,GAAG,iBAAiB;IACpB,GAAG,UAAU;IACb,GAAG,QAAQ;IACX,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,gBAAgB;CACpB,CAAC,CAAC;AAEH,mEAAmE;AACnE,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC"}
@@ -9,5 +9,7 @@ export interface SecurityRule {
9
9
  fix: string;
10
10
  fixCode?: string;
11
11
  compliance?: string[];
12
+ exploit?: string;
13
+ audit?: string;
12
14
  }
13
15
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/rules/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/rules/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
package/build/index.js CHANGED
@@ -14,12 +14,14 @@ import { complianceReport } from "./tools/compliance-report.js";
14
14
  import { exportSarif } from "./tools/export-sarif.js";
15
15
  import { checkPackageHealth } from "./tools/check-package-health.js";
16
16
  import { fixCode } from "./tools/fix-code.js";
17
+ import { auditConfig } from "./tools/audit-config.js";
18
+ import { generatePolicy } from "./tools/generate-policy.js";
17
19
  import { discoverPlugins } from "./plugins/loader.js";
18
20
  import { builtinRules } from "./data/rules/index.js";
19
21
  import { loadConfig } from "./utils/config.js";
20
22
  const server = new McpServer({
21
23
  name: "guardvibe",
22
- version: "1.3.2",
24
+ version: "1.4.0",
23
25
  });
24
26
  // Tool 1: Analyze code for security vulnerabilities
25
27
  server.tool("check_code", "Analyze code for security vulnerabilities (OWASP Top 10, XSS, SQL injection, insecure patterns). Use this when reviewing or writing code to catch security issues early.", {
@@ -94,14 +96,15 @@ server.tool("check_dependencies", "Check npm, PyPI, or Go packages for known sec
94
96
  };
95
97
  });
96
98
  // Tool 5: Scan directory for security vulnerabilities (filesystem-native)
97
- server.tool("scan_directory", "Scan an entire project directory for security vulnerabilities. Reads files directly from the filesystem — no need to pass file contents. Returns a security score (A-F) and detailed findings.", {
99
+ server.tool("scan_directory", "Scan an entire project directory for security vulnerabilities. Reads files directly from the filesystem — no need to pass file contents. Returns a security score (A-F) and detailed findings. Includes scan metadata (ID, timestamp, duration, file hashes) for audit trails. Use baseline to compare with a previous scan.", {
98
100
  path: z.string().describe("Directory path to scan (e.g. './src', '.')"),
99
101
  recursive: z.boolean().optional().default(true).describe("Scan subdirectories"),
100
102
  exclude: z.array(z.string()).optional().default([]).describe("Additional directories to exclude"),
101
103
  format: z.enum(["markdown", "json"]).default("markdown").describe("Output format: markdown (human) or json (machine-readable for agents)"),
102
- }, async ({ path, recursive, exclude, format }) => {
104
+ baseline: z.string().optional().describe("Path to a previous scan JSON output file for baseline comparison (new/fixed/unchanged findings)"),
105
+ }, async ({ path, recursive, exclude, format, baseline }) => {
103
106
  const rules = globalThis.__guardvibe_rules;
104
- const results = scanDirectory(path, recursive, exclude, format, rules);
107
+ const results = scanDirectory(path, recursive, exclude, format, rules, baseline);
105
108
  return { content: [{ type: "text", text: results }] };
106
109
  });
107
110
  // Tool 6: Scan manifest/lockfile for dependency vulnerabilities
@@ -130,13 +133,14 @@ server.tool("scan_staged", "Scan git-staged files for security vulnerabilities b
130
133
  return { content: [{ type: "text", text: results }] };
131
134
  });
132
135
  // Tool 9: Generate compliance-focused security report
133
- server.tool("compliance_report", "Generate a compliance-focused security report mapped to SOC2, PCI-DSS, or HIPAA controls. Scans a directory and groups findings by compliance control.", {
136
+ server.tool("compliance_report", "Generate a compliance-focused security report mapped to SOC2, PCI-DSS, HIPAA, GDPR, or ISO27001 controls. Scans a directory and groups findings by compliance control. Includes exploit scenarios and audit evidence for each finding. Use mode=executive for a C-level summary.", {
134
137
  path: z.string().describe("Directory to scan"),
135
- framework: z.enum(["SOC2", "PCI-DSS", "HIPAA", "all"]).describe("Compliance framework"),
138
+ framework: z.enum(["SOC2", "PCI-DSS", "HIPAA", "GDPR", "ISO27001", "all"]).describe("Compliance framework"),
136
139
  format: z.enum(["markdown", "json"]).default("markdown").describe("Output format: markdown (human) or json (machine-readable for agents)"),
137
- }, async ({ path, framework, format }) => {
140
+ mode: z.enum(["full", "executive"]).default("full").describe("Report mode: full (detailed) or executive (C-level summary)"),
141
+ }, async ({ path, framework, format, mode }) => {
138
142
  const rules = globalThis.__guardvibe_rules;
139
- const results = complianceReport(path, framework, format, rules);
143
+ const results = complianceReport(path, framework, format, rules, mode);
140
144
  return { content: [{ type: "text", text: results }] };
141
145
  });
142
146
  // Tool 10: Export scan results in SARIF v2.1.0 format
@@ -173,6 +177,22 @@ server.tool("fix_code", "Analyze code for security vulnerabilities and return fi
173
177
  content: [{ type: "text", text: results }],
174
178
  };
175
179
  });
180
+ // Tool 13: Cross-file configuration security audit
181
+ server.tool("audit_config", "Audit project configuration files (next.config, middleware/proxy, .env, vercel.json) together for cross-file security issues. Detects gaps that single-file scanning misses: missing security headers, unprotected routes, exposed secrets, middleware/route mismatches.", {
182
+ path: z.string().describe("Project root directory to audit"),
183
+ format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
184
+ }, async ({ path, format }) => {
185
+ const results = auditConfig(path, format);
186
+ return { content: [{ type: "text", text: results }] };
187
+ });
188
+ // Tool 14: Generate security policies based on detected stack
189
+ server.tool("generate_policy", "Scan a project to detect its stack (Next.js, Supabase, Stripe, etc.) and generate tailored security policies: CSP headers, CORS config, Supabase RLS suggestions, rate limiting config, and security headers.", {
190
+ path: z.string().describe("Project root directory to scan"),
191
+ format: z.enum(["markdown", "json"]).default("markdown").describe("Output format"),
192
+ }, async ({ path, format }) => {
193
+ const results = generatePolicy(path, format);
194
+ return { content: [{ type: "text", text: results }] };
195
+ });
176
196
  async function main() {
177
197
  // Load plugins
178
198
  const config = loadConfig(process.cwd());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface ConfigIssue {
2
+ id: string;
3
+ severity: "critical" | "high" | "medium" | "low";
4
+ category: string;
5
+ title: string;
6
+ description: string;
7
+ fix: string;
8
+ files: string[];
9
+ }
10
+ export declare function auditConfig(path: string, format?: "markdown" | "json"): string;
11
+ //# sourceMappingURL=audit-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-config.d.ts","sourceRoot":"","sources":["../../src/tools/audit-config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAoUD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,UAAU,GAAG,MAAmB,GACvC,MAAM,CAsFR"}