guardvibe 1.6.0 → 1.6.1

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.
Files changed (230) hide show
  1. package/README.md +4 -4
  2. package/build/cli.d.ts +0 -1
  3. package/build/cli.js +0 -1
  4. package/build/data/compliance-metadata.d.ts +0 -1
  5. package/build/data/compliance-metadata.js +0 -1
  6. package/build/data/framework-guides.d.ts +0 -1
  7. package/build/data/framework-guides.js +0 -1
  8. package/build/data/rules/ai-security.d.ts +0 -1
  9. package/build/data/rules/ai-security.js +0 -1
  10. package/build/data/rules/api-security.d.ts +0 -1
  11. package/build/data/rules/api-security.js +0 -1
  12. package/build/data/rules/auth.d.ts +0 -1
  13. package/build/data/rules/auth.js +0 -1
  14. package/build/data/rules/cicd.d.ts +0 -1
  15. package/build/data/rules/cicd.js +0 -1
  16. package/build/data/rules/core.d.ts +0 -1
  17. package/build/data/rules/core.js +0 -1
  18. package/build/data/rules/cve-versions.d.ts +0 -1
  19. package/build/data/rules/cve-versions.js +0 -1
  20. package/build/data/rules/database.d.ts +0 -1
  21. package/build/data/rules/database.js +0 -1
  22. package/build/data/rules/deployment.d.ts +0 -1
  23. package/build/data/rules/deployment.js +0 -1
  24. package/build/data/rules/dockerfile.d.ts +0 -1
  25. package/build/data/rules/dockerfile.js +0 -1
  26. package/build/data/rules/firebase.d.ts +0 -1
  27. package/build/data/rules/firebase.js +0 -1
  28. package/build/data/rules/go.d.ts +0 -1
  29. package/build/data/rules/go.js +0 -1
  30. package/build/data/rules/index.d.ts +0 -1
  31. package/build/data/rules/index.js +0 -1
  32. package/build/data/rules/modern-stack.d.ts +0 -1
  33. package/build/data/rules/modern-stack.js +0 -1
  34. package/build/data/rules/nextjs.d.ts +0 -1
  35. package/build/data/rules/nextjs.js +0 -1
  36. package/build/data/rules/other-services.d.ts +0 -1
  37. package/build/data/rules/other-services.js +0 -1
  38. package/build/data/rules/payments.d.ts +0 -1
  39. package/build/data/rules/payments.js +0 -1
  40. package/build/data/rules/react-native.d.ts +0 -1
  41. package/build/data/rules/react-native.js +0 -1
  42. package/build/data/rules/services.d.ts +0 -1
  43. package/build/data/rules/services.js +0 -1
  44. package/build/data/rules/shell.d.ts +0 -1
  45. package/build/data/rules/shell.js +0 -1
  46. package/build/data/rules/sql.d.ts +0 -1
  47. package/build/data/rules/sql.js +0 -1
  48. package/build/data/rules/supply-chain.d.ts +0 -1
  49. package/build/data/rules/supply-chain.js +48 -1
  50. package/build/data/rules/terraform.d.ts +0 -1
  51. package/build/data/rules/terraform.js +0 -1
  52. package/build/data/rules/types.d.ts +0 -1
  53. package/build/data/rules/types.js +0 -1
  54. package/build/data/rules/web-security.d.ts +0 -1
  55. package/build/data/rules/web-security.js +0 -1
  56. package/build/data/secret-patterns.d.ts +0 -1
  57. package/build/data/secret-patterns.js +0 -1
  58. package/build/index.d.ts +0 -1
  59. package/build/index.js +0 -1
  60. package/build/plugins/loader.d.ts +0 -1
  61. package/build/plugins/loader.js +0 -1
  62. package/build/plugins/types.d.ts +0 -1
  63. package/build/plugins/types.js +0 -1
  64. package/build/tools/audit-config.d.ts +0 -1
  65. package/build/tools/audit-config.js +0 -1
  66. package/build/tools/check-code.d.ts +0 -1
  67. package/build/tools/check-code.js +0 -1
  68. package/build/tools/check-command.d.ts +0 -1
  69. package/build/tools/check-command.js +0 -1
  70. package/build/tools/check-deps.d.ts +0 -1
  71. package/build/tools/check-deps.js +0 -1
  72. package/build/tools/check-package-health.d.ts +0 -1
  73. package/build/tools/check-package-health.js +0 -1
  74. package/build/tools/check-project.d.ts +0 -1
  75. package/build/tools/check-project.js +0 -1
  76. package/build/tools/compliance-report.d.ts +0 -1
  77. package/build/tools/compliance-report.js +0 -1
  78. package/build/tools/explain-remediation.d.ts +0 -1
  79. package/build/tools/explain-remediation.js +0 -1
  80. package/build/tools/export-sarif.d.ts +0 -1
  81. package/build/tools/export-sarif.js +0 -1
  82. package/build/tools/fix-code.d.ts +0 -1
  83. package/build/tools/fix-code.js +0 -1
  84. package/build/tools/generate-policy.d.ts +0 -1
  85. package/build/tools/generate-policy.js +0 -1
  86. package/build/tools/get-security-docs.d.ts +0 -1
  87. package/build/tools/get-security-docs.js +0 -1
  88. package/build/tools/policy-check.d.ts +0 -1
  89. package/build/tools/policy-check.js +0 -1
  90. package/build/tools/repo-posture.d.ts +0 -1
  91. package/build/tools/repo-posture.js +0 -1
  92. package/build/tools/review-pr.d.ts +0 -1
  93. package/build/tools/review-pr.js +0 -1
  94. package/build/tools/scan-config-change.d.ts +0 -1
  95. package/build/tools/scan-config-change.js +0 -1
  96. package/build/tools/scan-dependencies.d.ts +0 -1
  97. package/build/tools/scan-dependencies.js +0 -1
  98. package/build/tools/scan-directory.d.ts +0 -1
  99. package/build/tools/scan-directory.js +0 -1
  100. package/build/tools/scan-secrets-history.d.ts +0 -1
  101. package/build/tools/scan-secrets-history.js +0 -1
  102. package/build/tools/scan-secrets.d.ts +0 -1
  103. package/build/tools/scan-secrets.js +0 -1
  104. package/build/tools/scan-staged.d.ts +0 -1
  105. package/build/tools/scan-staged.js +0 -1
  106. package/build/tools/taint-analysis.d.ts +0 -1
  107. package/build/tools/taint-analysis.js +0 -1
  108. package/build/utils/config.d.ts +0 -1
  109. package/build/utils/config.js +0 -1
  110. package/build/utils/manifest-parser.d.ts +0 -1
  111. package/build/utils/manifest-parser.js +0 -1
  112. package/build/utils/osv-client.d.ts +0 -1
  113. package/build/utils/osv-client.js +0 -1
  114. package/build/utils/typosquat.d.ts +0 -1
  115. package/build/utils/typosquat.js +0 -1
  116. package/package.json +2 -2
  117. package/build/cli.d.ts.map +0 -1
  118. package/build/cli.js.map +0 -1
  119. package/build/data/compliance-metadata.d.ts.map +0 -1
  120. package/build/data/compliance-metadata.js.map +0 -1
  121. package/build/data/framework-guides.d.ts.map +0 -1
  122. package/build/data/framework-guides.js.map +0 -1
  123. package/build/data/rules/ai-security.d.ts.map +0 -1
  124. package/build/data/rules/ai-security.js.map +0 -1
  125. package/build/data/rules/api-security.d.ts.map +0 -1
  126. package/build/data/rules/api-security.js.map +0 -1
  127. package/build/data/rules/auth.d.ts.map +0 -1
  128. package/build/data/rules/auth.js.map +0 -1
  129. package/build/data/rules/cicd.d.ts.map +0 -1
  130. package/build/data/rules/cicd.js.map +0 -1
  131. package/build/data/rules/core.d.ts.map +0 -1
  132. package/build/data/rules/core.js.map +0 -1
  133. package/build/data/rules/cve-versions.d.ts.map +0 -1
  134. package/build/data/rules/cve-versions.js.map +0 -1
  135. package/build/data/rules/database.d.ts.map +0 -1
  136. package/build/data/rules/database.js.map +0 -1
  137. package/build/data/rules/deployment.d.ts.map +0 -1
  138. package/build/data/rules/deployment.js.map +0 -1
  139. package/build/data/rules/dockerfile.d.ts.map +0 -1
  140. package/build/data/rules/dockerfile.js.map +0 -1
  141. package/build/data/rules/firebase.d.ts.map +0 -1
  142. package/build/data/rules/firebase.js.map +0 -1
  143. package/build/data/rules/go.d.ts.map +0 -1
  144. package/build/data/rules/go.js.map +0 -1
  145. package/build/data/rules/index.d.ts.map +0 -1
  146. package/build/data/rules/index.js.map +0 -1
  147. package/build/data/rules/modern-stack.d.ts.map +0 -1
  148. package/build/data/rules/modern-stack.js.map +0 -1
  149. package/build/data/rules/nextjs.d.ts.map +0 -1
  150. package/build/data/rules/nextjs.js.map +0 -1
  151. package/build/data/rules/other-services.d.ts.map +0 -1
  152. package/build/data/rules/other-services.js.map +0 -1
  153. package/build/data/rules/payments.d.ts.map +0 -1
  154. package/build/data/rules/payments.js.map +0 -1
  155. package/build/data/rules/react-native.d.ts.map +0 -1
  156. package/build/data/rules/react-native.js.map +0 -1
  157. package/build/data/rules/services.d.ts.map +0 -1
  158. package/build/data/rules/services.js.map +0 -1
  159. package/build/data/rules/shell.d.ts.map +0 -1
  160. package/build/data/rules/shell.js.map +0 -1
  161. package/build/data/rules/sql.d.ts.map +0 -1
  162. package/build/data/rules/sql.js.map +0 -1
  163. package/build/data/rules/supply-chain.d.ts.map +0 -1
  164. package/build/data/rules/supply-chain.js.map +0 -1
  165. package/build/data/rules/terraform.d.ts.map +0 -1
  166. package/build/data/rules/terraform.js.map +0 -1
  167. package/build/data/rules/types.d.ts.map +0 -1
  168. package/build/data/rules/types.js.map +0 -1
  169. package/build/data/rules/web-security.d.ts.map +0 -1
  170. package/build/data/rules/web-security.js.map +0 -1
  171. package/build/data/secret-patterns.d.ts.map +0 -1
  172. package/build/data/secret-patterns.js.map +0 -1
  173. package/build/index.d.ts.map +0 -1
  174. package/build/index.js.map +0 -1
  175. package/build/plugins/loader.d.ts.map +0 -1
  176. package/build/plugins/loader.js.map +0 -1
  177. package/build/plugins/types.d.ts.map +0 -1
  178. package/build/plugins/types.js.map +0 -1
  179. package/build/tools/audit-config.d.ts.map +0 -1
  180. package/build/tools/audit-config.js.map +0 -1
  181. package/build/tools/check-code.d.ts.map +0 -1
  182. package/build/tools/check-code.js.map +0 -1
  183. package/build/tools/check-command.d.ts.map +0 -1
  184. package/build/tools/check-command.js.map +0 -1
  185. package/build/tools/check-deps.d.ts.map +0 -1
  186. package/build/tools/check-deps.js.map +0 -1
  187. package/build/tools/check-package-health.d.ts.map +0 -1
  188. package/build/tools/check-package-health.js.map +0 -1
  189. package/build/tools/check-project.d.ts.map +0 -1
  190. package/build/tools/check-project.js.map +0 -1
  191. package/build/tools/compliance-report.d.ts.map +0 -1
  192. package/build/tools/compliance-report.js.map +0 -1
  193. package/build/tools/explain-remediation.d.ts.map +0 -1
  194. package/build/tools/explain-remediation.js.map +0 -1
  195. package/build/tools/export-sarif.d.ts.map +0 -1
  196. package/build/tools/export-sarif.js.map +0 -1
  197. package/build/tools/fix-code.d.ts.map +0 -1
  198. package/build/tools/fix-code.js.map +0 -1
  199. package/build/tools/generate-policy.d.ts.map +0 -1
  200. package/build/tools/generate-policy.js.map +0 -1
  201. package/build/tools/get-security-docs.d.ts.map +0 -1
  202. package/build/tools/get-security-docs.js.map +0 -1
  203. package/build/tools/policy-check.d.ts.map +0 -1
  204. package/build/tools/policy-check.js.map +0 -1
  205. package/build/tools/repo-posture.d.ts.map +0 -1
  206. package/build/tools/repo-posture.js.map +0 -1
  207. package/build/tools/review-pr.d.ts.map +0 -1
  208. package/build/tools/review-pr.js.map +0 -1
  209. package/build/tools/scan-config-change.d.ts.map +0 -1
  210. package/build/tools/scan-config-change.js.map +0 -1
  211. package/build/tools/scan-dependencies.d.ts.map +0 -1
  212. package/build/tools/scan-dependencies.js.map +0 -1
  213. package/build/tools/scan-directory.d.ts.map +0 -1
  214. package/build/tools/scan-directory.js.map +0 -1
  215. package/build/tools/scan-secrets-history.d.ts.map +0 -1
  216. package/build/tools/scan-secrets-history.js.map +0 -1
  217. package/build/tools/scan-secrets.d.ts.map +0 -1
  218. package/build/tools/scan-secrets.js.map +0 -1
  219. package/build/tools/scan-staged.d.ts.map +0 -1
  220. package/build/tools/scan-staged.js.map +0 -1
  221. package/build/tools/taint-analysis.d.ts.map +0 -1
  222. package/build/tools/taint-analysis.js.map +0 -1
  223. package/build/utils/config.d.ts.map +0 -1
  224. package/build/utils/config.js.map +0 -1
  225. package/build/utils/manifest-parser.d.ts.map +0 -1
  226. package/build/utils/manifest-parser.js.map +0 -1
  227. package/build/utils/osv-client.d.ts.map +0 -1
  228. package/build/utils/osv-client.js.map +0 -1
  229. package/build/utils/typosquat.d.ts.map +0 -1
  230. package/build/utils/typosquat.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GuardVibe
2
2
 
3
- **The security MCP built for vibe coding.** 239 security rules covering the entire AI-generated code journey — from first line to production deployment.
3
+ **The security MCP built for vibe coding.** 243 security rules covering the entire AI-generated code journey — from first line to production deployment.
4
4
 
5
5
  Works with **Claude Code, Cursor, Gemini CLI, Codex, Windsurf**, and any MCP-compatible coding agent.
6
6
 
@@ -8,7 +8,7 @@ Works with **Claude Code, Cursor, Gemini CLI, Codex, Windsurf**, and any MCP-com
8
8
 
9
9
  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.
10
10
 
11
- - **239 security rules** purpose-built for the stacks AI agents generate
11
+ - **243 security rules** purpose-built for the stacks AI agents generate
12
12
  - **Zero setup friction** — `npx guardvibe` and you're scanning
13
13
  - **No account required** — runs 100% locally, no API keys, no cloud
14
14
  - **Understands your stack** — not generic SAST, but rules that know Next.js, Supabase, Stripe, Clerk, and the tools you actually use
@@ -34,7 +34,7 @@ GuardVibe is purpose-built for the AI coding workflow. Traditional tools are exc
34
34
  | CVE version detection | 21 packages | Extensive | Extensive |
35
35
  | Compliance mapping (SOC2, PCI-DSS, HIPAA) | Built-in | Paid tier | None |
36
36
  | SARIF CI/CD export | Yes | Yes | Limited |
37
- | Rule count | 239 (focused) | 5000+ (broad) | N/A |
37
+ | Rule count | 243 (focused) | 5000+ (broad) | N/A |
38
38
 
39
39
  **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.
40
40
 
@@ -146,7 +146,7 @@ Malicious postinstall scripts, unpinned GitHub Actions, typosquat detection
146
146
 
147
147
  All scanning tools support `format: "json"` for machine-readable output.
148
148
 
149
- ## Security Rules (239 rules across 23 modules)
149
+ ## Security Rules (243 rules across 23 modules)
150
150
 
151
151
  | Category | Rules | Coverage |
152
152
  |----------|-------|----------|
package/build/cli.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/build/cli.js CHANGED
@@ -422,4 +422,3 @@ async function main() {
422
422
  process.exit(1);
423
423
  }
424
424
  }
425
- //# sourceMappingURL=cli.js.map
@@ -21,4 +21,3 @@ export declare function enrichRulesWithCompliance<T extends {
21
21
  audit?: string;
22
22
  }>(rules: T[]): T[];
23
23
  export {};
24
- //# sourceMappingURL=compliance-metadata.d.ts.map
@@ -271,4 +271,3 @@ export function enrichRulesWithCompliance(rules) {
271
271
  }
272
272
  return rules;
273
273
  }
274
- //# sourceMappingURL=compliance-metadata.js.map
@@ -5,4 +5,3 @@ export interface SecurityGuide {
5
5
  content: string;
6
6
  }
7
7
  export declare const frameworkGuides: SecurityGuide[];
8
- //# sourceMappingURL=framework-guides.d.ts.map
@@ -786,4 +786,3 @@ throw new TRPCError({
786
786
  `,
787
787
  },
788
788
  ];
789
- //# sourceMappingURL=framework-guides.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const aiSecurityRules: SecurityRule[];
3
- //# sourceMappingURL=ai-security.d.ts.map
@@ -172,4 +172,3 @@ export const aiSecurityRules = [
172
172
  compliance: ["SOC2:CC7.1"],
173
173
  },
174
174
  ];
175
- //# sourceMappingURL=ai-security.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const apiSecurityRules: SecurityRule[];
3
- //# sourceMappingURL=api-security.d.ts.map
@@ -129,4 +129,3 @@ export const apiSecurityRules = [
129
129
  compliance: ["SOC2:CC7.2"],
130
130
  },
131
131
  ];
132
- //# sourceMappingURL=api-security.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const authRules: SecurityRule[];
3
- //# sourceMappingURL=auth.d.ts.map
@@ -198,4 +198,3 @@ export const authRules = [
198
198
  compliance: ["SOC2:CC6.6"],
199
199
  },
200
200
  ];
201
- //# sourceMappingURL=auth.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const cicdRules: SecurityRule[];
3
- //# sourceMappingURL=cicd.d.ts.map
@@ -44,4 +44,3 @@ export const cicdRules = [
44
44
  fixCode: "# Use least-privilege permissions\npermissions:\n contents: read\n pull-requests: write",
45
45
  },
46
46
  ];
47
- //# sourceMappingURL=cicd.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const coreRules: SecurityRule[];
3
- //# sourceMappingURL=core.d.ts.map
@@ -299,4 +299,3 @@ export const coreRules = [
299
299
  compliance: ["SOC2:CC7.1", "PCI-DSS:Req6.5.1"],
300
300
  },
301
301
  ];
302
- //# sourceMappingURL=core.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const cveVersionRules: SecurityRule[];
3
- //# sourceMappingURL=cve-versions.d.ts.map
@@ -242,4 +242,3 @@ export const cveVersionRules = [
242
242
  compliance: ["SOC2:CC6.1"],
243
243
  },
244
244
  ];
245
- //# sourceMappingURL=cve-versions.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const databaseRules: SecurityRule[];
3
- //# sourceMappingURL=database.d.ts.map
@@ -100,4 +100,3 @@ export const databaseRules = [
100
100
  compliance: ["SOC2:CC6.1"],
101
101
  },
102
102
  ];
103
- //# sourceMappingURL=database.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const deploymentRules: SecurityRule[];
3
- //# sourceMappingURL=deployment.d.ts.map
@@ -195,4 +195,3 @@ export const deploymentRules = [
195
195
  compliance: ["SOC2:CC6.1", "PCI-DSS:Req4.1"],
196
196
  },
197
197
  ];
198
- //# sourceMappingURL=deployment.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const dockerfileRules: SecurityRule[];
3
- //# sourceMappingURL=dockerfile.d.ts.map
@@ -55,4 +55,3 @@ export const dockerfileRules = [
55
55
  fixCode: "# Use COPY for local files\nCOPY ./src /app/src\n# Only use ADD for remote files or tar extraction\n# ADD https://example.com/file.tar.gz /app/",
56
56
  },
57
57
  ];
58
- //# sourceMappingURL=dockerfile.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const firebaseRules: SecurityRule[];
3
- //# sourceMappingURL=firebase.d.ts.map
@@ -84,4 +84,3 @@ export const firebaseRules = [
84
84
  compliance: ["SOC2:CC6.1"],
85
85
  },
86
86
  ];
87
- //# sourceMappingURL=firebase.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const goRules: SecurityRule[];
3
- //# sourceMappingURL=go.d.ts.map
@@ -67,4 +67,3 @@ export const goRules = [
67
67
  fixCode: "// Specify allowed origins\nw.Header().Set(\"Access-Control-Allow-Origin\", \"https://myapp.com\")",
68
68
  },
69
69
  ];
70
- //# sourceMappingURL=go.js.map
@@ -1,4 +1,3 @@
1
1
  export type { SecurityRule } from "./types.js";
2
2
  export declare const owaspRules: import("./types.js").SecurityRule[];
3
3
  export declare const builtinRules: import("./types.js").SecurityRule[];
4
- //# sourceMappingURL=index.d.ts.map
@@ -47,4 +47,3 @@ export const owaspRules = enrichRulesWithCompliance([
47
47
  ]);
48
48
  // Alias for clarity — these are the built-in rules without plugins
49
49
  export const builtinRules = owaspRules;
50
- //# sourceMappingURL=index.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const modernStackRules: SecurityRule[];
3
- //# sourceMappingURL=modern-stack.d.ts.map
@@ -411,4 +411,3 @@ export const modernStackRules = [
411
411
  compliance: ["SOC2:CC6.6"],
412
412
  },
413
413
  ];
414
- //# sourceMappingURL=modern-stack.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const nextjsRules: SecurityRule[];
3
- //# sourceMappingURL=nextjs.d.ts.map
@@ -157,4 +157,3 @@ export const nextjsRules = [
157
157
  compliance: ["SOC2:CC6.1", "HIPAA:§164.312(a)"],
158
158
  },
159
159
  ];
160
- //# sourceMappingURL=nextjs.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const otherServiceRules: SecurityRule[];
3
- //# sourceMappingURL=other-services.d.ts.map
@@ -60,4 +60,3 @@ export const otherServiceRules = [
60
60
  compliance: ["SOC2:CC6.1"],
61
61
  },
62
62
  ];
63
- //# sourceMappingURL=other-services.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const paymentRules: SecurityRule[];
3
- //# sourceMappingURL=payments.d.ts.map
@@ -111,4 +111,3 @@ export const paymentRules = [
111
111
  compliance: ["SOC2:CC6.6", "PCI-DSS:Req6.5.10"],
112
112
  },
113
113
  ];
114
- //# sourceMappingURL=payments.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const reactNativeRules: SecurityRule[];
3
- //# sourceMappingURL=react-native.d.ts.map
@@ -120,4 +120,3 @@ export const reactNativeRules = [
120
120
  compliance: ["SOC2:CC6.1"],
121
121
  },
122
122
  ];
123
- //# sourceMappingURL=react-native.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const serviceRules: SecurityRule[];
3
- //# sourceMappingURL=services.d.ts.map
@@ -137,4 +137,3 @@ export const serviceRules = [
137
137
  compliance: ["SOC2:CC6.1"],
138
138
  },
139
139
  ];
140
- //# sourceMappingURL=services.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const shellRules: SecurityRule[];
3
- //# sourceMappingURL=shell.d.ts.map
@@ -60,4 +60,3 @@ export const shellRules = [
60
60
  compliance: ["SOC2:CC7.1", "PCI-DSS:Req6.5.1"],
61
61
  },
62
62
  ];
63
- //# sourceMappingURL=shell.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const sqlRules: SecurityRule[];
3
- //# sourceMappingURL=sql.d.ts.map
@@ -48,4 +48,3 @@ export const sqlRules = [
48
48
  compliance: ["SOC2:CC7.1", "PCI-DSS:Req6.5.1"],
49
49
  },
50
50
  ];
51
- //# sourceMappingURL=sql.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const supplyChainRules: SecurityRule[];
3
- //# sourceMappingURL=supply-chain.d.ts.map
@@ -24,5 +24,52 @@ export const supplyChainRules = [
24
24
  fixCode: "- uses: actions/checkout@v4\n with:\n persist-credentials: false",
25
25
  compliance: ["SOC2:CC6.1"],
26
26
  },
27
+ {
28
+ id: "VG862",
29
+ name: "Source Map Publish Risk",
30
+ severity: "critical",
31
+ owasp: "A05:2021 Security Misconfiguration",
32
+ description: 'Source map files (.map) expose original source code when published to npm. Anthropic\'s Claude Code source leak (March 2026) was caused by this exact misconfiguration. If tsconfig enables sourceMap and the package lacks .npmignore exclusions, your entire codebase ships to the registry.',
33
+ pattern: /"sourceMap"\s*:\s*true/g,
34
+ languages: ["json"],
35
+ fix: 'Set "sourceMap": false in tsconfig.json for production builds, or add *.map to .npmignore to prevent source maps from being published.',
36
+ fixCode: '// tsconfig.json — disable source maps for published packages\n{\n "compilerOptions": {\n "sourceMap": false,\n "declarationMap": false\n }\n}\n\n// Or add to .npmignore:\n// *.map',
37
+ compliance: ["SOC2:CC6.1", "PCI-DSS:Req6.5.10"],
38
+ },
39
+ {
40
+ id: "VG863",
41
+ name: 'package.json Missing "files" Field',
42
+ severity: "high",
43
+ owasp: "A05:2021 Security Misconfiguration",
44
+ description: 'A publishable npm package without a "files" field in package.json publishes the entire project directory — including src/, .env, test fixtures, and internal configs. Always use "files" to whitelist only build output.',
45
+ pattern: /"version"\s*:\s*"[^"]*"(?![\s\S]*"files"\s*:)(?![\s\S]*"private"\s*:\s*true)/g,
46
+ languages: ["json"],
47
+ fix: 'Add a "files" field to package.json listing only the directories and files needed by consumers (e.g., dist/, build/).',
48
+ fixCode: '// package.json — whitelist published files\n{\n "name": "my-package",\n "version": "1.0.0",\n "files": [\n "dist",\n "build",\n "README.md"\n ]\n}',
49
+ compliance: ["SOC2:CC6.1"],
50
+ },
51
+ {
52
+ id: "VG864",
53
+ name: '"files" Field Includes Source Code',
54
+ severity: "high",
55
+ owasp: "A05:2021 Security Misconfiguration",
56
+ description: 'The "files" field in package.json includes source directories ("src", ".", or "**"). This publishes raw source code to npm, defeating the purpose of the whitelist. Only compiled output should be listed.',
57
+ pattern: /"files"\s*:\s*\[[^\]]*(?:"src"|"\.\/?"|"\*\*")[^\]]*\]/g,
58
+ languages: ["json"],
59
+ fix: 'Remove "src", ".", and "**" from the "files" array. Only include compiled output directories like "dist" or "build".',
60
+ fixCode: '// BAD — leaks source code\n// "files": ["src", "dist"]\n\n// GOOD — only build output\n{\n "files": [\n "dist",\n "build"\n ]\n}',
61
+ compliance: ["SOC2:CC6.1", "PCI-DSS:Req6.5.10"],
62
+ },
63
+ {
64
+ id: "VG865",
65
+ name: ".npmignore Missing Sensitive File Patterns",
66
+ severity: "medium",
67
+ owasp: "A05:2021 Security Misconfiguration",
68
+ description: ".npmignore exists but does not exclude common sensitive files (*.map, .env, src/). Without these exclusions, source maps, environment secrets, and raw source code can leak into the published package.",
69
+ pattern: /^(?![\s\S]*\*\.map)(?![\s\S]*\.env)(?![\s\S]*src\/).+/gm,
70
+ languages: ["shell"],
71
+ fix: "Add *.map, .env*, src/, and tests/ to .npmignore to prevent accidental publish of sensitive files.",
72
+ fixCode: "# .npmignore — exclude sensitive files from npm publish\n*.map\n.env\n.env.*\nsrc/\ntests/\n__tests__/\n*.test.*\n*.spec.*\ntsconfig*.json\n.github/",
73
+ compliance: ["SOC2:CC6.1"],
74
+ },
27
75
  ];
28
- //# sourceMappingURL=supply-chain.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const terraformRules: SecurityRule[];
3
- //# sourceMappingURL=terraform.d.ts.map
@@ -60,4 +60,3 @@ export const terraformRules = [
60
60
  compliance: ["SOC2:CC6.1", "PCI-DSS:Req2.3", "HIPAA:§164.312(a)"],
61
61
  },
62
62
  ];
63
- //# sourceMappingURL=terraform.js.map
@@ -12,4 +12,3 @@ export interface SecurityRule {
12
12
  exploit?: string;
13
13
  audit?: string;
14
14
  }
15
- //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "./types.js";
2
2
  export declare const webSecurityRules: SecurityRule[];
3
- //# sourceMappingURL=web-security.d.ts.map
@@ -174,4 +174,3 @@ export const webSecurityRules = [
174
174
  compliance: ["SOC2:CC6.1"],
175
175
  },
176
176
  ];
177
- //# sourceMappingURL=web-security.js.map
@@ -6,4 +6,3 @@ export interface SecretPattern {
6
6
  }
7
7
  export declare const secretPatterns: SecretPattern[];
8
8
  export declare function calculateEntropy(str: string): number;
9
- //# sourceMappingURL=secret-patterns.d.ts.map
@@ -84,4 +84,3 @@ export function calculateEntropy(str) {
84
84
  }
85
85
  return entropy;
86
86
  }
87
- //# sourceMappingURL=secret-patterns.js.map
package/build/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
- //# sourceMappingURL=index.d.ts.map
package/build/index.js CHANGED
@@ -313,4 +313,3 @@ main().catch((error) => {
313
313
  console.error("Fatal error:", error);
314
314
  process.exit(1);
315
315
  });
316
- //# sourceMappingURL=index.js.map
@@ -15,4 +15,3 @@ export interface LoadedPlugins {
15
15
  }
16
16
  export declare function discoverPlugins(baseDir: string, configPlugins?: string[]): Promise<LoadedPlugins>;
17
17
  export {};
18
- //# sourceMappingURL=loader.d.ts.map
@@ -148,4 +148,3 @@ export async function discoverPlugins(baseDir, configPlugins = []) {
148
148
  }
149
149
  return result;
150
150
  }
151
- //# sourceMappingURL=loader.js.map
@@ -14,4 +14,3 @@ export interface GuardVibePlugin {
14
14
  rules?: SecurityRule[];
15
15
  tools?: GuardVibeTool[];
16
16
  }
17
- //# sourceMappingURL=types.d.ts.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -8,4 +8,3 @@ export interface ConfigIssue {
8
8
  files: string[];
9
9
  }
10
10
  export declare function auditConfig(path: string, format?: "markdown" | "json"): string;
11
- //# sourceMappingURL=audit-config.d.ts.map
@@ -367,4 +367,3 @@ export function auditConfig(path, format = "markdown") {
367
367
  }
368
368
  return lines.join("\n");
369
369
  }
370
- //# sourceMappingURL=audit-config.js.map
@@ -7,4 +7,3 @@ export interface Finding {
7
7
  export declare function analyzeCode(code: string, language: string, framework?: string, filePath?: string, configDir?: string, rules?: SecurityRule[]): Finding[];
8
8
  export declare function formatFindingsJson(findings: Finding[], extra?: Record<string, unknown>): string;
9
9
  export declare function checkCode(code: string, language: string, framework?: string, filePath?: string, configDir?: string, format?: "markdown" | "json", rules?: SecurityRule[]): string;
10
- //# sourceMappingURL=check-code.d.ts.map
@@ -204,4 +204,3 @@ function formatReport(findings, language, framework) {
204
204
  }
205
205
  return lines.join("\n");
206
206
  }
207
- //# sourceMappingURL=check-code.js.map
@@ -10,4 +10,3 @@ export interface CommandVerdict {
10
10
  details: string[];
11
11
  }
12
12
  export declare function checkCommand(command: string, cwd?: string, branch?: string, format?: "markdown" | "json"): string;
13
- //# sourceMappingURL=check-command.d.ts.map
@@ -224,4 +224,3 @@ export function checkCommand(command, cwd = ".", branch, format = "json") {
224
224
  }
225
225
  return lines.join("\n");
226
226
  }
227
- //# sourceMappingURL=check-command.js.map
@@ -5,4 +5,3 @@ interface PackageInput {
5
5
  }
6
6
  export declare function checkDependencies(packages: PackageInput[]): Promise<string>;
7
7
  export {};
8
- //# sourceMappingURL=check-deps.d.ts.map
@@ -54,4 +54,3 @@ export async function checkDependencies(packages) {
54
54
  }
55
55
  return results.join("\n");
56
56
  }
57
- //# sourceMappingURL=check-deps.js.map
@@ -26,4 +26,3 @@ export interface PackageHealthResult {
26
26
  export declare function assessPackageRisk(name: string, data: RegistryData): PackageHealthResult;
27
27
  export declare function checkPackageHealth(packages: string[], format?: "markdown" | "json"): Promise<string>;
28
28
  export {};
29
- //# sourceMappingURL=check-package-health.d.ts.map
@@ -139,4 +139,3 @@ export async function checkPackageHealth(packages, format = "markdown") {
139
139
  }
140
140
  return lines.join("\n");
141
141
  }
142
- //# sourceMappingURL=check-package-health.js.map
@@ -5,4 +5,3 @@ interface FileInput {
5
5
  }
6
6
  export declare function checkProject(files: FileInput[], format?: "markdown" | "json", rules?: SecurityRule[]): string;
7
7
  export {};
8
- //# sourceMappingURL=check-project.d.ts.map
@@ -158,4 +158,3 @@ export function checkProject(files, format = "markdown", rules) {
158
158
  }
159
159
  return lines.join("\n");
160
160
  }
161
- //# sourceMappingURL=check-project.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "../data/rules/types.js";
2
2
  export declare function complianceReport(path: string, framework: string, format?: "markdown" | "json", rules?: SecurityRule[], mode?: "full" | "executive"): string;
3
- //# sourceMappingURL=compliance-report.d.ts.map
@@ -235,4 +235,3 @@ function formatExecutiveSummary(framework, scanRoot, filesScanned, relevant, con
235
235
  }
236
236
  return lines.join("\n");
237
237
  }
238
- //# sourceMappingURL=compliance-report.js.map
@@ -12,4 +12,3 @@ export interface RemediationExplanation {
12
12
  testStrategy: string;
13
13
  }
14
14
  export declare function explainRemediation(ruleId: string, code?: string, format?: "markdown" | "json", rules?: SecurityRule[]): string;
15
- //# sourceMappingURL=explain-remediation.d.ts.map
@@ -100,4 +100,3 @@ function getTestStrategy(rule) {
100
100
  return "1. Send webhook with valid signature → expect 200\n2. Send with invalid signature → expect 401\n3. Send with missing signature → expect 401";
101
101
  return `1. Apply the fix\n2. Run existing tests\n3. Manually verify the affected ${rule.owasp.split(" ")[0]} surface`;
102
102
  }
103
- //# sourceMappingURL=explain-remediation.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "../data/rules/types.js";
2
2
  export declare function exportSarif(path: string, rules?: SecurityRule[]): string;
3
- //# sourceMappingURL=export-sarif.d.ts.map
@@ -114,4 +114,3 @@ export function exportSarif(path, rules) {
114
114
  };
115
115
  return JSON.stringify(sarif, null, 2);
116
116
  }
117
- //# sourceMappingURL=export-sarif.js.map
@@ -14,4 +14,3 @@ export interface FixSuggestion {
14
14
  * Analyze code and return structured fix suggestions that an AI agent can apply.
15
15
  */
16
16
  export declare function fixCode(code: string, language: string, framework?: string, filePath?: string, format?: "markdown" | "json", rules?: SecurityRule[]): string;
17
- //# sourceMappingURL=fix-code.d.ts.map
@@ -231,4 +231,3 @@ function formatFixMarkdown(suggestions) {
231
231
  }
232
232
  return lines.join("\n");
233
233
  }
234
- //# sourceMappingURL=fix-code.js.map
@@ -1,2 +1 @@
1
1
  export declare function generatePolicy(path: string, format?: "markdown" | "json"): string;
2
- //# sourceMappingURL=generate-policy.d.ts.map
@@ -365,4 +365,3 @@ export function generatePolicy(path, format = "markdown") {
365
365
  }
366
366
  return lines.join("\n");
367
367
  }
368
- //# sourceMappingURL=generate-policy.js.map
@@ -1,2 +1 @@
1
1
  export declare function getSecurityDocs(topic: string): string;
2
- //# sourceMappingURL=get-security-docs.d.ts.map
@@ -58,4 +58,3 @@ export function getSecurityDocs(topic) {
58
58
  `8. Set secure cookie flags (httpOnly, secure, sameSite)`,
59
59
  ].join("\n");
60
60
  }
61
- //# sourceMappingURL=get-security-docs.js.map
@@ -1,3 +1,2 @@
1
1
  import type { SecurityRule } from "../data/rules/types.js";
2
2
  export declare function policyCheck(path: string, format?: "markdown" | "json", rules?: SecurityRule[]): string;
3
- //# sourceMappingURL=policy-check.d.ts.map
@@ -205,4 +205,3 @@ export function policyCheck(path, format = "markdown", rules) {
205
205
  }
206
206
  return lines.join("\n");
207
207
  }
208
- //# sourceMappingURL=policy-check.js.map
@@ -1,2 +1 @@
1
1
  export declare function repoSecurityPosture(path: string, format?: "markdown" | "json"): string;
2
- //# sourceMappingURL=repo-posture.d.ts.map