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.
- package/LICENSE +21 -21
- package/README.md +548 -532
- package/dist/commands/autopilot-decision.d.ts +24 -0
- package/dist/commands/autopilot-decision.d.ts.map +1 -0
- package/dist/commands/autopilot-decision.js +304 -0
- package/dist/commands/autopilot-decision.js.map +1 -0
- package/dist/commands/autopilot.d.ts +33 -0
- package/dist/commands/autopilot.d.ts.map +1 -0
- package/dist/commands/autopilot.js +1539 -0
- package/dist/commands/autopilot.js.map +1 -0
- package/dist/commands/baseline.d.ts.map +1 -1
- package/dist/commands/baseline.js.map +1 -1
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +3 -1
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/context.d.ts +8 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +340 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/debug.d.ts +78 -0
- package/dist/commands/debug.d.ts.map +1 -0
- package/dist/commands/debug.js +381 -0
- package/dist/commands/debug.js.map +1 -0
- package/dist/commands/evidence.d.ts.map +1 -1
- package/dist/commands/evidence.js +23 -7
- package/dist/commands/evidence.js.map +1 -1
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +16 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/preview.d.ts +54 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +352 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/quality/check.d.ts +31 -0
- package/dist/commands/quality/check.d.ts.map +1 -0
- package/dist/commands/quality/check.js +242 -0
- package/dist/commands/quality/check.js.map +1 -0
- package/dist/commands/quality/index.d.ts +8 -0
- package/dist/commands/quality/index.d.ts.map +1 -0
- package/dist/commands/quality/index.js +14 -0
- package/dist/commands/quality/index.js.map +1 -0
- package/dist/commands/quality/setup-quality.d.ts +23 -0
- package/dist/commands/quality/setup-quality.d.ts.map +1 -0
- package/dist/commands/quality/setup-quality.js +452 -0
- package/dist/commands/quality/setup-quality.js.map +1 -0
- package/dist/commands/quality/tidy.d.ts +41 -0
- package/dist/commands/quality/tidy.d.ts.map +1 -0
- package/dist/commands/quality/tidy.js +466 -0
- package/dist/commands/quality/tidy.js.map +1 -0
- package/dist/commands/quality/utils.d.ts +73 -0
- package/dist/commands/quality/utils.d.ts.map +1 -0
- package/dist/commands/quality/utils.js +158 -0
- package/dist/commands/quality/utils.js.map +1 -0
- package/dist/commands/scan-secrets.d.ts.map +1 -1
- package/dist/commands/scan-secrets.js +35 -18
- package/dist/commands/scan-secrets.js.map +1 -1
- package/dist/commands/scan-vulnerabilities-enhanced.d.ts.map +1 -1
- package/dist/commands/scan-vulnerabilities-enhanced.js +40 -14
- package/dist/commands/scan-vulnerabilities-enhanced.js.map +1 -1
- package/dist/commands/scan-vulnerabilities-osv.d.ts.map +1 -1
- package/dist/commands/scan-vulnerabilities-osv.js +74 -43
- package/dist/commands/scan-vulnerabilities-osv.js.map +1 -1
- package/dist/commands/scan-vulnerabilities.d.ts.map +1 -1
- package/dist/commands/scan-vulnerabilities.js +82 -21
- package/dist/commands/scan-vulnerabilities.js.map +1 -1
- package/dist/commands/secrets-allowlist.d.ts.map +1 -1
- package/dist/commands/secrets-allowlist.js.map +1 -1
- package/dist/fix/analytics.d.ts +121 -0
- package/dist/fix/analytics.d.ts.map +1 -0
- package/dist/fix/analytics.js +289 -0
- package/dist/fix/analytics.js.map +1 -0
- package/dist/fix/applicator.d.ts +21 -2
- package/dist/fix/applicator.d.ts.map +1 -1
- package/dist/fix/applicator.js +109 -6
- package/dist/fix/applicator.js.map +1 -1
- package/dist/fix/audit.d.ts +61 -0
- package/dist/fix/audit.d.ts.map +1 -0
- package/dist/fix/audit.js +149 -0
- package/dist/fix/audit.js.map +1 -0
- package/dist/fix/backup.d.ts +12 -2
- package/dist/fix/backup.d.ts.map +1 -1
- package/dist/fix/backup.js +53 -4
- package/dist/fix/backup.js.map +1 -1
- package/dist/fix/config.d.ts +78 -0
- package/dist/fix/config.d.ts.map +1 -0
- package/dist/fix/config.js +200 -0
- package/dist/fix/config.js.map +1 -0
- package/dist/fix/engine.d.ts.map +1 -1
- package/dist/fix/engine.js +5 -5
- package/dist/fix/engine.js.map +1 -1
- package/dist/fix/impact.d.ts +74 -0
- package/dist/fix/impact.d.ts.map +1 -0
- package/dist/fix/impact.js +281 -0
- package/dist/fix/impact.js.map +1 -0
- package/dist/fix/index.d.ts +3 -0
- package/dist/fix/index.d.ts.map +1 -1
- package/dist/fix/index.js +7 -1
- package/dist/fix/index.js.map +1 -1
- package/dist/fix/interactive.d.ts.map +1 -1
- package/dist/fix/interactive.js +9 -4
- package/dist/fix/interactive.js.map +1 -1
- package/dist/fix/learning.d.ts +109 -0
- package/dist/fix/learning.d.ts.map +1 -0
- package/dist/fix/learning.js +296 -0
- package/dist/fix/learning.js.map +1 -0
- package/dist/fix/metrics.d.ts +106 -0
- package/dist/fix/metrics.d.ts.map +1 -0
- package/dist/fix/metrics.js +138 -0
- package/dist/fix/metrics.js.map +1 -0
- package/dist/fix/parallel.d.ts +69 -0
- package/dist/fix/parallel.d.ts.map +1 -0
- package/dist/fix/parallel.js +203 -0
- package/dist/fix/parallel.js.map +1 -0
- package/dist/fix/report.d.ts +40 -0
- package/dist/fix/report.d.ts.map +1 -0
- package/dist/fix/report.js +212 -0
- package/dist/fix/report.js.map +1 -0
- package/dist/fix/strategy.d.ts +53 -0
- package/dist/fix/strategy.d.ts.map +1 -0
- package/dist/fix/strategy.js +143 -0
- package/dist/fix/strategy.js.map +1 -0
- package/dist/fix/templates.d.ts +58 -0
- package/dist/fix/templates.d.ts.map +1 -0
- package/dist/fix/templates.js +259 -0
- package/dist/fix/templates.js.map +1 -0
- package/dist/fix/testing.d.ts +68 -0
- package/dist/fix/testing.d.ts.map +1 -0
- package/dist/fix/testing.js +245 -0
- package/dist/fix/testing.js.map +1 -0
- package/dist/fix/validation.d.ts +71 -0
- package/dist/fix/validation.d.ts.map +1 -0
- package/dist/fix/validation.js +267 -0
- package/dist/fix/validation.js.map +1 -0
- package/dist/fix/visualization.d.ts +73 -0
- package/dist/fix/visualization.d.ts.map +1 -0
- package/dist/fix/visualization.js +243 -0
- package/dist/fix/visualization.js.map +1 -0
- package/dist/formatters/sarif-enhanced.d.ts.map +1 -1
- package/dist/formatters/sarif-enhanced.js +15 -7
- package/dist/formatters/sarif-enhanced.js.map +1 -1
- package/dist/formatters/sarif-v2.d.ts.map +1 -1
- package/dist/formatters/sarif-v2.js +82 -46
- package/dist/formatters/sarif-v2.js.map +1 -1
- package/dist/formatters/sarif.d.ts.map +1 -1
- package/dist/formatters/sarif.js +49 -22
- package/dist/formatters/sarif.js.map +1 -1
- package/dist/index.js +2175 -482
- package/dist/index.js.map +1 -1
- package/dist/init/ci-generator.d.ts.map +1 -1
- package/dist/init/ci-generator.js +186 -180
- package/dist/init/ci-generator.js.map +1 -1
- package/dist/init/detect-framework.d.ts.map +1 -1
- package/dist/init/detect-framework.js +19 -9
- package/dist/init/detect-framework.js.map +1 -1
- package/dist/init/hooks-installer.d.ts.map +1 -1
- package/dist/init/hooks-installer.js +74 -65
- package/dist/init/hooks-installer.js.map +1 -1
- package/dist/init/index.d.ts +3 -3
- package/dist/init/index.d.ts.map +1 -1
- package/dist/init/index.js.map +1 -1
- package/dist/init/templates.d.ts +10 -10
- package/dist/init/templates.d.ts.map +1 -1
- package/dist/init/templates.js +9 -4
- package/dist/init/templates.js.map +1 -1
- package/dist/reality/reality-runner.d.ts.map +1 -1
- package/dist/reality/reality-runner.js +23 -7
- package/dist/reality/reality-runner.js.map +1 -1
- package/dist/runtime/auth-utils.d.ts.map +1 -1
- package/dist/runtime/auth-utils.js.map +1 -1
- package/dist/runtime/cli-errors.d.ts +38 -0
- package/dist/runtime/cli-errors.d.ts.map +1 -0
- package/dist/runtime/cli-errors.js +354 -0
- package/dist/runtime/cli-errors.js.map +1 -0
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +27 -10
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/creds.d.ts +5 -0
- package/dist/runtime/creds.d.ts.map +1 -1
- package/dist/runtime/creds.js +6 -1
- package/dist/runtime/creds.js.map +1 -1
- package/dist/runtime/exit-codes.d.ts +30 -4
- package/dist/runtime/exit-codes.d.ts.map +1 -1
- package/dist/runtime/exit-codes.js +40 -14
- package/dist/runtime/exit-codes.js.map +1 -1
- package/dist/runtime/owner-mode.d.ts +48 -0
- package/dist/runtime/owner-mode.d.ts.map +1 -0
- package/dist/runtime/owner-mode.js +284 -0
- package/dist/runtime/owner-mode.js.map +1 -0
- package/dist/runtime/semver.d.ts.map +1 -1
- package/dist/runtime/semver.js +5 -2
- package/dist/runtime/semver.js.map +1 -1
- package/dist/scanner/baseline.d.ts.map +1 -1
- package/dist/scanner/baseline.js +3 -3
- package/dist/scanner/baseline.js.map +1 -1
- package/dist/scanner/incremental.d.ts.map +1 -1
- package/dist/scanner/incremental.js +3 -3
- package/dist/scanner/incremental.js.map +1 -1
- package/dist/scanner/index.d.ts +8 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +15 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/parallel.d.ts.map +1 -1
- package/dist/scanner/parallel.js +28 -7
- package/dist/scanner/parallel.js.map +1 -1
- package/dist/scanner/placeholder-detector.d.ts +56 -0
- package/dist/scanner/placeholder-detector.d.ts.map +1 -0
- package/dist/scanner/placeholder-detector.js +220 -0
- package/dist/scanner/placeholder-detector.js.map +1 -0
- package/dist/scanner/route-detector.d.ts +100 -0
- package/dist/scanner/route-detector.d.ts.map +1 -0
- package/dist/scanner/route-detector.js +455 -0
- package/dist/scanner/route-detector.js.map +1 -0
- package/dist/scanner/scoring.d.ts +67 -0
- package/dist/scanner/scoring.d.ts.map +1 -0
- package/dist/scanner/scoring.js +284 -0
- package/dist/scanner/scoring.js.map +1 -0
- package/dist/ship-baseline.d.ts +56 -0
- package/dist/ship-baseline.d.ts.map +1 -0
- package/dist/ship-baseline.js +194 -0
- package/dist/ship-baseline.js.map +1 -0
- package/dist/ship-config.d.ts +91 -0
- package/dist/ship-config.d.ts.map +1 -0
- package/dist/ship-config.js +133 -0
- package/dist/ship-config.js.map +1 -0
- package/dist/ship-data-loader.d.ts +70 -0
- package/dist/ship-data-loader.d.ts.map +1 -0
- package/dist/ship-data-loader.js +301 -0
- package/dist/ship-data-loader.js.map +1 -0
- package/dist/ui/frame.d.ts.map +1 -1
- package/dist/ui/frame.js +3 -1
- package/dist/ui/frame.js.map +1 -1
- package/dist/utils/ai-helpers.d.ts +72 -0
- package/dist/utils/ai-helpers.d.ts.map +1 -0
- package/dist/utils/ai-helpers.js +339 -0
- package/dist/utils/ai-helpers.js.map +1 -0
- package/dist/utils/validation.d.ts +34 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +160 -0
- package/dist/utils/validation.js.map +1 -0
- 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 &&
|
|
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
|
|
502
|
-
|
|
503
|
-
|
|
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'
|
|
507
|
-
|
|
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'
|
|
512
|
-
|
|
513
|
-
|
|
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 || {
|
|
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'
|
|
532
|
-
|
|
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
|
-
|
|
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'
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
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
|
|
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 &&
|
|
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;
|
|
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
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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 = {
|
|
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 =
|
|
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({
|
|
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'
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
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 &&
|
|
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
|
});
|