vibe-guard 1.1.4 → 1.2.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.
Files changed (140) hide show
  1. package/README.md +163 -283
  2. package/dist/bin/vibe-guard.js +240 -22
  3. package/dist/bin/vibe-guard.js.map +1 -1
  4. package/dist/config.d.ts +0 -18
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +5 -26
  7. package/dist/config.js.map +1 -1
  8. package/dist/index.d.ts +0 -6
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +5 -8
  11. package/dist/index.js.map +1 -1
  12. package/dist/reporter.d.ts.map +1 -1
  13. package/dist/reporter.js +41 -19
  14. package/dist/reporter.js.map +1 -1
  15. package/dist/rules/ai-agent-access-control.d.ts +27 -2
  16. package/dist/rules/ai-agent-access-control.d.ts.map +1 -1
  17. package/dist/rules/ai-agent-access-control.js +393 -19
  18. package/dist/rules/ai-agent-access-control.js.map +1 -1
  19. package/dist/rules/ai-data-leakage-prevention.d.ts +25 -2
  20. package/dist/rules/ai-data-leakage-prevention.d.ts.map +1 -1
  21. package/dist/rules/ai-data-leakage-prevention.js +409 -21
  22. package/dist/rules/ai-data-leakage-prevention.js.map +1 -1
  23. package/dist/rules/ai-generated-code-validation.d.ts +28 -7
  24. package/dist/rules/ai-generated-code-validation.d.ts.map +1 -1
  25. package/dist/rules/ai-generated-code-validation.js +367 -96
  26. package/dist/rules/ai-generated-code-validation.js.map +1 -1
  27. package/dist/rules/broken-access-control.d.ts +40 -5
  28. package/dist/rules/broken-access-control.d.ts.map +1 -1
  29. package/dist/rules/broken-access-control.js +595 -144
  30. package/dist/rules/broken-access-control.js.map +1 -1
  31. package/dist/rules/container-registry-security.d.ts +21 -0
  32. package/dist/rules/container-registry-security.d.ts.map +1 -0
  33. package/dist/rules/container-registry-security.js +271 -0
  34. package/dist/rules/container-registry-security.js.map +1 -0
  35. package/dist/rules/csrf-protection.d.ts +25 -4
  36. package/dist/rules/csrf-protection.d.ts.map +1 -1
  37. package/dist/rules/csrf-protection.js +328 -81
  38. package/dist/rules/csrf-protection.js.map +1 -1
  39. package/dist/rules/directory-traversal.d.ts +33 -5
  40. package/dist/rules/directory-traversal.d.ts.map +1 -1
  41. package/dist/rules/directory-traversal.js +470 -171
  42. package/dist/rules/directory-traversal.js.map +1 -1
  43. package/dist/rules/dockerfile-security.d.ts +20 -0
  44. package/dist/rules/dockerfile-security.d.ts.map +1 -0
  45. package/dist/rules/dockerfile-security.js +280 -0
  46. package/dist/rules/dockerfile-security.js.map +1 -0
  47. package/dist/rules/exposed-secrets.d.ts +25 -4
  48. package/dist/rules/exposed-secrets.d.ts.map +1 -1
  49. package/dist/rules/exposed-secrets.js +355 -95
  50. package/dist/rules/exposed-secrets.js.map +1 -1
  51. package/dist/rules/hardcoded-sensitive-data.d.ts +32 -2
  52. package/dist/rules/hardcoded-sensitive-data.d.ts.map +1 -1
  53. package/dist/rules/hardcoded-sensitive-data.js +426 -29
  54. package/dist/rules/hardcoded-sensitive-data.js.map +1 -1
  55. package/dist/rules/index.d.ts +9 -1
  56. package/dist/rules/index.d.ts.map +1 -1
  57. package/dist/rules/index.js +25 -1
  58. package/dist/rules/index.js.map +1 -1
  59. package/dist/rules/insecure-configuration.d.ts +16 -5
  60. package/dist/rules/insecure-configuration.d.ts.map +1 -1
  61. package/dist/rules/insecure-configuration.js +457 -64
  62. package/dist/rules/insecure-configuration.js.map +1 -1
  63. package/dist/rules/insecure-dependencies.d.ts +46 -1
  64. package/dist/rules/insecure-dependencies.d.ts.map +1 -1
  65. package/dist/rules/insecure-dependencies.js +678 -51
  66. package/dist/rules/insecure-dependencies.js.map +1 -1
  67. package/dist/rules/insecure-deserialization.d.ts +29 -4
  68. package/dist/rules/insecure-deserialization.d.ts.map +1 -1
  69. package/dist/rules/insecure-deserialization.js +531 -101
  70. package/dist/rules/insecure-deserialization.js.map +1 -1
  71. package/dist/rules/insecure-error-handling.d.ts +35 -4
  72. package/dist/rules/insecure-error-handling.d.ts.map +1 -1
  73. package/dist/rules/insecure-error-handling.js +590 -87
  74. package/dist/rules/insecure-error-handling.js.map +1 -1
  75. package/dist/rules/insecure-file-upload.d.ts +37 -5
  76. package/dist/rules/insecure-file-upload.d.ts.map +1 -1
  77. package/dist/rules/insecure-file-upload.js +690 -138
  78. package/dist/rules/insecure-file-upload.js.map +1 -1
  79. package/dist/rules/insecure-http.d.ts +31 -2
  80. package/dist/rules/insecure-http.d.ts.map +1 -1
  81. package/dist/rules/insecure-http.js +547 -61
  82. package/dist/rules/insecure-http.js.map +1 -1
  83. package/dist/rules/insecure-logging.d.ts +6 -1
  84. package/dist/rules/insecure-logging.d.ts.map +1 -1
  85. package/dist/rules/insecure-logging.js +430 -109
  86. package/dist/rules/insecure-logging.js.map +1 -1
  87. package/dist/rules/insecure-random-generation.d.ts +4 -1
  88. package/dist/rules/insecure-random-generation.d.ts.map +1 -1
  89. package/dist/rules/insecure-random-generation.js +239 -99
  90. package/dist/rules/insecure-random-generation.js.map +1 -1
  91. package/dist/rules/insecure-session-management.d.ts +4 -0
  92. package/dist/rules/insecure-session-management.d.ts.map +1 -1
  93. package/dist/rules/insecure-session-management.js +359 -54
  94. package/dist/rules/insecure-session-management.js.map +1 -1
  95. package/dist/rules/kubernetes-security.d.ts +17 -0
  96. package/dist/rules/kubernetes-security.d.ts.map +1 -0
  97. package/dist/rules/kubernetes-security.js +314 -0
  98. package/dist/rules/kubernetes-security.js.map +1 -0
  99. package/dist/rules/mcp-server-security.d.ts +32 -3
  100. package/dist/rules/mcp-server-security.d.ts.map +1 -1
  101. package/dist/rules/mcp-server-security.js +511 -39
  102. package/dist/rules/mcp-server-security.js.map +1 -1
  103. package/dist/rules/missing-authentication.d.ts +4 -0
  104. package/dist/rules/missing-authentication.d.ts.map +1 -1
  105. package/dist/rules/missing-authentication.js +263 -62
  106. package/dist/rules/missing-authentication.js.map +1 -1
  107. package/dist/rules/missing-security-headers.d.ts +32 -3
  108. package/dist/rules/missing-security-headers.d.ts.map +1 -1
  109. package/dist/rules/missing-security-headers.js +548 -95
  110. package/dist/rules/missing-security-headers.js.map +1 -1
  111. package/dist/rules/open-cors.d.ts +3 -0
  112. package/dist/rules/open-cors.d.ts.map +1 -1
  113. package/dist/rules/open-cors.js +202 -57
  114. package/dist/rules/open-cors.js.map +1 -1
  115. package/dist/rules/prompt-injection-detection.d.ts +33 -3
  116. package/dist/rules/prompt-injection-detection.d.ts.map +1 -1
  117. package/dist/rules/prompt-injection-detection.js +571 -43
  118. package/dist/rules/prompt-injection-detection.js.map +1 -1
  119. package/dist/rules/sql-injection.d.ts +27 -3
  120. package/dist/rules/sql-injection.d.ts.map +1 -1
  121. package/dist/rules/sql-injection.js +471 -61
  122. package/dist/rules/sql-injection.js.map +1 -1
  123. package/dist/rules/unvalidated-input.d.ts +20 -4
  124. package/dist/rules/unvalidated-input.d.ts.map +1 -1
  125. package/dist/rules/unvalidated-input.js +557 -128
  126. package/dist/rules/unvalidated-input.js.map +1 -1
  127. package/dist/rules/xss-detection.d.ts +25 -4
  128. package/dist/rules/xss-detection.d.ts.map +1 -1
  129. package/dist/rules/xss-detection.js +702 -135
  130. package/dist/rules/xss-detection.js.map +1 -1
  131. package/dist/scanner.d.ts.map +1 -1
  132. package/dist/scanner.js +11 -6
  133. package/dist/scanner.js.map +1 -1
  134. package/dist/types/index.d.ts +4 -0
  135. package/dist/types/index.d.ts.map +1 -1
  136. package/dist/types/index.js.map +1 -1
  137. package/dist/types/version.d.ts +1 -1
  138. package/dist/types/version.js +1 -1
  139. package/package.json +8 -3
  140. package/CHANGELOG.md +0 -102
package/dist/reporter.js CHANGED
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Reporter = void 0;
7
7
  const Table = require('cli-table3');
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
+ // Class for reporting the scan results
9
10
  class Reporter {
11
+ // Formats the scan results as a table
10
12
  formatTable(result) {
11
13
  if (result.issues.length === 0) {
12
14
  return this.formatSuccess(result);
@@ -33,9 +35,11 @@ class Reporter {
33
35
  });
34
36
  return this.formatHeader(result) + '\n\n' + table.toString() + '\n\n' + this.formatSummary(result);
35
37
  }
38
+ // Formats the scan results as a JSON string
36
39
  formatJson(result) {
37
40
  return JSON.stringify(result, null, 2);
38
41
  }
42
+ // Formats the scan results as a SARIF string
39
43
  formatSarif(result) {
40
44
  const sarif = {
41
45
  $schema: "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
@@ -45,7 +49,7 @@ class Reporter {
45
49
  tool: {
46
50
  driver: {
47
51
  name: "Vibe-Guard",
48
- version: "1.1.3",
52
+ version: "1.1.5",
49
53
  informationUri: "https://github.com/Devjosef/vibe-guard",
50
54
  rules: this.generateSarifRules(result)
51
55
  }
@@ -71,6 +75,7 @@ class Reporter {
71
75
  };
72
76
  return JSON.stringify(sarif, null, 2);
73
77
  }
78
+ // Formats the scan results as an HTML string
74
79
  formatHtml(result) {
75
80
  const html = `<!DOCTYPE html>
76
81
  <html lang="en">
@@ -262,7 +267,7 @@ class Reporter {
262
267
  <body>
263
268
  <div class="container">
264
269
  <div class="header">
265
- <h1>🛡️ Vibe-Guard Security Report</h1>
270
+ <h1>██ Vibe-Guard Security Report</h1>
266
271
  <p>Security scan completed on ${new Date().toLocaleDateString()}</p>
267
272
  </div>
268
273
 
@@ -299,13 +304,14 @@ class Reporter {
299
304
  </div>
300
305
 
301
306
  <div class="footer">
302
- <p>Generated by Vibe-Guard v1.1.3 | <a href="https://github.com/Devjosef/vibe-guard">GitHub</a></p>
307
+ <p>Generated by Vibe-Guard v1.1.5 | <a href="https://github.com/Devjosef/vibe-guard">GitHub</a></p>
303
308
  </div>
304
309
  </div>
305
310
  </body>
306
311
  </html>`;
307
312
  return html;
308
313
  }
314
+ // Generates the SARIF rules
309
315
  generateSarifRules(result) {
310
316
  const ruleNames = [...new Set(result.issues.map(issue => issue.rule))];
311
317
  return ruleNames.map(ruleName => ({
@@ -316,6 +322,7 @@ class Reporter {
316
322
  }
317
323
  }));
318
324
  }
325
+ // Generates the SARIF results
319
326
  generateSarifResults(result) {
320
327
  return result.issues.map(issue => ({
321
328
  ruleId: issue.rule,
@@ -341,6 +348,7 @@ class Reporter {
341
348
  }
342
349
  }));
343
350
  }
351
+ // Maps the severity to the SARIF level
344
352
  mapSeverityToSarifLevel(severity) {
345
353
  switch (severity) {
346
354
  case 'critical':
@@ -354,6 +362,7 @@ class Reporter {
354
362
  return 'note';
355
363
  }
356
364
  }
365
+ // Formats the HTML issue
357
366
  formatHtmlIssue(issue) {
358
367
  return `
359
368
  <div class="issue">
@@ -398,40 +407,52 @@ class Reporter {
398
407
  .replace(/'/g, '&#039;');
399
408
  }
400
409
  formatSuccess(result) {
401
- const header = chalk_1.default.green.bold('🛡️ Vibe-Guard Security Scan Complete');
402
- const summary = chalk_1.default.green(`✅ No security issues found in ${result.filesScanned} files`);
403
- return `${header}\n\n${summary}\n`;
410
+ const header = chalk_1.default.green.bold('╔══════════════════════════════════════════════════════════════════════════════╗');
411
+ const title = chalk_1.default.green.bold('║ VIBE-GUARD SECURITY SCAN COMPLETE ║');
412
+ const subtitle = chalk_1.default.green.bold('║ NO THREATS DETECTED ║');
413
+ const summary = chalk_1.default.green(`║ ✅ No security issues found in ${result.filesScanned} files`);
414
+ const footer = chalk_1.default.green.bold('╚══════════════════════════════════════════════════════════════════════════════╝');
415
+ return `${header}\n${title}\n${subtitle}\n${summary.padEnd(75)} ║\n${footer}\n`;
404
416
  }
405
417
  formatHeader(result) {
406
- const title = chalk_1.default.red.bold('🚨 Vibe-Guard Security Issues Detected');
407
- const subtitle = chalk_1.default.yellow(`Found ${result.issuesFound} security issues in ${result.filesScanned} files`);
408
- return `${title}\n${subtitle}`;
418
+ const header = chalk_1.default.red.bold('╔══════════════════════════════════════════════════════════════════════════════╗');
419
+ const title = chalk_1.default.red.bold('║ VIBE-GUARD SECURITY ISSUES DETECTED ║');
420
+ const subtitle = chalk_1.default.yellow.bold(`║ ${result.issuesFound} THREATS FOUND IN ${result.filesScanned} FILES ║`);
421
+ const footer = chalk_1.default.red.bold('╚══════════════════════════════════════════════════════════════════════════════╝');
422
+ return `${header}\n${title}\n${subtitle}\n${footer}\n`;
409
423
  }
410
424
  formatSummary(result) {
411
425
  const { summary } = result;
412
426
  const parts = [];
413
427
  if (summary.critical > 0) {
414
- parts.push(chalk_1.default.red.bold(`${summary.critical} Critical`));
428
+ parts.push(chalk_1.default.red.bold(`${summary.critical} CRITICAL`));
415
429
  }
416
430
  if (summary.high > 0) {
417
- parts.push(chalk_1.default.red(`${summary.high} High`));
431
+ parts.push(chalk_1.default.red(`${summary.high} HIGH`));
418
432
  }
419
433
  if (summary.medium > 0) {
420
- parts.push(chalk_1.default.yellow(`${summary.medium} Medium`));
434
+ parts.push(chalk_1.default.yellow(`${summary.medium} MEDIUM`));
421
435
  }
422
436
  if (summary.low > 0) {
423
- parts.push(chalk_1.default.blue(`${summary.low} Low`));
437
+ parts.push(chalk_1.default.blue(`${summary.low} LOW`));
424
438
  }
425
439
  const summaryText = parts.length > 0 ? parts.join(' | ') : 'No issues';
426
- return chalk_1.default.bold('Summary: ') + summaryText + '\n\n' + this.formatRecommendations();
440
+ return chalk_1.default.bold('╔══════════════════════════════════════════════════════════════════════════════╗\n') +
441
+ chalk_1.default.bold('║ SUMMARY ║\n') +
442
+ chalk_1.default.bold('║ ') + summaryText.padEnd(73) + chalk_1.default.bold('║\n') +
443
+ chalk_1.default.bold('╚══════════════════════════════════════════════════════════════════════════════╝\n\n') +
444
+ this.formatRecommendations();
427
445
  }
428
446
  formatRecommendations() {
429
- return chalk_1.default.cyan.bold('💡 Recommendations:\n') +
430
- chalk_1.default.cyan('• Review and fix critical and high severity issues immediately\n') +
431
- chalk_1.default.cyan('• Consider implementing security linting in your CI/CD pipeline\n') +
432
- chalk_1.default.cyan('• Run Vibe-Guard regularly during development\n') +
433
- chalk_1.default.cyan('• Check our documentation for detailed fix suggestions');
447
+ return chalk_1.default.cyan.bold('╔══════════════════════════════════════════════════════════════════════════════╗\n') +
448
+ chalk_1.default.cyan.bold('║ RECOMMENDATIONS ║\n') +
449
+ chalk_1.default.cyan.bold('║ • Review and fix critical and high severity issues immediately').padEnd(73) + chalk_1.default.cyan.bold('║\n') +
450
+ chalk_1.default.cyan.bold('║ • Consider implementing security linting in your CI/CD pipeline').padEnd(73) + chalk_1.default.cyan.bold('║\n') +
451
+ chalk_1.default.cyan.bold('║ • Run Vibe-Guard regularly during development').padEnd(73) + chalk_1.default.cyan.bold('║\n') +
452
+ chalk_1.default.cyan.bold('║ • Check our documentation for detailed fix suggestions').padEnd(73) + chalk_1.default.cyan.bold('║\n') +
453
+ chalk_1.default.cyan.bold('╚══════════════════════════════════════════════════════════════════════════════╝');
434
454
  }
455
+ // Colors the severity
435
456
  colorSeverity(severity) {
436
457
  switch (severity) {
437
458
  case 'critical':
@@ -446,6 +467,7 @@ class Reporter {
446
467
  return String(severity).toUpperCase();
447
468
  }
448
469
  }
470
+ // Truncates the file path
449
471
  truncateFilePath(filePath, maxLength = 35) {
450
472
  let sanitizedPath = filePath.replace(/\\+/g, '/').replace(/\\/g, '/').replace(/\/+/g, '/');
451
473
  sanitizedPath = sanitizedPath.replace(/\.\./g, '').replace(/\/+/g, '/');
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,36 @@
1
1
  import { BaseRule, FileContent, SecurityIssue } from '../types';
2
2
  export declare class AiAgentAccessControlRule extends BaseRule {
3
3
  readonly name = "ai-agent-access-control";
4
- readonly description = "Detects insecure AI agent access controls and privilege escalation";
4
+ readonly description = "Detects insecure AI agent access controls and privilege escalation with context-aware analysis";
5
5
  readonly severity: "critical";
6
6
  private readonly accessControlPatterns;
7
7
  private readonly falsePositivePatterns;
8
8
  check(fileContent: FileContent): SecurityIssue[];
9
- private isFalsePositive;
9
+ private analyzeContext;
10
+ private isSafeContext;
11
+ private detectLanguage;
12
+ private detectFramework;
13
+ private isInComment;
14
+ private isInString;
15
+ private isInTestFile;
16
+ private isInDocumentation;
17
+ private isInDevelopment;
18
+ private isInSandbox;
19
+ private hasAuthChecks;
20
+ private isProtectedEnvironment;
21
+ private calculateConfidence;
22
+ private validateElevatedPrivileges;
23
+ private validateUnlimitedPermissions;
24
+ private validateDisabledAuth;
25
+ private validateMissingRBAC;
26
+ private validatePersistentAccess;
27
+ private validateAuthBypass;
28
+ private validateSystemAccess;
29
+ private validateInsecureMCP;
30
+ private validateMCPNoAuth;
31
+ private validateFileSystemAccess;
32
+ private validateNetworkAccess;
33
+ private getLineContext;
34
+ private generateSuggestion;
10
35
  }
11
36
  //# sourceMappingURL=ai-agent-access-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-access-control.d.ts","sourceRoot":"","sources":["../../src/rules/ai-agent-access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEhE,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,WAAW,wEAAwE;IAC5F,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAoBpC;IAEF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAkBpC;IAEF,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,EAAE;IA0BhD,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"ai-agent-access-control.d.ts","sourceRoot":"","sources":["../../src/rules/ai-agent-access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgBhE,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,WAAW,oGAAoG;IACxH,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAkGpC;IAEF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CA4CpC;IAEF,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,EAAE;IA4ChD,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,kBAAkB;CA+B3B"}