@xenos1996/usa 2.20.0 → 2.22.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/dist/engine/audit.d.ts.map +1 -1
- package/dist/engine/audit.js +98 -2
- package/dist/engine/audit.js.map +1 -1
- package/dist/engine/automatability.d.ts +0 -7
- package/dist/engine/automatability.d.ts.map +1 -1
- package/dist/engine/automatability.js +34 -26
- package/dist/engine/automatability.js.map +1 -1
- package/dist/engine/evaluate.d.ts +8 -0
- package/dist/engine/evaluate.d.ts.map +1 -1
- package/dist/engine/evaluate.js +27 -2
- package/dist/engine/evaluate.js.map +1 -1
- package/dist/engine/invariants.d.ts +31 -0
- package/dist/engine/invariants.d.ts.map +1 -0
- package/dist/engine/invariants.js +49 -0
- package/dist/engine/invariants.js.map +1 -0
- package/dist/engine/loader.d.ts.map +1 -1
- package/dist/engine/loader.js +121 -18
- package/dist/engine/loader.js.map +1 -1
- package/dist/engine/ruleset.d.ts +9 -0
- package/dist/engine/ruleset.d.ts.map +1 -0
- package/dist/engine/ruleset.js +39 -0
- package/dist/engine/ruleset.js.map +1 -0
- package/dist/foundation/loader.d.ts +7 -0
- package/dist/foundation/loader.d.ts.map +1 -1
- package/dist/foundation/loader.js +22 -0
- package/dist/foundation/loader.js.map +1 -1
- package/dist/report/json.d.ts +1 -0
- package/dist/report/json.d.ts.map +1 -1
- package/dist/report/json.js +12 -1
- package/dist/report/json.js.map +1 -1
- package/dist/report/markdown.d.ts.map +1 -1
- package/dist/report/markdown.js +1 -0
- package/dist/report/markdown.js.map +1 -1
- package/dist/serve/jobs.d.ts.map +1 -1
- package/dist/serve/jobs.js +15 -2
- package/dist/serve/jobs.js.map +1 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/util/project.d.ts +7 -0
- package/dist/util/project.d.ts.map +1 -1
- package/dist/util/project.js +10 -0
- package/dist/util/project.js.map +1 -1
- package/package.json +1 -1
- package/rules/core/provenance-attestation.yaml +2 -0
- package/rules/core/repo.yaml +2 -2
- package/rules/core/security.yaml +57 -0
- package/rules/stacks/swift.yaml +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/engine/audit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAGL,QAAQ,EACR,QAAQ,EAER,SAAS,EACV,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/engine/audit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EAGL,QAAQ,EACR,QAAQ,EAER,SAAS,EACV,MAAM,aAAa,CAAC;AA2BrB,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AA6B3E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAiG5D"}
|
package/dist/engine/audit.js
CHANGED
|
@@ -3,10 +3,13 @@ import { SEVERITY_LADDER } from './loader.js';
|
|
|
3
3
|
import { MAX_FILE_BYTES, MAX_FILES, Project } from '../util/project.js';
|
|
4
4
|
import { detect, loadDetectorFile } from '../detect/index.js';
|
|
5
5
|
import { loadRulePacks, applyRuleOverrides } from './loader.js';
|
|
6
|
-
import { evaluateRule, packApplies, ruleApplies } from './evaluate.js';
|
|
6
|
+
import { applySuppressionToFinding, evaluateRule, packApplies, ruleApplies, } from './evaluate.js';
|
|
7
|
+
import { evaluateInvariant, invariantLocations } from './invariants.js';
|
|
8
|
+
import { ruleAutomatability } from './automatability.js';
|
|
7
9
|
import { buildSuppressionIndex, describeSuppression, unusedSuppressions } from './suppression.js';
|
|
8
10
|
import { attachReviews, buildReviewIndex, describeReview, resolveActiveReviews, reviewOverdueDays, } from './review.js';
|
|
9
|
-
import { loadFoundationFacts } from '../foundation/loader.js';
|
|
11
|
+
import { loadFoundationFacts, loadFoundationStage } from '../foundation/loader.js';
|
|
12
|
+
import { fingerprintRulesDir } from './ruleset.js';
|
|
10
13
|
import { loadSections } from './sections.js';
|
|
11
14
|
import { loadProfiles, dampen } from './maturity.js';
|
|
12
15
|
import { loadConfig } from '../config.js';
|
|
@@ -60,6 +63,7 @@ export function runAudit(options) {
|
|
|
60
63
|
const profiles = loadProfiles(opts.rulesDir);
|
|
61
64
|
const maturity = resolveMaturity(opts.profile, config.maturity, detection.maturity, warnings);
|
|
62
65
|
const profile = profiles[maturity];
|
|
66
|
+
assertStageAspiration(opts.target, detection.maturity, warnings);
|
|
63
67
|
const ctx = {
|
|
64
68
|
project,
|
|
65
69
|
facts,
|
|
@@ -178,6 +182,28 @@ function appendUnusedSuppressionWarnings(suppressions, warnings) {
|
|
|
178
182
|
warnings.push(`suppression for ${describeSuppression(s)} matched no finding — remove it or fix the target`);
|
|
179
183
|
}
|
|
180
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Rank for the declared-vs-detected check (ADR-0041). Legacy is unranked:
|
|
187
|
+
* a retiring system plays a different game and gets no aspiration warning.
|
|
188
|
+
*/
|
|
189
|
+
const STAGE_RANK = { prototype: 0, mvp: 1, beta: 2, production: 3 };
|
|
190
|
+
/**
|
|
191
|
+
* ADR-0041: declared stage above detected maturity is aspiration beyond
|
|
192
|
+
* evidence — one loud line, zero moved bars. Severity keeps following
|
|
193
|
+
* detected maturity (never the declaration), so claiming `prototype` buys
|
|
194
|
+
* no leniency and claiming `production` buys no strictness.
|
|
195
|
+
*/
|
|
196
|
+
function assertStageAspiration(target, detected, warnings) {
|
|
197
|
+
const declared = loadFoundationStage(target);
|
|
198
|
+
if (declared === undefined)
|
|
199
|
+
return;
|
|
200
|
+
const want = STAGE_RANK[declared];
|
|
201
|
+
const have = STAGE_RANK[detected];
|
|
202
|
+
if (want === undefined || have === undefined || want <= have)
|
|
203
|
+
return;
|
|
204
|
+
warnings.push(`declared stage ${declared} exceeds detected maturity ${detected} — grading follows detected; ` +
|
|
205
|
+
`pass --profile ${declared} to be held to the declared bar explicitly`);
|
|
206
|
+
}
|
|
181
207
|
/**
|
|
182
208
|
* Declared intent becomes detection facts. The loader throws on a broken
|
|
183
209
|
* file (fail closed); the audit converts that into a warning and proceeds
|
|
@@ -228,6 +254,10 @@ function appendIndexWarnings(project, warnings) {
|
|
|
228
254
|
warnings.push(`${project.skippedLarge} file(s) skipped for exceeding ${MAX_FILE_BYTES} bytes — ` +
|
|
229
255
|
'content checks could not see them');
|
|
230
256
|
}
|
|
257
|
+
if (project.skippedSymlinks > 0) {
|
|
258
|
+
warnings.push(`${project.skippedSymlinks} symlink(s) skipped without traversal — ` +
|
|
259
|
+
'linked source is invisible to every check; materialize it to audit it');
|
|
260
|
+
}
|
|
231
261
|
}
|
|
232
262
|
/**
|
|
233
263
|
* CLI flags win over config file; both are validated with warnings.
|
|
@@ -348,15 +378,80 @@ function resolvePackFacts(packs, facts, include, exclude, selection) {
|
|
|
348
378
|
}
|
|
349
379
|
function evaluatePacks(activePacks, facts, depth, include, ctx, profile) {
|
|
350
380
|
const evaluated = [];
|
|
381
|
+
const invariants = [];
|
|
351
382
|
for (const pack of activePacks) {
|
|
352
383
|
for (const rule of pack.rules) {
|
|
353
384
|
if (!ruleApplies(rule, facts, depth, include.has(pack.id)))
|
|
354
385
|
continue;
|
|
386
|
+
// Invariants read conclusions, not files: second pass, after every
|
|
387
|
+
// file rule has reported. Collect now, evaluate below.
|
|
388
|
+
if (rule.check.kind === 'invariant') {
|
|
389
|
+
invariants.push(rule);
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
355
392
|
evaluated.push(scoreFinding(rule, ctx, profile));
|
|
356
393
|
}
|
|
357
394
|
}
|
|
395
|
+
for (const rule of invariants) {
|
|
396
|
+
evaluated.push(scoreInvariant(rule, ctx, profile, evaluated));
|
|
397
|
+
}
|
|
358
398
|
return evaluated;
|
|
359
399
|
}
|
|
400
|
+
function scoreInvariant(rule, ctx, profile, evaluated) {
|
|
401
|
+
const check = rule.check;
|
|
402
|
+
if (check.kind !== 'invariant') {
|
|
403
|
+
throw new Error(`scoreInvariant called on non-invariant rule ${rule.id}`);
|
|
404
|
+
}
|
|
405
|
+
const byId = new Map(evaluated.map((e) => [e.finding.ruleId, e.finding.status]));
|
|
406
|
+
const findings = evaluated.map((e) => e.finding);
|
|
407
|
+
const outcome = evaluateInvariant(check.when, check.assert, byId);
|
|
408
|
+
const base = {
|
|
409
|
+
ruleId: rule.id,
|
|
410
|
+
title: rule.title,
|
|
411
|
+
section: rule.section,
|
|
412
|
+
sectionTitle: rule.sectionTitle ?? rule.section,
|
|
413
|
+
baseSeverity: rule.severity,
|
|
414
|
+
ruleClass: rule.ruleClass,
|
|
415
|
+
why: rule.why,
|
|
416
|
+
evidenceHint: rule.evidence,
|
|
417
|
+
remediation: rule.remediation,
|
|
418
|
+
references: rule.references,
|
|
419
|
+
automatability: ruleAutomatability(rule),
|
|
420
|
+
tags: rule.tags,
|
|
421
|
+
};
|
|
422
|
+
if (!outcome.applicable) {
|
|
423
|
+
return {
|
|
424
|
+
rule,
|
|
425
|
+
finding: {
|
|
426
|
+
...base,
|
|
427
|
+
status: 'NOT_APPLICABLE',
|
|
428
|
+
severity: rule.severity,
|
|
429
|
+
dampened: false,
|
|
430
|
+
message: `Invariant inapplicable — ${outcome.detail}.`,
|
|
431
|
+
locations: [],
|
|
432
|
+
},
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
const finding = {
|
|
436
|
+
...base,
|
|
437
|
+
status: outcome.passed ? 'PASS' : 'FAIL',
|
|
438
|
+
severity: rule.severity,
|
|
439
|
+
dampened: false,
|
|
440
|
+
message: outcome.passed
|
|
441
|
+
? `Combination holds and ${check.assert.rule} agrees — ${outcome.detail}.`
|
|
442
|
+
: `Dangerous combination: ${outcome.detail}.`,
|
|
443
|
+
locations: outcome.passed ? [] : invariantLocations(check.when, findings),
|
|
444
|
+
};
|
|
445
|
+
if (!outcome.passed) {
|
|
446
|
+
applySuppressionToFinding(ctx.suppressions, rule.id, finding);
|
|
447
|
+
if (finding.status !== 'PASS') {
|
|
448
|
+
const { severity, dampened } = dampen(rule.severity, rule.ruleClass, profile);
|
|
449
|
+
finding.severity = severity;
|
|
450
|
+
finding.dampened = dampened;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
return { rule, finding };
|
|
454
|
+
}
|
|
360
455
|
function scoreFinding(rule, ctx, profile) {
|
|
361
456
|
const finding = evaluateRule(rule, ctx);
|
|
362
457
|
if (finding.status === 'PASS' || finding.status === 'NOT_APPLICABLE') {
|
|
@@ -372,6 +467,7 @@ function buildReport(opts, git, detection, facts, maturity, card, evaluated, pac
|
|
|
372
467
|
schema: 'usa-report-v1',
|
|
373
468
|
generatedAt: new Date().toISOString(),
|
|
374
469
|
usaVersion: opts.usaVersion,
|
|
470
|
+
ruleset: fingerprintRulesDir(opts.rulesDir),
|
|
375
471
|
target: {
|
|
376
472
|
path: path.resolve(opts.target),
|
|
377
473
|
name: path.basename(path.resolve(opts.target)) || opts.target,
|
package/dist/engine/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/engine/audit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/engine/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,6 @@ import type { Automatability, Check, Rule, RuleCost } from '../types.js';
|
|
|
10
10
|
* deliver it (see `validateAutomatability`).
|
|
11
11
|
*/
|
|
12
12
|
export declare function automatabilityOf(check: Check): Automatability;
|
|
13
|
-
/**
|
|
14
|
-
* Evaluation cost tier, derived from the check kind the same way
|
|
15
|
-
* automatability is: file-listing checks are cheap, content scans cost
|
|
16
|
-
* bytes, subprocesses and humans cost the most. Unknown kinds fail closed
|
|
17
|
-
* toward expensive. Used by `usa rules --facets` to make scaling a
|
|
18
|
-
* sortable column instead of vibes.
|
|
19
|
-
*/
|
|
20
13
|
export declare function costOf(check: Check): RuleCost;
|
|
21
14
|
/** The effective automatability of a rule: explicit override, else derived. */
|
|
22
15
|
export declare function ruleAutomatability(rule: Rule): Automatability;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automatability.d.ts","sourceRoot":"","sources":["../../src/engine/automatability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGzE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAkB7D;
|
|
1
|
+
{"version":3,"file":"automatability.d.ts","sourceRoot":"","sources":["../../src/engine/automatability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGzE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAkB7D;AAoCD,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAS7C;AAQD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAW3F;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOtF;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D"}
|
|
@@ -35,34 +35,42 @@ export function automatabilityOf(check) {
|
|
|
35
35
|
* toward expensive. Used by `usa rules --facets` to make scaling a
|
|
36
36
|
* sortable column instead of vibes.
|
|
37
37
|
*/
|
|
38
|
+
/**
|
|
39
|
+
* Flat cost table: file-listing checks are cheap, content scans cost
|
|
40
|
+
* bytes, subprocesses and humans cost the most. A table, not branches —
|
|
41
|
+
* adding a kind means adding a line, and the budget stays flat.
|
|
42
|
+
*/
|
|
43
|
+
// Partial on purpose: a future kind missing here fails closed toward
|
|
44
|
+
// expensive at runtime (and the costOf test pins that), instead of
|
|
45
|
+
// silently rating unknown work cheap.
|
|
46
|
+
const KIND_COST = {
|
|
47
|
+
file_exists: 'low',
|
|
48
|
+
file_absent: 'low',
|
|
49
|
+
any_file: 'low',
|
|
50
|
+
tracked_present: 'low',
|
|
51
|
+
tracked_absent: 'low',
|
|
52
|
+
count_min: 'low',
|
|
53
|
+
info: 'low',
|
|
54
|
+
grep_present: 'medium',
|
|
55
|
+
grep_absent: 'medium',
|
|
56
|
+
grep_wrong: 'medium',
|
|
57
|
+
grep_deprecated: 'medium',
|
|
58
|
+
file_lines_max: 'medium',
|
|
59
|
+
json_path: 'medium',
|
|
60
|
+
oracle: 'medium',
|
|
61
|
+
command: 'high',
|
|
62
|
+
manual: 'high',
|
|
63
|
+
};
|
|
38
64
|
export function costOf(check) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
case 'tracked_present':
|
|
44
|
-
case 'tracked_absent':
|
|
45
|
-
case 'count_min':
|
|
46
|
-
case 'info':
|
|
47
|
-
return 'low';
|
|
48
|
-
case 'grep_present':
|
|
49
|
-
case 'grep_absent':
|
|
50
|
-
case 'grep_wrong':
|
|
51
|
-
case 'grep_deprecated':
|
|
52
|
-
case 'file_lines_max':
|
|
53
|
-
case 'json_path':
|
|
54
|
-
case 'oracle':
|
|
55
|
-
return 'medium';
|
|
56
|
-
case 'command':
|
|
57
|
-
case 'manual':
|
|
58
|
-
return 'high';
|
|
59
|
-
case 'any_of':
|
|
60
|
-
return check.checks
|
|
61
|
-
.map(costOf)
|
|
62
|
-
.reduce((a, b) => (rankCost(a) >= rankCost(b) ? a : b), 'low');
|
|
63
|
-
default:
|
|
64
|
-
return 'high';
|
|
65
|
+
if (check.kind === 'any_of') {
|
|
66
|
+
return check.checks
|
|
67
|
+
.map(costOf)
|
|
68
|
+
.reduce((a, b) => (rankCost(a) >= rankCost(b) ? a : b), 'low');
|
|
65
69
|
}
|
|
70
|
+
// Invariants decide over the already-computed finding set: no file I/O.
|
|
71
|
+
if (check.kind === 'invariant')
|
|
72
|
+
return 'low';
|
|
73
|
+
return KIND_COST[check.kind] ?? 'high';
|
|
66
74
|
}
|
|
67
75
|
function rankCost(cost) {
|
|
68
76
|
if (cost === 'high')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automatability.js","sourceRoot":"","sources":["../../src/engine/automatability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,uDAAuD;QACvD,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,qEAAqE;QACrE,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,2EAA2E;QAC3E,uEAAuE;QACvE,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,kDAAkD;QAClD;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"automatability.js","sourceRoot":"","sources":["../../src/engine/automatability.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,14 @@ export declare function evalPredicate(p: Predicate | undefined, facts: Facts): b
|
|
|
13
13
|
export declare function ruleApplies(rule: Rule, facts: Facts, depth: Depth, includeAll?: boolean): boolean;
|
|
14
14
|
export declare function packApplies(pack: RulePack, facts: Facts): boolean;
|
|
15
15
|
export declare function evaluateRule(rule: Rule, ctx: EvalContext): Finding;
|
|
16
|
+
/**
|
|
17
|
+
* Excuse the locations a waiver matches (ADR-0022). A rule-wide entry excuses
|
|
18
|
+
* every location and sets `suppressedReason`. A site-level entry excuses only
|
|
19
|
+
* its matches: if none remain the finding is suppressed; if some survive, the
|
|
20
|
+
* finding stays active with the excused locations removed — a partial waiver
|
|
21
|
+
* must not hide the rest.
|
|
22
|
+
*/
|
|
23
|
+
export declare function applySuppressionToFinding(index: SuppressionIndex, ruleId: string, finding: Finding): void;
|
|
16
24
|
export declare function resolvePath(obj: unknown, dotted: string): unknown;
|
|
17
25
|
/** Effective weight of a rule: explicit override, else the severity default. */
|
|
18
26
|
export declare function ruleWeight(rule: Rule): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,KAAK,EACL,KAAK,EACL,OAAO,EAEP,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,QAAQ,EAET,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAID,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ7E;AA+DD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,UAAQ,GAAG,OAAO,CAS/F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEjE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CA0ClE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACf,IAAI,CAON;AAydD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAEhD"}
|
package/dist/engine/evaluate.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
import { DEFAULT_WEIGHT } from './loader.js';
|
|
3
5
|
import { ruleAutomatability } from './automatability.js';
|
|
4
6
|
import { applySuppressions } from './suppression.js';
|
|
@@ -136,7 +138,7 @@ export function evaluateRule(rule, ctx) {
|
|
|
136
138
|
* finding stays active with the excused locations removed — a partial waiver
|
|
137
139
|
* must not hide the rest.
|
|
138
140
|
*/
|
|
139
|
-
function applySuppressionToFinding(index, ruleId, finding) {
|
|
141
|
+
export function applySuppressionToFinding(index, ruleId, finding) {
|
|
140
142
|
const { kept, reasons, suppressedAny } = applySuppressions(index, ruleId, finding.locations);
|
|
141
143
|
if (!suppressedAny)
|
|
142
144
|
return;
|
|
@@ -161,6 +163,12 @@ function queryGrep(project, check) {
|
|
|
161
163
|
function checkManual(_check, _h) {
|
|
162
164
|
return unknownOutcome('Requires judgement — no automated evidence recorded.');
|
|
163
165
|
}
|
|
166
|
+
function checkInvariant(_check, _h) {
|
|
167
|
+
// File context has no finding set: invariants evaluate in the audit's
|
|
168
|
+
// second pass, never here. UNKNOWN (not PASS) so a direct call can never
|
|
169
|
+
// launder an unevaluated composition into a clean verdict.
|
|
170
|
+
return unknownOutcome('Evaluated over the finding set, not files — see the audit second pass.');
|
|
171
|
+
}
|
|
164
172
|
function checkInfo(_check, _h) {
|
|
165
173
|
return { status: 'NOT_APPLICABLE', message: 'Context only.', locations: [] };
|
|
166
174
|
}
|
|
@@ -168,7 +176,23 @@ function checkFileExists(check, h) {
|
|
|
168
176
|
const found = check.files.flatMap((f) => h.project.glob([f]));
|
|
169
177
|
if (found.length === 0)
|
|
170
178
|
return h.missing(`none of [${check.files.join(', ')}] found`);
|
|
171
|
-
|
|
179
|
+
// An empty marker file is substantively absent (an empty .gitignore
|
|
180
|
+
// ignores nothing). Size, not content: binary artifacts with bytes
|
|
181
|
+
// still count, unreadable files fail open toward present.
|
|
182
|
+
const solid = check.non_empty
|
|
183
|
+
? found.filter((f) => {
|
|
184
|
+
try {
|
|
185
|
+
return fs.statSync(path.join(h.project.root, f)).size > 0;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
})
|
|
191
|
+
: found;
|
|
192
|
+
if (solid.length === 0) {
|
|
193
|
+
return h.missing(`all matches empty: [${found.slice(0, 5).join(', ')}] carry no content`);
|
|
194
|
+
}
|
|
195
|
+
return h.pass(`found ${solid.slice(0, 5).join(', ')}`, solid.slice(0, 5).map(toLocation));
|
|
172
196
|
}
|
|
173
197
|
function checkFileAbsent(check, h) {
|
|
174
198
|
const found = check.files.flatMap((f) => h.project.glob([f]));
|
|
@@ -458,6 +482,7 @@ function checkAnyOf(check, h) {
|
|
|
458
482
|
/** One check kind per entry — adding a kind means adding a line, not a branch. */
|
|
459
483
|
const CHECK_HANDLERS = {
|
|
460
484
|
any_of: checkAnyOf,
|
|
485
|
+
invariant: checkInvariant,
|
|
461
486
|
manual: checkManual,
|
|
462
487
|
info: checkInfo,
|
|
463
488
|
file_exists: checkFileExists,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/engine/evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Finding, InvariantAssertion, InvariantCondition, Status } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Multi-rule invariants: findings about findings.
|
|
4
|
+
*
|
|
5
|
+
* Every other check kind reads files. Invariants read the already-computed
|
|
6
|
+
* finding set instead — they catch dangerous *combinations* no single rule
|
|
7
|
+
* can see (auth passes + caching passes + composition fails). Evaluated in
|
|
8
|
+
* a second pass after all file rules, over statuses only: no file I/O, no
|
|
9
|
+
* network, fully deterministic.
|
|
10
|
+
*
|
|
11
|
+
* The `when` language is deliberately tiny (all/any/not over rule+status
|
|
12
|
+
* pairs). If a future invariant needs scripting, the design has failed —
|
|
13
|
+
* encode the pattern as file rules and compose their conclusions instead.
|
|
14
|
+
*/
|
|
15
|
+
export type FindingStatusById = Map<string, Status>;
|
|
16
|
+
export interface InvariantOutcome {
|
|
17
|
+
/** False when `when` did not match: silent, not even UNKNOWN. */
|
|
18
|
+
applicable: boolean;
|
|
19
|
+
passed: boolean;
|
|
20
|
+
detail: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Evaluate one invariant against the finding set. Pure: no I/O, no
|
|
24
|
+
* project access. Missing rule ids read as NOT_APPLICABLE (a rule that
|
|
25
|
+
* did not run cannot satisfy a precondition — fail closed toward silent,
|
|
26
|
+
* never toward firing on absent evidence).
|
|
27
|
+
*/
|
|
28
|
+
export declare function evaluateInvariant(when: InvariantCondition, assert: InvariantAssertion, byId: FindingStatusById): InvariantOutcome;
|
|
29
|
+
/** Evidence locations for a fired invariant: the matched findings' locations. */
|
|
30
|
+
export declare function invariantLocations(when: InvariantCondition, findings: Finding[]): Finding['locations'];
|
|
31
|
+
//# sourceMappingURL=invariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/engine/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAElB,kBAAkB,EAClB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBpD,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,CAelB;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,WAAW,CAAC,CAStB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
function clauseHolds(clause, byId) {
|
|
2
|
+
return clause.status.includes(byId.get(clause.rule) ?? 'NOT_APPLICABLE');
|
|
3
|
+
}
|
|
4
|
+
function whenMatches(when, byId) {
|
|
5
|
+
if (when.all !== undefined && !when.all.every((c) => clauseHolds(c, byId)))
|
|
6
|
+
return false;
|
|
7
|
+
if (when.any !== undefined && !when.any.some((c) => clauseHolds(c, byId)))
|
|
8
|
+
return false;
|
|
9
|
+
if (when.not !== undefined && when.not.some((c) => clauseHolds(c, byId)))
|
|
10
|
+
return false;
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
function assertHolds(assert, byId) {
|
|
14
|
+
return assert.status.includes(byId.get(assert.rule) ?? 'NOT_APPLICABLE');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Evaluate one invariant against the finding set. Pure: no I/O, no
|
|
18
|
+
* project access. Missing rule ids read as NOT_APPLICABLE (a rule that
|
|
19
|
+
* did not run cannot satisfy a precondition — fail closed toward silent,
|
|
20
|
+
* never toward firing on absent evidence).
|
|
21
|
+
*/
|
|
22
|
+
export function evaluateInvariant(when, assert, byId) {
|
|
23
|
+
if (!whenMatches(when, byId)) {
|
|
24
|
+
return { applicable: false, passed: true, detail: 'precondition not met' };
|
|
25
|
+
}
|
|
26
|
+
const actual = byId.get(assert.rule) ?? 'NOT_APPLICABLE';
|
|
27
|
+
if (assertHolds(assert, byId)) {
|
|
28
|
+
return { applicable: true, passed: true, detail: `${assert.rule} is ${actual}` };
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
applicable: true,
|
|
32
|
+
passed: false,
|
|
33
|
+
detail: `combination holds but ${assert.rule} is ${actual} ` +
|
|
34
|
+
`(expected ${assert.status.join('/')})`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Evidence locations for a fired invariant: the matched findings' locations. */
|
|
38
|
+
export function invariantLocations(when, findings) {
|
|
39
|
+
const ids = new Set();
|
|
40
|
+
for (const group of [when.all ?? [], when.any ?? []]) {
|
|
41
|
+
for (const c of group)
|
|
42
|
+
ids.add(c.rule);
|
|
43
|
+
}
|
|
44
|
+
return findings
|
|
45
|
+
.filter((f) => ids.has(f.ruleId))
|
|
46
|
+
.flatMap((f) => f.locations)
|
|
47
|
+
.slice(0, 8);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=invariants.js.map
|