@vyuhlabs/dxkit 2.0.1 → 2.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.
- package/CHANGELOG.md +223 -0
- package/README.md +21 -15
- package/dist/analyzers/bom/detailed.d.ts +26 -0
- package/dist/analyzers/bom/detailed.d.ts.map +1 -0
- package/dist/analyzers/bom/detailed.js +227 -0
- package/dist/analyzers/bom/detailed.js.map +1 -0
- package/dist/analyzers/bom/gather.d.ts +63 -0
- package/dist/analyzers/bom/gather.d.ts.map +1 -0
- package/dist/analyzers/bom/gather.js +229 -0
- package/dist/analyzers/bom/gather.js.map +1 -0
- package/dist/analyzers/bom/index.d.ts +23 -0
- package/dist/analyzers/bom/index.d.ts.map +1 -0
- package/dist/analyzers/bom/index.js +220 -0
- package/dist/analyzers/bom/index.js.map +1 -0
- package/dist/analyzers/bom/types.d.ts +91 -0
- package/dist/analyzers/bom/types.d.ts.map +1 -0
- package/dist/analyzers/bom/types.js +3 -0
- package/dist/analyzers/bom/types.js.map +1 -0
- package/dist/analyzers/licenses/detailed.d.ts +30 -0
- package/dist/analyzers/licenses/detailed.d.ts.map +1 -0
- package/dist/analyzers/licenses/detailed.js +194 -0
- package/dist/analyzers/licenses/detailed.js.map +1 -0
- package/dist/analyzers/licenses/gather.d.ts +15 -0
- package/dist/analyzers/licenses/gather.d.ts.map +1 -0
- package/dist/analyzers/licenses/gather.js +24 -0
- package/dist/analyzers/licenses/gather.js.map +1 -0
- package/dist/analyzers/licenses/index.d.ts +21 -0
- package/dist/analyzers/licenses/index.d.ts.map +1 -0
- package/dist/analyzers/licenses/index.js +146 -0
- package/dist/analyzers/licenses/index.js.map +1 -0
- package/dist/analyzers/licenses/types.d.ts +30 -0
- package/dist/analyzers/licenses/types.d.ts.map +1 -0
- package/dist/analyzers/licenses/types.js +13 -0
- package/dist/analyzers/licenses/types.js.map +1 -0
- package/dist/analyzers/security/detailed.d.ts +0 -3
- package/dist/analyzers/security/detailed.d.ts.map +1 -1
- package/dist/analyzers/security/detailed.js +37 -6
- package/dist/analyzers/security/detailed.js.map +1 -1
- package/dist/analyzers/security/gather.d.ts.map +1 -1
- package/dist/analyzers/security/gather.js +2 -0
- package/dist/analyzers/security/gather.js.map +1 -1
- package/dist/analyzers/security/index.d.ts.map +1 -1
- package/dist/analyzers/security/index.js +53 -14
- package/dist/analyzers/security/index.js.map +1 -1
- package/dist/analyzers/security/types.d.ts +5 -0
- package/dist/analyzers/security/types.d.ts.map +1 -1
- package/dist/analyzers/security/types.js +0 -3
- package/dist/analyzers/security/types.js.map +1 -1
- package/dist/analyzers/tools/osv.d.ts +49 -5
- package/dist/analyzers/tools/osv.d.ts.map +1 -1
- package/dist/analyzers/tools/osv.js +99 -17
- package/dist/analyzers/tools/osv.js.map +1 -1
- package/dist/analyzers/tools/runner.d.ts +11 -0
- package/dist/analyzers/tools/runner.d.ts.map +1 -1
- package/dist/analyzers/tools/runner.js +54 -0
- package/dist/analyzers/tools/runner.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +77 -0
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/analyzers/xlsx/bom.d.ts +27 -0
- package/dist/analyzers/xlsx/bom.d.ts.map +1 -0
- package/dist/analyzers/xlsx/bom.js +141 -0
- package/dist/analyzers/xlsx/bom.js.map +1 -0
- package/dist/analyzers/xlsx/index.d.ts +27 -0
- package/dist/analyzers/xlsx/index.d.ts.map +1 -0
- package/dist/analyzers/xlsx/index.js +92 -0
- package/dist/analyzers/xlsx/index.js.map +1 -0
- package/dist/analyzers/xlsx/licenses.d.ts +40 -0
- package/dist/analyzers/xlsx/licenses.d.ts.map +1 -0
- package/dist/analyzers/xlsx/licenses.js +140 -0
- package/dist/analyzers/xlsx/licenses.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +178 -1
- package/dist/cli.js.map +1 -1
- package/dist/languages/capabilities/descriptors.d.ts +4 -1
- package/dist/languages/capabilities/descriptors.d.ts.map +1 -1
- package/dist/languages/capabilities/descriptors.js +20 -1
- package/dist/languages/capabilities/descriptors.js.map +1 -1
- package/dist/languages/capabilities/types.d.ts +60 -3
- package/dist/languages/capabilities/types.d.ts.map +1 -1
- package/dist/languages/csharp.d.ts +48 -0
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +418 -33
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts +35 -0
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +367 -26
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/python.d.ts +49 -0
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +372 -11
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/rust.d.ts +28 -0
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +287 -28
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +2 -1
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts +17 -0
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +358 -1
- package/dist/languages/typescript.js.map +1 -1
- package/package.json +7 -2
package/dist/languages/rust.js
CHANGED
|
@@ -35,12 +35,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.rust = void 0;
|
|
37
37
|
exports.mapClippyLintSeverity = mapClippyLintSeverity;
|
|
38
|
+
exports.parseCargoAuditOutput = parseCargoAuditOutput;
|
|
39
|
+
exports.buildRustTopLevelDepIndex = buildRustTopLevelDepIndex;
|
|
38
40
|
exports.extractRustImportsRaw = extractRustImportsRaw;
|
|
39
41
|
exports.parseLcov = parseLcov;
|
|
40
42
|
const fs = __importStar(require("fs"));
|
|
41
43
|
const path = __importStar(require("path"));
|
|
42
44
|
const exclusions_1 = require("../analyzers/tools/exclusions");
|
|
43
45
|
const csharp_1 = require("./csharp");
|
|
46
|
+
const osv_1 = require("../analyzers/tools/osv");
|
|
44
47
|
const runner_1 = require("../analyzers/tools/runner");
|
|
45
48
|
const tool_registry_1 = require("../analyzers/tools/tool-registry");
|
|
46
49
|
/**
|
|
@@ -138,47 +141,249 @@ function tierCargoMessage(msg) {
|
|
|
138
141
|
return 'high';
|
|
139
142
|
return tier;
|
|
140
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Map cargo-audit's textual severity to the four-tier `SeverityCounts`
|
|
146
|
+
* domain. RUSTSEC uses the standard critical/high/medium/low set;
|
|
147
|
+
* `informational` advisories (yanked, notice) are treated as low.
|
|
148
|
+
*/
|
|
149
|
+
function normalizeRustSeverity(s) {
|
|
150
|
+
switch (s?.toLowerCase()) {
|
|
151
|
+
case 'critical':
|
|
152
|
+
return 'critical';
|
|
153
|
+
case 'high':
|
|
154
|
+
return 'high';
|
|
155
|
+
case 'medium':
|
|
156
|
+
return 'medium';
|
|
157
|
+
default:
|
|
158
|
+
return 'low';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Pure parser for `cargo-audit --json` output. Extracted from the gather
|
|
163
|
+
* function so it can be exhaustively unit-tested without a real Cargo
|
|
164
|
+
* toolchain on the dev machine (10h.5 release-time validation runs the
|
|
165
|
+
* full pipeline). Returns null when the input is malformed or contains
|
|
166
|
+
* no vulnerabilities object; otherwise returns counts + findings ready
|
|
167
|
+
* for downstream alias-fallback enrichment.
|
|
168
|
+
*/
|
|
169
|
+
function parseCargoAuditOutput(raw) {
|
|
170
|
+
let data;
|
|
171
|
+
try {
|
|
172
|
+
data = JSON.parse(raw);
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
if (!data.vulnerabilities)
|
|
178
|
+
return null;
|
|
179
|
+
let critical = 0;
|
|
180
|
+
let high = 0;
|
|
181
|
+
let medium = 0;
|
|
182
|
+
let low = 0;
|
|
183
|
+
const findings = [];
|
|
184
|
+
for (const v of data.vulnerabilities.list || []) {
|
|
185
|
+
const adv = v.advisory;
|
|
186
|
+
if (!adv?.id)
|
|
187
|
+
continue;
|
|
188
|
+
// Resolve severity + CVSS first so the counts bucket matches the
|
|
189
|
+
// per-finding severity even when CVSS promotes the classification
|
|
190
|
+
// for advisories that ship only a vector.
|
|
191
|
+
let severity = normalizeRustSeverity(adv.severity);
|
|
192
|
+
let cvssScore = null;
|
|
193
|
+
if (adv.cvss) {
|
|
194
|
+
const parsed = (0, osv_1.parseCvssV3BaseScore)(adv.cvss);
|
|
195
|
+
if (parsed !== null) {
|
|
196
|
+
cvssScore = parsed;
|
|
197
|
+
if (!adv.severity) {
|
|
198
|
+
const tier = (0, osv_1.scoreToTier)(parsed);
|
|
199
|
+
if (tier !== 'unknown')
|
|
200
|
+
severity = tier;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (severity === 'critical')
|
|
205
|
+
critical++;
|
|
206
|
+
else if (severity === 'high')
|
|
207
|
+
high++;
|
|
208
|
+
else if (severity === 'medium')
|
|
209
|
+
medium++;
|
|
210
|
+
else
|
|
211
|
+
low++;
|
|
212
|
+
const finding = {
|
|
213
|
+
id: adv.id,
|
|
214
|
+
package: v.package?.name ?? adv.package ?? 'unknown',
|
|
215
|
+
installedVersion: v.package?.version,
|
|
216
|
+
tool: 'cargo-audit',
|
|
217
|
+
severity,
|
|
218
|
+
};
|
|
219
|
+
if (cvssScore !== null)
|
|
220
|
+
finding.cvssScore = cvssScore;
|
|
221
|
+
const patched = v.versions?.patched ?? [];
|
|
222
|
+
if (patched.length > 0) {
|
|
223
|
+
// RUSTSEC patched entries are version requirement strings
|
|
224
|
+
// (e.g. ">=1.2.5"). Strip the leading comparator so the
|
|
225
|
+
// bom render's "Upgrade to X" text reads cleanly. Multiple
|
|
226
|
+
// patched constraints (rare) fall through with the first.
|
|
227
|
+
finding.fixedVersion = patched[0].replace(/^[<>=^~\s]+/, '').trim() || patched[0];
|
|
228
|
+
}
|
|
229
|
+
const aliases = (adv.aliases ?? []).filter((a) => a && a.length > 0);
|
|
230
|
+
if (aliases.length > 0)
|
|
231
|
+
finding.aliases = aliases;
|
|
232
|
+
if (adv.title)
|
|
233
|
+
finding.summary = adv.title;
|
|
234
|
+
else if (adv.description)
|
|
235
|
+
finding.summary = adv.description;
|
|
236
|
+
const refs = [...(adv.references ?? []), adv.url].filter((u) => typeof u === 'string' && u.length > 0);
|
|
237
|
+
if (refs.length > 0)
|
|
238
|
+
finding.references = refs;
|
|
239
|
+
else
|
|
240
|
+
finding.references = [`https://rustsec.org/advisories/${adv.id}.html`];
|
|
241
|
+
findings.push(finding);
|
|
242
|
+
}
|
|
243
|
+
return { counts: { critical, high, medium, low }, findings };
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Pure parser for `cargo metadata --format-version 1`, returning a
|
|
247
|
+
* per-crate-name index of the top-level manifest deps that transitively
|
|
248
|
+
* pull that crate. Mirrors the TS pack's `buildTsTopLevelDepIndex`
|
|
249
|
+
* shape so bom + HTML renders can use identical grouping logic.
|
|
250
|
+
*
|
|
251
|
+
* Cargo's resolve graph uses opaque package ids (e.g.
|
|
252
|
+
* `openssl 0.10.50 (registry+...)`). We map id→name via `packages[]`
|
|
253
|
+
* and then BFS starting from each direct dep of `resolve.root`
|
|
254
|
+
* (derived from the workspace root's `resolve.nodes[i].dependencies`).
|
|
255
|
+
*
|
|
256
|
+
* Returns an empty map on malformed input rather than throwing — the
|
|
257
|
+
* caller keeps attribution unset so dep-vuln gather still succeeds.
|
|
258
|
+
*/
|
|
259
|
+
function buildRustTopLevelDepIndex(raw) {
|
|
260
|
+
let data;
|
|
261
|
+
try {
|
|
262
|
+
data = JSON.parse(raw);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
return new Map();
|
|
266
|
+
}
|
|
267
|
+
const packages = data.packages ?? [];
|
|
268
|
+
const nodes = data.resolve?.nodes ?? [];
|
|
269
|
+
const rootId = data.resolve?.root;
|
|
270
|
+
if (!rootId || nodes.length === 0)
|
|
271
|
+
return new Map();
|
|
272
|
+
const nameById = new Map();
|
|
273
|
+
for (const pkg of packages) {
|
|
274
|
+
if (pkg.id && pkg.name)
|
|
275
|
+
nameById.set(pkg.id, pkg.name);
|
|
276
|
+
}
|
|
277
|
+
const depsById = new Map();
|
|
278
|
+
for (const node of nodes) {
|
|
279
|
+
if (node.id)
|
|
280
|
+
depsById.set(node.id, node.dependencies ?? []);
|
|
281
|
+
}
|
|
282
|
+
const rootNode = depsById.get(rootId);
|
|
283
|
+
if (!rootNode)
|
|
284
|
+
return new Map();
|
|
285
|
+
const result = new Map();
|
|
286
|
+
for (const topId of rootNode) {
|
|
287
|
+
const topName = nameById.get(topId);
|
|
288
|
+
if (!topName)
|
|
289
|
+
continue;
|
|
290
|
+
const visited = new Set();
|
|
291
|
+
const queue = [topId];
|
|
292
|
+
while (queue.length > 0) {
|
|
293
|
+
const id = queue.shift();
|
|
294
|
+
if (visited.has(id))
|
|
295
|
+
continue;
|
|
296
|
+
visited.add(id);
|
|
297
|
+
const name = nameById.get(id);
|
|
298
|
+
if (name) {
|
|
299
|
+
const bucket = result.get(name) ?? new Set();
|
|
300
|
+
bucket.add(topName);
|
|
301
|
+
result.set(name, bucket);
|
|
302
|
+
}
|
|
303
|
+
for (const childId of depsById.get(id) ?? []) {
|
|
304
|
+
if (!visited.has(childId))
|
|
305
|
+
queue.push(childId);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
const sorted = new Map();
|
|
310
|
+
for (const [name, parents] of result) {
|
|
311
|
+
sorted.set(name, [...parents].sort());
|
|
312
|
+
}
|
|
313
|
+
return sorted;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Read + parse `cargo metadata --format-version 1` for the project at
|
|
317
|
+
* `cwd`. Returns an empty index when cargo itself is missing or the
|
|
318
|
+
* command fails — topLevelDep stays unattributed rather than blocking.
|
|
319
|
+
*/
|
|
320
|
+
function loadRustTopLevelDepIndex(cwd) {
|
|
321
|
+
const raw = (0, runner_1.run)('cargo metadata --format-version 1 2>/dev/null', cwd, 60000);
|
|
322
|
+
if (!raw)
|
|
323
|
+
return new Map();
|
|
324
|
+
return buildRustTopLevelDepIndex(raw);
|
|
325
|
+
}
|
|
141
326
|
/**
|
|
142
327
|
* Single source of truth for the rust pack's dep-vuln gathering.
|
|
143
328
|
* Consumed by `rustDepVulnsProvider` (capability dispatcher).
|
|
329
|
+
*
|
|
330
|
+
* Manifest gating: cargo-audit operates on `Cargo.lock` — without one
|
|
331
|
+
* it can't enumerate resolved dependency versions. We return early
|
|
332
|
+
* rather than running the tool against the wrong scope (mirrors the
|
|
333
|
+
* 10h.3.3 fix in the python pack).
|
|
334
|
+
*
|
|
335
|
+
* cvssScore is derived from the advisory's CVSS vector when present
|
|
336
|
+
* (RUSTSEC advisories vary — many ship only textual severity), with
|
|
337
|
+
* resolveCvssScores supplying alias-fallback against CVE OSV records
|
|
338
|
+
* for entries where cargo-audit's bundled vector is missing.
|
|
144
339
|
*/
|
|
145
340
|
async function gatherRustDepVulnsResult(cwd) {
|
|
341
|
+
if (!(0, runner_1.fileExists)(cwd, 'Cargo.lock'))
|
|
342
|
+
return { kind: 'tool-missing' };
|
|
146
343
|
const audit = (0, tool_registry_1.findTool)(tool_registry_1.TOOL_DEFS['cargo-audit'], cwd);
|
|
147
344
|
if (!audit.available || !audit.path)
|
|
148
345
|
return { kind: 'tool-missing' };
|
|
149
346
|
const raw = (0, runner_1.run)(`${audit.path} audit --json 2>/dev/null`, cwd, 60000);
|
|
150
347
|
if (!raw)
|
|
151
348
|
return { kind: 'no-output' };
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
high++;
|
|
166
|
-
else if (sev === 'medium')
|
|
167
|
-
medium++;
|
|
168
|
-
else
|
|
169
|
-
low++;
|
|
349
|
+
const parsed = parseCargoAuditOutput(raw);
|
|
350
|
+
if (!parsed)
|
|
351
|
+
return { kind: 'parse-error' };
|
|
352
|
+
const { counts, findings } = parsed;
|
|
353
|
+
// Attach top-level attribution from cargo's resolve graph. Best-effort:
|
|
354
|
+
// when `cargo metadata` is unavailable the findings keep the Tier-1
|
|
355
|
+
// identity fields only.
|
|
356
|
+
if (findings.length > 0) {
|
|
357
|
+
const topLevelIndex = loadRustTopLevelDepIndex(cwd);
|
|
358
|
+
for (const f of findings) {
|
|
359
|
+
const parents = topLevelIndex.get(f.package);
|
|
360
|
+
if (parents && parents.length > 0)
|
|
361
|
+
f.topLevelDep = parents;
|
|
170
362
|
}
|
|
171
|
-
const envelope = {
|
|
172
|
-
schemaVersion: 1,
|
|
173
|
-
tool: 'cargo-audit',
|
|
174
|
-
enrichment: null,
|
|
175
|
-
counts: { critical, high, medium, low },
|
|
176
|
-
};
|
|
177
|
-
return { kind: 'success', envelope };
|
|
178
363
|
}
|
|
179
|
-
|
|
180
|
-
|
|
364
|
+
// Alias-fallback CVSS pass: many RUSTSEC entries ship without a
|
|
365
|
+
// CVSS vector but their CVE alias on OSV.dev carries one.
|
|
366
|
+
if (findings.length > 0) {
|
|
367
|
+
const cvssInputs = findings.map((f) => ({
|
|
368
|
+
primaryId: f.id,
|
|
369
|
+
embeddedCvss: f.cvssScore ?? null,
|
|
370
|
+
aliases: f.aliases ?? [],
|
|
371
|
+
}));
|
|
372
|
+
const resolved = await (0, osv_1.resolveCvssScores)(cvssInputs);
|
|
373
|
+
for (const f of findings) {
|
|
374
|
+
const score = resolved.get(f.id);
|
|
375
|
+
if (score !== null && score !== undefined)
|
|
376
|
+
f.cvssScore = score;
|
|
377
|
+
}
|
|
181
378
|
}
|
|
379
|
+
const envelope = {
|
|
380
|
+
schemaVersion: 1,
|
|
381
|
+
tool: 'cargo-audit',
|
|
382
|
+
enrichment: null,
|
|
383
|
+
counts,
|
|
384
|
+
findings,
|
|
385
|
+
};
|
|
386
|
+
return { kind: 'success', envelope };
|
|
182
387
|
}
|
|
183
388
|
const rustDepVulnsProvider = {
|
|
184
389
|
source: 'rust',
|
|
@@ -347,6 +552,59 @@ const rustTestFrameworkProvider = {
|
|
|
347
552
|
return gatherRustTestFrameworkResult(cwd);
|
|
348
553
|
},
|
|
349
554
|
};
|
|
555
|
+
/**
|
|
556
|
+
* Single source of truth for the rust pack's license gathering.
|
|
557
|
+
* Consumed by `rustLicensesProvider` (capability dispatcher).
|
|
558
|
+
*
|
|
559
|
+
* cargo-license walks the Cargo.toml-resolved dep graph and emits every
|
|
560
|
+
* crate's license metadata in one pass — richer than go-licenses (has
|
|
561
|
+
* description + authors + version natively), simpler than the node path
|
|
562
|
+
* (no per-package disk read needed). Returns null cleanly when the repo
|
|
563
|
+
* isn't a Cargo workspace or the tool isn't installed.
|
|
564
|
+
*/
|
|
565
|
+
function gatherRustLicensesResult(cwd) {
|
|
566
|
+
if (!(0, runner_1.fileExists)(cwd, 'Cargo.toml'))
|
|
567
|
+
return null;
|
|
568
|
+
const status = (0, tool_registry_1.findTool)(tool_registry_1.TOOL_DEFS['cargo-license'], cwd);
|
|
569
|
+
if (!status.available || !status.path)
|
|
570
|
+
return null;
|
|
571
|
+
const raw = (0, runner_1.run)(`${status.path} --json 2>/dev/null`, cwd, 120000);
|
|
572
|
+
if (!raw)
|
|
573
|
+
return null;
|
|
574
|
+
let data;
|
|
575
|
+
try {
|
|
576
|
+
data = JSON.parse(raw);
|
|
577
|
+
}
|
|
578
|
+
catch {
|
|
579
|
+
return null;
|
|
580
|
+
}
|
|
581
|
+
if (!Array.isArray(data))
|
|
582
|
+
return null;
|
|
583
|
+
const findings = [];
|
|
584
|
+
for (const entry of data) {
|
|
585
|
+
if (!entry.name || !entry.version)
|
|
586
|
+
continue;
|
|
587
|
+
findings.push({
|
|
588
|
+
package: entry.name,
|
|
589
|
+
version: entry.version,
|
|
590
|
+
licenseType: entry.license && entry.license.length > 0 ? entry.license : 'UNKNOWN',
|
|
591
|
+
sourceUrl: entry.repository || undefined,
|
|
592
|
+
description: entry.description || undefined,
|
|
593
|
+
supplier: entry.authors || undefined,
|
|
594
|
+
});
|
|
595
|
+
}
|
|
596
|
+
return {
|
|
597
|
+
schemaVersion: 1,
|
|
598
|
+
tool: 'cargo-license',
|
|
599
|
+
findings,
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
const rustLicensesProvider = {
|
|
603
|
+
source: 'rust',
|
|
604
|
+
async gather(cwd) {
|
|
605
|
+
return gatherRustLicensesResult(cwd);
|
|
606
|
+
},
|
|
607
|
+
};
|
|
350
608
|
function round1(n) {
|
|
351
609
|
return Math.round(n * 10) / 10;
|
|
352
610
|
}
|
|
@@ -405,7 +663,7 @@ exports.rust = {
|
|
|
405
663
|
detect(cwd) {
|
|
406
664
|
return (0, runner_1.fileExists)(cwd, 'Cargo.toml');
|
|
407
665
|
},
|
|
408
|
-
tools: ['clippy', 'cargo-audit', 'cargo-llvm-cov'],
|
|
666
|
+
tools: ['clippy', 'cargo-audit', 'cargo-llvm-cov', 'cargo-license'],
|
|
409
667
|
// No dedicated semgrep Rust ruleset; covered by p/security-audit.
|
|
410
668
|
semgrepRulesets: [],
|
|
411
669
|
capabilities: {
|
|
@@ -414,6 +672,7 @@ exports.rust = {
|
|
|
414
672
|
coverage: rustCoverageProvider,
|
|
415
673
|
imports: rustImportsProvider,
|
|
416
674
|
testFramework: rustTestFrameworkProvider,
|
|
675
|
+
licenses: rustLicensesProvider,
|
|
417
676
|
},
|
|
418
677
|
mapLintSeverity: mapClippyLintSeverity,
|
|
419
678
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/languages/rust.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/languages/rust.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CapabilityProvider } from './capabilities/provider';
|
|
2
|
-
import type { CoverageResult, DepVulnResult, ImportsResult, LintResult, TestFrameworkResult } from './capabilities/types';
|
|
2
|
+
import type { CoverageResult, DepVulnResult, ImportsResult, LicensesResult, LintResult, TestFrameworkResult } from './capabilities/types';
|
|
3
3
|
export type LanguageId = 'typescript' | 'python' | 'go' | 'rust' | 'csharp';
|
|
4
4
|
export type LintSeverity = 'critical' | 'high' | 'medium' | 'low';
|
|
5
5
|
/**
|
|
@@ -15,6 +15,7 @@ export interface LanguagePackCapabilities {
|
|
|
15
15
|
coverage?: CapabilityProvider<CoverageResult>;
|
|
16
16
|
testFramework?: CapabilityProvider<TestFrameworkResult>;
|
|
17
17
|
imports?: CapabilityProvider<ImportsResult>;
|
|
18
|
+
licenses?: CapabilityProvider<LicensesResult>;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Everything dxkit needs to know about a language lives in one implementation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/languages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/languages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACV,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC9C,aAAa,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IAEpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAE7C,uDAAuD;IACvD,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC"}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import type { LanguageSupport } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Build a per-package-name index mapping each installed npm package to
|
|
4
|
+
* the set of root manifest entries (top-level deps) it rolls up under.
|
|
5
|
+
*
|
|
6
|
+
* Strategy: BFS the lockfile starting from each root `dependencies` /
|
|
7
|
+
* `devDependencies` name, following each visited package's own
|
|
8
|
+
* `dependencies` map. Each lockfile entry for a given name contributes
|
|
9
|
+
* its direct-child names — duplicated copies (nested `node_modules/`)
|
|
10
|
+
* are all consulted so attribution matches npm's resolution at any
|
|
11
|
+
* ancestor path. Attribution is coarse at the package-name level
|
|
12
|
+
* (ignores which exact version serves which parent) — matches Snyk's
|
|
13
|
+
* own grouping in their UI and is what bom + HTML renders group on.
|
|
14
|
+
*
|
|
15
|
+
* Exported for unit tests; pure function over parsed lockfile JSON so
|
|
16
|
+
* fixtures don't need filesystem setup.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildTsTopLevelDepIndex(lock: unknown): Map<string, string[]>;
|
|
2
19
|
/**
|
|
3
20
|
* Capture raw TS/JS module specifiers from source text. The imports
|
|
4
21
|
* capability batch-calls this while walking the pack's source extensions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AA6L7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAsD5E;AA+KD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAc7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB7F;AAgWD,eAAO,MAAM,UAAU,EAAE,eAqCxB,CAAC"}
|