guardrail-cli 2.5.0 → 2.5.2

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 (241) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +548 -532
  3. package/dist/commands/autopilot-decision.d.ts +24 -0
  4. package/dist/commands/autopilot-decision.d.ts.map +1 -0
  5. package/dist/commands/autopilot-decision.js +304 -0
  6. package/dist/commands/autopilot-decision.js.map +1 -0
  7. package/dist/commands/autopilot.d.ts +33 -0
  8. package/dist/commands/autopilot.d.ts.map +1 -0
  9. package/dist/commands/autopilot.js +1539 -0
  10. package/dist/commands/autopilot.js.map +1 -0
  11. package/dist/commands/baseline.d.ts.map +1 -1
  12. package/dist/commands/baseline.js.map +1 -1
  13. package/dist/commands/cache.d.ts.map +1 -1
  14. package/dist/commands/cache.js +3 -1
  15. package/dist/commands/cache.js.map +1 -1
  16. package/dist/commands/context.d.ts +8 -0
  17. package/dist/commands/context.d.ts.map +1 -0
  18. package/dist/commands/context.js +340 -0
  19. package/dist/commands/context.js.map +1 -0
  20. package/dist/commands/debug.d.ts +78 -0
  21. package/dist/commands/debug.d.ts.map +1 -0
  22. package/dist/commands/debug.js +381 -0
  23. package/dist/commands/debug.js.map +1 -0
  24. package/dist/commands/evidence.d.ts.map +1 -1
  25. package/dist/commands/evidence.js +23 -7
  26. package/dist/commands/evidence.js.map +1 -1
  27. package/dist/commands/index.d.ts +5 -0
  28. package/dist/commands/index.d.ts.map +1 -1
  29. package/dist/commands/index.js +16 -1
  30. package/dist/commands/index.js.map +1 -1
  31. package/dist/commands/preview.d.ts +54 -0
  32. package/dist/commands/preview.d.ts.map +1 -0
  33. package/dist/commands/preview.js +352 -0
  34. package/dist/commands/preview.js.map +1 -0
  35. package/dist/commands/quality/check.d.ts +31 -0
  36. package/dist/commands/quality/check.d.ts.map +1 -0
  37. package/dist/commands/quality/check.js +242 -0
  38. package/dist/commands/quality/check.js.map +1 -0
  39. package/dist/commands/quality/index.d.ts +8 -0
  40. package/dist/commands/quality/index.d.ts.map +1 -0
  41. package/dist/commands/quality/index.js +14 -0
  42. package/dist/commands/quality/index.js.map +1 -0
  43. package/dist/commands/quality/setup-quality.d.ts +23 -0
  44. package/dist/commands/quality/setup-quality.d.ts.map +1 -0
  45. package/dist/commands/quality/setup-quality.js +452 -0
  46. package/dist/commands/quality/setup-quality.js.map +1 -0
  47. package/dist/commands/quality/tidy.d.ts +41 -0
  48. package/dist/commands/quality/tidy.d.ts.map +1 -0
  49. package/dist/commands/quality/tidy.js +466 -0
  50. package/dist/commands/quality/tidy.js.map +1 -0
  51. package/dist/commands/quality/utils.d.ts +73 -0
  52. package/dist/commands/quality/utils.d.ts.map +1 -0
  53. package/dist/commands/quality/utils.js +158 -0
  54. package/dist/commands/quality/utils.js.map +1 -0
  55. package/dist/commands/scan-secrets.d.ts.map +1 -1
  56. package/dist/commands/scan-secrets.js +35 -18
  57. package/dist/commands/scan-secrets.js.map +1 -1
  58. package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +1 -1
  59. package/dist/commands/scan-vulnerabilities-enhanced.js +40 -14
  60. package/dist/commands/scan-vulnerabilities-enhanced.js.map +1 -1
  61. package/dist/commands/scan-vulnerabilities-osv.d.ts.map +1 -1
  62. package/dist/commands/scan-vulnerabilities-osv.js +74 -43
  63. package/dist/commands/scan-vulnerabilities-osv.js.map +1 -1
  64. package/dist/commands/scan-vulnerabilities.d.ts.map +1 -1
  65. package/dist/commands/scan-vulnerabilities.js +82 -21
  66. package/dist/commands/scan-vulnerabilities.js.map +1 -1
  67. package/dist/commands/secrets-allowlist.d.ts.map +1 -1
  68. package/dist/commands/secrets-allowlist.js.map +1 -1
  69. package/dist/fix/analytics.d.ts +121 -0
  70. package/dist/fix/analytics.d.ts.map +1 -0
  71. package/dist/fix/analytics.js +289 -0
  72. package/dist/fix/analytics.js.map +1 -0
  73. package/dist/fix/applicator.d.ts +21 -2
  74. package/dist/fix/applicator.d.ts.map +1 -1
  75. package/dist/fix/applicator.js +109 -6
  76. package/dist/fix/applicator.js.map +1 -1
  77. package/dist/fix/audit.d.ts +61 -0
  78. package/dist/fix/audit.d.ts.map +1 -0
  79. package/dist/fix/audit.js +149 -0
  80. package/dist/fix/audit.js.map +1 -0
  81. package/dist/fix/backup.d.ts +12 -2
  82. package/dist/fix/backup.d.ts.map +1 -1
  83. package/dist/fix/backup.js +53 -4
  84. package/dist/fix/backup.js.map +1 -1
  85. package/dist/fix/config.d.ts +78 -0
  86. package/dist/fix/config.d.ts.map +1 -0
  87. package/dist/fix/config.js +200 -0
  88. package/dist/fix/config.js.map +1 -0
  89. package/dist/fix/engine.d.ts.map +1 -1
  90. package/dist/fix/engine.js +5 -5
  91. package/dist/fix/engine.js.map +1 -1
  92. package/dist/fix/impact.d.ts +74 -0
  93. package/dist/fix/impact.d.ts.map +1 -0
  94. package/dist/fix/impact.js +281 -0
  95. package/dist/fix/impact.js.map +1 -0
  96. package/dist/fix/index.d.ts +3 -0
  97. package/dist/fix/index.d.ts.map +1 -1
  98. package/dist/fix/index.js +7 -1
  99. package/dist/fix/index.js.map +1 -1
  100. package/dist/fix/interactive.d.ts.map +1 -1
  101. package/dist/fix/interactive.js +9 -4
  102. package/dist/fix/interactive.js.map +1 -1
  103. package/dist/fix/learning.d.ts +109 -0
  104. package/dist/fix/learning.d.ts.map +1 -0
  105. package/dist/fix/learning.js +296 -0
  106. package/dist/fix/learning.js.map +1 -0
  107. package/dist/fix/metrics.d.ts +106 -0
  108. package/dist/fix/metrics.d.ts.map +1 -0
  109. package/dist/fix/metrics.js +138 -0
  110. package/dist/fix/metrics.js.map +1 -0
  111. package/dist/fix/parallel.d.ts +69 -0
  112. package/dist/fix/parallel.d.ts.map +1 -0
  113. package/dist/fix/parallel.js +203 -0
  114. package/dist/fix/parallel.js.map +1 -0
  115. package/dist/fix/report.d.ts +40 -0
  116. package/dist/fix/report.d.ts.map +1 -0
  117. package/dist/fix/report.js +212 -0
  118. package/dist/fix/report.js.map +1 -0
  119. package/dist/fix/strategy.d.ts +53 -0
  120. package/dist/fix/strategy.d.ts.map +1 -0
  121. package/dist/fix/strategy.js +143 -0
  122. package/dist/fix/strategy.js.map +1 -0
  123. package/dist/fix/templates.d.ts +58 -0
  124. package/dist/fix/templates.d.ts.map +1 -0
  125. package/dist/fix/templates.js +259 -0
  126. package/dist/fix/templates.js.map +1 -0
  127. package/dist/fix/testing.d.ts +68 -0
  128. package/dist/fix/testing.d.ts.map +1 -0
  129. package/dist/fix/testing.js +245 -0
  130. package/dist/fix/testing.js.map +1 -0
  131. package/dist/fix/validation.d.ts +71 -0
  132. package/dist/fix/validation.d.ts.map +1 -0
  133. package/dist/fix/validation.js +267 -0
  134. package/dist/fix/validation.js.map +1 -0
  135. package/dist/fix/visualization.d.ts +73 -0
  136. package/dist/fix/visualization.d.ts.map +1 -0
  137. package/dist/fix/visualization.js +243 -0
  138. package/dist/fix/visualization.js.map +1 -0
  139. package/dist/formatters/sarif-enhanced.d.ts.map +1 -1
  140. package/dist/formatters/sarif-enhanced.js +15 -7
  141. package/dist/formatters/sarif-enhanced.js.map +1 -1
  142. package/dist/formatters/sarif-v2.d.ts.map +1 -1
  143. package/dist/formatters/sarif-v2.js +82 -46
  144. package/dist/formatters/sarif-v2.js.map +1 -1
  145. package/dist/formatters/sarif.d.ts.map +1 -1
  146. package/dist/formatters/sarif.js +49 -22
  147. package/dist/formatters/sarif.js.map +1 -1
  148. package/dist/index.js +2175 -482
  149. package/dist/index.js.map +1 -1
  150. package/dist/init/ci-generator.d.ts.map +1 -1
  151. package/dist/init/ci-generator.js +186 -180
  152. package/dist/init/ci-generator.js.map +1 -1
  153. package/dist/init/detect-framework.d.ts.map +1 -1
  154. package/dist/init/detect-framework.js +19 -9
  155. package/dist/init/detect-framework.js.map +1 -1
  156. package/dist/init/hooks-installer.d.ts.map +1 -1
  157. package/dist/init/hooks-installer.js +74 -65
  158. package/dist/init/hooks-installer.js.map +1 -1
  159. package/dist/init/index.d.ts +3 -3
  160. package/dist/init/index.d.ts.map +1 -1
  161. package/dist/init/index.js.map +1 -1
  162. package/dist/init/templates.d.ts +10 -10
  163. package/dist/init/templates.d.ts.map +1 -1
  164. package/dist/init/templates.js +9 -4
  165. package/dist/init/templates.js.map +1 -1
  166. package/dist/reality/reality-runner.d.ts.map +1 -1
  167. package/dist/reality/reality-runner.js +23 -7
  168. package/dist/reality/reality-runner.js.map +1 -1
  169. package/dist/runtime/auth-utils.d.ts.map +1 -1
  170. package/dist/runtime/auth-utils.js.map +1 -1
  171. package/dist/runtime/cli-errors.d.ts +38 -0
  172. package/dist/runtime/cli-errors.d.ts.map +1 -0
  173. package/dist/runtime/cli-errors.js +354 -0
  174. package/dist/runtime/cli-errors.js.map +1 -0
  175. package/dist/runtime/client.d.ts.map +1 -1
  176. package/dist/runtime/client.js +27 -10
  177. package/dist/runtime/client.js.map +1 -1
  178. package/dist/runtime/creds.d.ts +5 -0
  179. package/dist/runtime/creds.d.ts.map +1 -1
  180. package/dist/runtime/creds.js +6 -1
  181. package/dist/runtime/creds.js.map +1 -1
  182. package/dist/runtime/exit-codes.d.ts +30 -4
  183. package/dist/runtime/exit-codes.d.ts.map +1 -1
  184. package/dist/runtime/exit-codes.js +40 -14
  185. package/dist/runtime/exit-codes.js.map +1 -1
  186. package/dist/runtime/owner-mode.d.ts +48 -0
  187. package/dist/runtime/owner-mode.d.ts.map +1 -0
  188. package/dist/runtime/owner-mode.js +284 -0
  189. package/dist/runtime/owner-mode.js.map +1 -0
  190. package/dist/runtime/semver.d.ts.map +1 -1
  191. package/dist/runtime/semver.js +5 -2
  192. package/dist/runtime/semver.js.map +1 -1
  193. package/dist/scanner/baseline.d.ts.map +1 -1
  194. package/dist/scanner/baseline.js +3 -3
  195. package/dist/scanner/baseline.js.map +1 -1
  196. package/dist/scanner/incremental.d.ts.map +1 -1
  197. package/dist/scanner/incremental.js +3 -3
  198. package/dist/scanner/incremental.js.map +1 -1
  199. package/dist/scanner/index.d.ts +8 -0
  200. package/dist/scanner/index.d.ts.map +1 -0
  201. package/dist/scanner/index.js +15 -0
  202. package/dist/scanner/index.js.map +1 -0
  203. package/dist/scanner/parallel.d.ts.map +1 -1
  204. package/dist/scanner/parallel.js +28 -7
  205. package/dist/scanner/parallel.js.map +1 -1
  206. package/dist/scanner/placeholder-detector.d.ts +56 -0
  207. package/dist/scanner/placeholder-detector.d.ts.map +1 -0
  208. package/dist/scanner/placeholder-detector.js +220 -0
  209. package/dist/scanner/placeholder-detector.js.map +1 -0
  210. package/dist/scanner/route-detector.d.ts +100 -0
  211. package/dist/scanner/route-detector.d.ts.map +1 -0
  212. package/dist/scanner/route-detector.js +455 -0
  213. package/dist/scanner/route-detector.js.map +1 -0
  214. package/dist/scanner/scoring.d.ts +67 -0
  215. package/dist/scanner/scoring.d.ts.map +1 -0
  216. package/dist/scanner/scoring.js +284 -0
  217. package/dist/scanner/scoring.js.map +1 -0
  218. package/dist/ship-baseline.d.ts +56 -0
  219. package/dist/ship-baseline.d.ts.map +1 -0
  220. package/dist/ship-baseline.js +194 -0
  221. package/dist/ship-baseline.js.map +1 -0
  222. package/dist/ship-config.d.ts +91 -0
  223. package/dist/ship-config.d.ts.map +1 -0
  224. package/dist/ship-config.js +133 -0
  225. package/dist/ship-config.js.map +1 -0
  226. package/dist/ship-data-loader.d.ts +70 -0
  227. package/dist/ship-data-loader.d.ts.map +1 -0
  228. package/dist/ship-data-loader.js +301 -0
  229. package/dist/ship-data-loader.js.map +1 -0
  230. package/dist/ui/frame.d.ts.map +1 -1
  231. package/dist/ui/frame.js +3 -1
  232. package/dist/ui/frame.js.map +1 -1
  233. package/dist/utils/ai-helpers.d.ts +72 -0
  234. package/dist/utils/ai-helpers.d.ts.map +1 -0
  235. package/dist/utils/ai-helpers.js +339 -0
  236. package/dist/utils/ai-helpers.js.map +1 -0
  237. package/dist/utils/validation.d.ts +34 -0
  238. package/dist/utils/validation.d.ts.map +1 -0
  239. package/dist/utils/validation.js +160 -0
  240. package/dist/utils/validation.js.map +1 -0
  241. package/package.json +5 -4
@@ -95,7 +95,7 @@ function parseNpmDependencies(projectPath) {
95
95
  version: cleanVersion,
96
96
  ecosystem: 'npm',
97
97
  isDirect: true,
98
- location: { file: 'package.json', line }
98
+ location: { file: 'package.json', line },
99
99
  });
100
100
  }
101
101
  for (const [name, version] of Object.entries(devDeps)) {
@@ -106,7 +106,7 @@ function parseNpmDependencies(projectPath) {
106
106
  version: cleanVersion,
107
107
  ecosystem: 'npm',
108
108
  isDirect: true,
109
- location: { file: 'package.json', line }
109
+ location: { file: 'package.json', line },
110
110
  });
111
111
  }
112
112
  }
@@ -125,13 +125,15 @@ function parseNpmDependencies(projectPath) {
125
125
  const info = pkgInfo;
126
126
  const name = info.name || pkgPath.replace(/^node_modules\//, '');
127
127
  const version = info.version;
128
- if (name && version && !packages.find(p => p.name === name && p.version === version)) {
128
+ if (name &&
129
+ version &&
130
+ !packages.find((p) => p.name === name && p.version === version)) {
129
131
  packages.push({
130
132
  name,
131
133
  version,
132
134
  ecosystem: 'npm',
133
135
  isDirect: false,
134
- location: { file: 'package-lock.json' }
136
+ location: { file: 'package-lock.json' },
135
137
  });
136
138
  }
137
139
  }
@@ -160,13 +162,13 @@ function parseNpmDependencies(projectPath) {
160
162
  if (match) {
161
163
  const name = match[1];
162
164
  const version = match[2].replace(/['"]/g, '');
163
- if (!packages.find(p => p.name === name && p.version === version)) {
165
+ if (!packages.find((p) => p.name === name && p.version === version)) {
164
166
  packages.push({
165
167
  name,
166
168
  version,
167
169
  ecosystem: 'npm',
168
170
  isDirect: false,
169
- location: { file: 'pnpm-lock.yaml' }
171
+ location: { file: 'pnpm-lock.yaml' },
170
172
  });
171
173
  }
172
174
  }
@@ -197,13 +199,13 @@ function parseNpmDependencies(projectPath) {
197
199
  const versionMatch = line.match(/^\s+version\s+"?([^"]+)"?/);
198
200
  if (versionMatch) {
199
201
  const version = versionMatch[1];
200
- if (!packages.find(p => p.name === currentPackage && p.version === version)) {
202
+ if (!packages.find((p) => p.name === currentPackage && p.version === version)) {
201
203
  packages.push({
202
204
  name: currentPackage,
203
205
  version,
204
206
  ecosystem: 'npm',
205
207
  isDirect: false,
206
- location: { file: 'yarn.lock' }
208
+ location: { file: 'yarn.lock' },
207
209
  });
208
210
  }
209
211
  }
@@ -242,7 +244,7 @@ function parsePythonDependencies(projectPath) {
242
244
  version,
243
245
  ecosystem: 'PyPI',
244
246
  isDirect: true,
245
- location: { file: 'requirements.txt', line: i + 1 }
247
+ location: { file: 'requirements.txt', line: i + 1 },
246
248
  });
247
249
  }
248
250
  }
@@ -264,13 +266,13 @@ function parsePythonDependencies(projectPath) {
264
266
  if (typeof info === 'object' && info !== null) {
265
267
  const pkgInfo = info;
266
268
  const version = pkgInfo.version?.replace(/^==/, '') || 'latest';
267
- if (!packages.find(p => p.name === name)) {
269
+ if (!packages.find((p) => p.name === name)) {
268
270
  packages.push({
269
271
  name,
270
272
  version,
271
273
  ecosystem: 'PyPI',
272
274
  isDirect: section === 'default',
273
- location: { file: 'Pipfile.lock' }
275
+ location: { file: 'Pipfile.lock' },
274
276
  });
275
277
  }
276
278
  }
@@ -310,7 +312,7 @@ function parseRubyDependencies(projectPath) {
310
312
  version: match[2],
311
313
  ecosystem: 'RubyGems',
312
314
  isDirect: true,
313
- location: { file: 'Gemfile.lock' }
315
+ location: { file: 'Gemfile.lock' },
314
316
  });
315
317
  }
316
318
  }
@@ -352,7 +354,7 @@ function parseGoDependencies(projectPath) {
352
354
  version,
353
355
  ecosystem: 'Go',
354
356
  isDirect: true,
355
- location: { file: 'go.sum' }
357
+ location: { file: 'go.sum' },
356
358
  });
357
359
  }
358
360
  }
@@ -414,7 +416,7 @@ async function scanVulnerabilitiesOSV(projectPath, options) {
414
416
  }
415
417
  // Deduplicate packages
416
418
  const seen = new Set();
417
- allPackages = allPackages.filter(pkg => {
419
+ allPackages = allPackages.filter((pkg) => {
418
420
  const key = `${pkg.ecosystem}:${pkg.name}:${pkg.version}`;
419
421
  if (seen.has(key))
420
422
  return false;
@@ -462,7 +464,7 @@ async function scanVulnerabilitiesOSV(projectPath, options) {
462
464
  scanType: 'vulnerabilities',
463
465
  ecosystem: ecosystems[0],
464
466
  packagesScanned: allPackages.length,
465
- findings: resultsWithLocation.filter(r => r.isVulnerable),
467
+ findings: resultsWithLocation.filter((r) => r.isVulnerable),
466
468
  summary,
467
469
  directVulnerabilities,
468
470
  transitiveVulnerabilities,
@@ -482,7 +484,7 @@ function toSarifVulnerabilitiesOSV(results) {
482
484
  for (const finding of results.findings) {
483
485
  for (const vuln of finding.vulnerabilities) {
484
486
  if (!ruleMap.has(vuln.id)) {
485
- const cveId = vuln.aliases?.find(a => a.startsWith('CVE-'));
487
+ const cveId = vuln.aliases?.find((a) => a.startsWith('CVE-'));
486
488
  ruleMap.set(vuln.id, {
487
489
  id: vuln.id,
488
490
  name: vuln.title.substring(0, 100),
@@ -494,23 +496,34 @@ function toSarifVulnerabilitiesOSV(results) {
494
496
  `Severity: ${vuln.severity.toUpperCase()}\n` +
495
497
  (vuln.cvssScore ? `CVSS Score: ${vuln.cvssScore}\n` : '') +
496
498
  (cveId ? `CVE: ${cveId}\n` : '') +
497
- `\nReferences:\n${vuln.references?.map(r => `- ${r}`).join('\n') || 'None'}`,
499
+ `\nReferences:\n${vuln.references?.map((r) => `- ${r}`).join('\n') || 'None'}`,
498
500
  markdown: `## ${vuln.title}\n\n` +
499
501
  `**Severity:** ${vuln.severity.toUpperCase()}\n\n` +
500
502
  (vuln.cvssScore ? `**CVSS Score:** ${vuln.cvssScore}\n\n` : '') +
501
- (vuln.cvssVector ? `**CVSS Vector:** \`${vuln.cvssVector}\`\n\n` : '') +
502
- (cveId ? `**CVE:** [${cveId}](https://nvd.nist.gov/vuln/detail/${cveId})\n\n` : '') +
503
- `### References\n${vuln.references?.map(r => `- [${r}](${r})`).join('\n') || 'None'}`,
503
+ (vuln.cvssVector
504
+ ? `**CVSS Vector:** \`${vuln.cvssVector}\`\n\n`
505
+ : '') +
506
+ (cveId
507
+ ? `**CVE:** [${cveId}](https://nvd.nist.gov/vuln/detail/${cveId})\n\n`
508
+ : '') +
509
+ `### References\n${vuln.references?.map((r) => `- [${r}](${r})`).join('\n') || 'None'}`,
504
510
  },
505
511
  defaultConfiguration: {
506
- level: vuln.severity === 'critical' || vuln.severity === 'high' ? 'error' :
507
- vuln.severity === 'medium' ? 'warning' : 'note',
512
+ level: vuln.severity === 'critical' || vuln.severity === 'high'
513
+ ? 'error'
514
+ : vuln.severity === 'medium'
515
+ ? 'warning'
516
+ : 'note',
508
517
  },
509
518
  properties: {
510
519
  'security-severity': vuln.cvssScore?.toString() ||
511
- (vuln.severity === 'critical' ? '9.0' :
512
- vuln.severity === 'high' ? '7.0' :
513
- vuln.severity === 'medium' ? '4.0' : '2.0'),
520
+ (vuln.severity === 'critical'
521
+ ? '9.0'
522
+ : vuln.severity === 'high'
523
+ ? '7.0'
524
+ : vuln.severity === 'medium'
525
+ ? '4.0'
526
+ : '2.0'),
514
527
  tags: ['security', 'vulnerability', 'dependency', vuln.source],
515
528
  precision: 'high',
516
529
  },
@@ -521,19 +534,26 @@ function toSarifVulnerabilitiesOSV(results) {
521
534
  const sarifResults = [];
522
535
  for (const finding of results.findings) {
523
536
  for (const vuln of finding.vulnerabilities) {
524
- const location = finding.location || { file: 'package.json', line: 1 };
537
+ const location = finding.location || {
538
+ file: 'package.json',
539
+ line: 1,
540
+ };
525
541
  const remediationText = finding.remediationPath
526
542
  ? `${finding.remediationPath.description}${finding.remediationPath.breakingChange ? ' (Breaking change)' : ''}`
527
543
  : `Upgrade to ${finding.recommendedVersion || 'latest'}`;
528
544
  sarifResults.push({
529
545
  ruleId: vuln.id,
530
546
  ruleIndex: Array.from(ruleMap.keys()).indexOf(vuln.id),
531
- level: vuln.severity === 'critical' || vuln.severity === 'high' ? 'error' :
532
- vuln.severity === 'medium' ? 'warning' : 'note',
547
+ level: vuln.severity === 'critical' || vuln.severity === 'high'
548
+ ? 'error'
549
+ : vuln.severity === 'medium'
550
+ ? 'warning'
551
+ : 'note',
533
552
  message: {
534
553
  text: `${vuln.title} in ${finding.package}@${finding.version}. ${remediationText}`,
535
554
  },
536
- locations: [{
555
+ locations: [
556
+ {
537
557
  physicalLocation: {
538
558
  artifactLocation: {
539
559
  uri: location.file,
@@ -544,12 +564,13 @@ function toSarifVulnerabilitiesOSV(results) {
544
564
  startColumn: 1,
545
565
  },
546
566
  },
547
- }],
567
+ },
568
+ ],
548
569
  fingerprints: {
549
570
  'guardrail/v1': `${vuln.id}:${finding.package}:${finding.version}`,
550
571
  },
551
572
  partialFingerprints: {
552
- 'primaryLocationLineHash': `${finding.package}:${finding.version}:${vuln.id}`,
573
+ primaryLocationLineHash: `${finding.package}:${finding.version}:${vuln.id}`,
553
574
  },
554
575
  properties: {
555
576
  package: finding.package,
@@ -574,7 +595,8 @@ function toSarifVulnerabilitiesOSV(results) {
574
595
  return {
575
596
  $schema: 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json',
576
597
  version: '2.1.0',
577
- runs: [{
598
+ runs: [
599
+ {
578
600
  tool: {
579
601
  driver: {
580
602
  name: 'guardrail-cli',
@@ -584,13 +606,16 @@ function toSarifVulnerabilitiesOSV(results) {
584
606
  },
585
607
  },
586
608
  results: sarifResults,
587
- invocations: [{
609
+ invocations: [
610
+ {
588
611
  executionSuccessful: true,
589
612
  commandLine: `guardrail scan:vulnerabilities --path ${results.projectPath}`,
590
613
  startTimeUtc: new Date().toISOString(),
591
614
  workingDirectory: { uri: results.projectPath.replace(/\\/g, '/') },
592
- }],
593
- }],
615
+ },
616
+ ],
617
+ },
618
+ ],
594
619
  };
595
620
  }
596
621
  /**
@@ -624,8 +649,8 @@ function outputOSVVulnResults(results, options) {
624
649
  console.log(` ${c.low('LOW')} ${summary.low}\n`);
625
650
  console.log(` ${c.info('Direct:')} ${results.directVulnerabilities} | ${c.info('Transitive:')} ${results.transitiveVulnerabilities}\n`);
626
651
  // Group by direct vs transitive
627
- const directFindings = results.findings.filter(f => f.isDirect);
628
- const transitiveFindings = results.findings.filter(f => !f.isDirect);
652
+ const directFindings = results.findings.filter((f) => f.isDirect);
653
+ const transitiveFindings = results.findings.filter((f) => !f.isDirect);
629
654
  if (directFindings.length > 0) {
630
655
  console.log(`${c.bold(' DIRECT DEPENDENCIES:')}\n`);
631
656
  outputFindingsList(directFindings);
@@ -638,10 +663,13 @@ function outputOSVVulnResults(results, options) {
638
663
  function outputFindingsList(findings) {
639
664
  for (const finding of findings) {
640
665
  for (const vuln of finding.vulnerabilities) {
641
- const severityLabel = vuln.severity === 'critical' ? c.critical('CRITICAL') :
642
- vuln.severity === 'high' ? c.high('HIGH') :
643
- vuln.severity === 'medium' ? c.medium('MEDIUM') :
644
- c.low('LOW');
666
+ const severityLabel = vuln.severity === 'critical'
667
+ ? c.critical('CRITICAL')
668
+ : vuln.severity === 'high'
669
+ ? c.high('HIGH')
670
+ : vuln.severity === 'medium'
671
+ ? c.medium('MEDIUM')
672
+ : c.low('LOW');
645
673
  console.log(` ${severityLabel} ${finding.package}@${finding.version}`);
646
674
  console.log(` ${c.dim('├─')} ${c.info('ID:')} ${vuln.id}`);
647
675
  console.log(` ${c.dim('├─')} ${c.info('Summary:')} ${vuln.title}`);
@@ -650,7 +678,9 @@ function outputFindingsList(findings) {
650
678
  }
651
679
  if (finding.remediationPath) {
652
680
  const remed = finding.remediationPath;
653
- const breakingLabel = remed.breakingChange ? c.medium(' [BREAKING]') : c.success(' [NON-BREAKING]');
681
+ const breakingLabel = remed.breakingChange
682
+ ? c.medium(' [BREAKING]')
683
+ : c.success(' [NON-BREAKING]');
654
684
  console.log(` ${c.dim('└─')} ${c.info('Fix:')} ${remed.description}${breakingLabel}\n`);
655
685
  }
656
686
  else {
@@ -708,7 +738,8 @@ function registerScanVulnerabilitiesOSVCommand(program, requireAuth, printLogo)
708
738
  if (opts.failOnCritical && results.summary.critical > 0) {
709
739
  (0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, `${results.summary.critical} critical vulnerabilities found`);
710
740
  }
711
- if (opts.failOnHigh && (results.summary.critical + results.summary.high) > 0) {
741
+ if (opts.failOnHigh &&
742
+ results.summary.critical + results.summary.high > 0) {
712
743
  (0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, `${results.summary.critical + results.summary.high} high+ vulnerabilities found`);
713
744
  }
714
745
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scan-vulnerabilities-osv.js","sourceRoot":"","sources":["../../src/commands/scan-vulnerabilities-osv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-vulnerabilities-osv.js","sourceRoot":"","sources":["../../src/commands/scan-vulnerabilities-osv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan-vulnerabilities.d.ts","sourceRoot":"","sources":["../../src/commands/scan-vulnerabilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAiLD,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAmDpG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAyC7E;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,IAAI,GAAG,IAAI,CAoCxH"}
1
+ {"version":3,"file":"scan-vulnerabilities.d.ts","sourceRoot":"","sources":["../../src/commands/scan-vulnerabilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAoPD,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CA+C7E;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,EACtB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI,CA2DN"}
@@ -112,7 +112,9 @@ function parseNpmAuditToFindings(audit) {
112
112
  }
113
113
  const fixedIn = typeof vuln.fixAvailable === 'object'
114
114
  ? vuln.fixAvailable.version
115
- : vuln.fixAvailable ? 'Available' : 'No fix';
115
+ : vuln.fixAvailable
116
+ ? 'Available'
117
+ : 'No fix';
116
118
  findings.push({
117
119
  package: pkgName,
118
120
  version: vuln.range,
@@ -127,14 +129,62 @@ function parseNpmAuditToFindings(audit) {
127
129
  }
128
130
  // Fallback CVE database (used when audit unavailable)
129
131
  const FALLBACK_CVE_DB = {
130
- 'lodash': { severity: 'high', cve: 'CVE-2021-23337', title: 'Command Injection', fixedIn: '4.17.21', affectedVersions: '<4.17.21' },
131
- 'minimist': { severity: 'medium', cve: 'CVE-2021-44906', title: 'Prototype Pollution', fixedIn: '1.2.6', affectedVersions: '<1.2.6' },
132
- 'node-fetch': { severity: 'medium', cve: 'CVE-2022-0235', title: 'Exposure of Sensitive Information', fixedIn: '2.6.7', affectedVersions: '<2.6.7' },
133
- 'axios': { severity: 'high', cve: 'CVE-2023-45857', title: 'Cross-Site Request Forgery', fixedIn: '1.6.0', affectedVersions: '<1.6.0' },
134
- 'tar': { severity: 'high', cve: 'CVE-2024-28863', title: 'Arbitrary File Creation', fixedIn: '6.2.1', affectedVersions: '<6.2.1' },
135
- 'glob-parent': { severity: 'high', cve: 'CVE-2020-28469', title: 'Regular Expression DoS', fixedIn: '5.1.2', affectedVersions: '<5.1.2' },
136
- 'path-parse': { severity: 'medium', cve: 'CVE-2021-23343', title: 'Regular Expression DoS', fixedIn: '1.0.7', affectedVersions: '<1.0.7' },
137
- 'ansi-regex': { severity: 'high', cve: 'CVE-2021-3807', title: 'Regular Expression DoS', fixedIn: '6.0.1', affectedVersions: '<6.0.1' },
132
+ lodash: {
133
+ severity: 'high',
134
+ cve: 'CVE-2021-23337',
135
+ title: 'Command Injection',
136
+ fixedIn: '4.17.21',
137
+ affectedVersions: '<4.17.21',
138
+ },
139
+ minimist: {
140
+ severity: 'medium',
141
+ cve: 'CVE-2021-44906',
142
+ title: 'Prototype Pollution',
143
+ fixedIn: '1.2.6',
144
+ affectedVersions: '<1.2.6',
145
+ },
146
+ 'node-fetch': {
147
+ severity: 'medium',
148
+ cve: 'CVE-2022-0235',
149
+ title: 'Exposure of Sensitive Information',
150
+ fixedIn: '2.6.7',
151
+ affectedVersions: '<2.6.7',
152
+ },
153
+ axios: {
154
+ severity: 'high',
155
+ cve: 'CVE-2023-45857',
156
+ title: 'Cross-Site Request Forgery',
157
+ fixedIn: '1.6.0',
158
+ affectedVersions: '<1.6.0',
159
+ },
160
+ tar: {
161
+ severity: 'high',
162
+ cve: 'CVE-2024-28863',
163
+ title: 'Arbitrary File Creation',
164
+ fixedIn: '6.2.1',
165
+ affectedVersions: '<6.2.1',
166
+ },
167
+ 'glob-parent': {
168
+ severity: 'high',
169
+ cve: 'CVE-2020-28469',
170
+ title: 'Regular Expression DoS',
171
+ fixedIn: '5.1.2',
172
+ affectedVersions: '<5.1.2',
173
+ },
174
+ 'path-parse': {
175
+ severity: 'medium',
176
+ cve: 'CVE-2021-23343',
177
+ title: 'Regular Expression DoS',
178
+ fixedIn: '1.0.7',
179
+ affectedVersions: '<1.0.7',
180
+ },
181
+ 'ansi-regex': {
182
+ severity: 'high',
183
+ cve: 'CVE-2021-3807',
184
+ title: 'Regular Expression DoS',
185
+ fixedIn: '6.0.1',
186
+ affectedVersions: '<6.0.1',
187
+ },
138
188
  };
139
189
  async function scanWithFallback(projectPath) {
140
190
  const findings = [];
@@ -143,7 +193,10 @@ async function scanWithFallback(projectPath) {
143
193
  return findings;
144
194
  try {
145
195
  const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf-8'));
146
- const deps = { ...packageJson.dependencies, ...packageJson.devDependencies };
196
+ const deps = {
197
+ ...packageJson.dependencies,
198
+ ...packageJson.devDependencies,
199
+ };
147
200
  for (const [pkg, version] of Object.entries(deps)) {
148
201
  const versionStr = String(version).replace(/^[\^~]/, '');
149
202
  if (FALLBACK_CVE_DB[pkg]) {
@@ -177,7 +230,8 @@ async function scanVulnerabilities(projectPath, options) {
177
230
  if (audit) {
178
231
  findings = parseNpmAuditToFindings(audit);
179
232
  auditSource = 'npm';
180
- packagesScanned = audit.metadata?.vulnerabilities?.total || findings.length;
233
+ packagesScanned =
234
+ audit.metadata?.vulnerabilities?.total || findings.length;
181
235
  }
182
236
  }
183
237
  else if (packageManager === 'pnpm') {
@@ -193,7 +247,10 @@ async function scanVulnerabilities(projectPath, options) {
193
247
  if ((0, fs_1.existsSync)(packageJsonPath)) {
194
248
  try {
195
249
  const pkg = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8'));
196
- packagesScanned = Object.keys({ ...pkg.dependencies, ...pkg.devDependencies }).length;
250
+ packagesScanned = Object.keys({
251
+ ...pkg.dependencies,
252
+ ...pkg.devDependencies,
253
+ }).length;
197
254
  }
198
255
  catch {
199
256
  // Ignore
@@ -201,10 +258,10 @@ async function scanVulnerabilities(projectPath, options) {
201
258
  }
202
259
  }
203
260
  const summary = {
204
- critical: findings.filter(f => f.severity === 'critical').length,
205
- high: findings.filter(f => f.severity === 'high').length,
206
- medium: findings.filter(f => f.severity === 'medium').length,
207
- low: findings.filter(f => f.severity === 'low').length,
261
+ critical: findings.filter((f) => f.severity === 'critical').length,
262
+ high: findings.filter((f) => f.severity === 'high').length,
263
+ medium: findings.filter((f) => f.severity === 'medium').length,
264
+ low: findings.filter((f) => f.severity === 'low').length,
208
265
  };
209
266
  return {
210
267
  projectPath,
@@ -239,10 +296,13 @@ function outputVulnResults(results, options) {
239
296
  console.log(` ${c.low('LOW')} ${summary.low}\n`);
240
297
  console.log(`${c.bold(' VULNERABILITIES:')}\n`);
241
298
  for (const vuln of results.findings) {
242
- const severityLabel = vuln.severity === 'critical' ? c.critical('CRITICAL') :
243
- vuln.severity === 'high' ? c.high('HIGH') :
244
- vuln.severity === 'medium' ? c.medium('MEDIUM') :
245
- c.low('LOW');
299
+ const severityLabel = vuln.severity === 'critical'
300
+ ? c.critical('CRITICAL')
301
+ : vuln.severity === 'high'
302
+ ? c.high('HIGH')
303
+ : vuln.severity === 'medium'
304
+ ? c.medium('MEDIUM')
305
+ : c.low('LOW');
246
306
  console.log(` ${severityLabel} ${vuln.package}@${vuln.version}`);
247
307
  console.log(` ${c.dim('├─')} ${c.info('CVE:')} ${vuln.cve}`);
248
308
  console.log(` ${c.dim('├─')} ${c.info('Title:')} ${vuln.title}`);
@@ -275,7 +335,8 @@ function registerScanVulnerabilitiesCommand(program, requireAuth, printLogo) {
275
335
  if (opts.failOnCritical && results.summary.critical > 0) {
276
336
  (0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, `${results.summary.critical} critical vulnerabilities found`);
277
337
  }
278
- if (opts.failOnHigh && (results.summary.critical + results.summary.high) > 0) {
338
+ if (opts.failOnHigh &&
339
+ results.summary.critical + results.summary.high > 0) {
279
340
  (0, exit_codes_1.exitWith)(exit_codes_1.ExitCode.POLICY_FAIL, `${results.summary.critical + results.summary.high} high+ vulnerabilities found`);
280
341
  }
281
342
  });