@mikeargento/bitgraph-audit 0.1.2 → 0.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/dist/anomalies.d.ts.map +1 -1
- package/dist/anomalies.js +44 -6
- package/dist/anomalies.js.map +1 -1
- package/dist/audit.d.ts +29 -2
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +30 -15
- package/dist/audit.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/ingest.d.ts +25 -0
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +120 -0
- package/dist/ingest.js.map +1 -1
- package/dist/report-json.d.ts.map +1 -1
- package/dist/report-json.js +2 -0
- package/dist/report-json.js.map +1 -1
- package/dist/report-md.js +14 -0
- package/dist/report-md.js.map +1 -1
- package/dist/types.d.ts +49 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/anomalies.ts +46 -6
- package/src/audit.ts +45 -16
- package/src/index.ts +5 -2
- package/src/ingest.ts +159 -0
- package/src/report-json.ts +2 -0
- package/src/report-md.ts +17 -0
- package/src/types.ts +50 -1
package/dist/anomalies.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomalies.d.ts","sourceRoot":"","sources":["../src/anomalies.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"anomalies.d.ts","sourceRoot":"","sources":["../src/anomalies.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EACV,aAAa,EAOb,YAAY,EAGZ,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAcpB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,aAAa,CAAC,CAgCxB"}
|
package/dist/anomalies.js
CHANGED
|
@@ -20,6 +20,7 @@ const MAX_LISTED_POSITIONS = 10_000;
|
|
|
20
20
|
export async function classifyAnomalies(ingest, reconstruction) {
|
|
21
21
|
const anomalies = [];
|
|
22
22
|
const divergences = [];
|
|
23
|
+
const boundaryEntryPoints = [];
|
|
23
24
|
const byHash = new Map(ingest.proofs.map((p) => [p.proofHash, p]));
|
|
24
25
|
// Predecessor links (prevB64, epochLink.prevProofHashB64) reference the CHAIN
|
|
25
26
|
// hash, not the identity hash, so predecessor resolution keys on chainHash.
|
|
@@ -36,7 +37,7 @@ export async function classifyAnomalies(ingest, reconstruction) {
|
|
|
36
37
|
await analyzeCollisions(partition, members, "slot", anomalies, divergences);
|
|
37
38
|
await analyzeCrossKindPositionReuse(partition, members, anomalies, divergences);
|
|
38
39
|
await analyzePredecessorReuse(partition, members, byChainHash, anomalies, divergences);
|
|
39
|
-
analyzeChainBreaks(partition, members, byChainHash, partitionOf, anomalies);
|
|
40
|
+
analyzeChainBreaks(partition, members, byChainHash, partitionOf, anomalies, boundaryEntryPoints);
|
|
40
41
|
await analyzeMultipleGenesis(partition, members, anomalies, divergences);
|
|
41
42
|
analyzeSlotOrder(partition, members, anomalies);
|
|
42
43
|
}
|
|
@@ -44,7 +45,7 @@ export async function classifyAnomalies(ingest, reconstruction) {
|
|
|
44
45
|
// it takes the proofHash-keyed map. Predecessor (prevProofHashB64) resolution
|
|
45
46
|
// happened upstream in reconstruct.ts against chain hashes.
|
|
46
47
|
await analyzeEpochLinks(reconstruction.epochRelationships.edges, byHash, anomalies, divergences);
|
|
47
|
-
return { anomalies, divergences };
|
|
48
|
+
return { anomalies, divergences, boundaryEntryPoints };
|
|
48
49
|
}
|
|
49
50
|
// ---------------------------------------------------------------------------
|
|
50
51
|
// G2 gap logic
|
|
@@ -292,9 +293,19 @@ async function analyzePredecessorReuse(partition, members, byChainHash, anomalie
|
|
|
292
293
|
// ---------------------------------------------------------------------------
|
|
293
294
|
// Chain breaks
|
|
294
295
|
// ---------------------------------------------------------------------------
|
|
295
|
-
function analyzeChainBreaks(partition, members, byChainHash, partitionOf, anomalies) {
|
|
296
|
+
function analyzeChainBreaks(partition, members, byChainHash, partitionOf, anomalies, boundaryEntryPoints) {
|
|
296
297
|
// prevB64 resolves in-partition when it equals a member's CHAIN hash.
|
|
297
298
|
const memberChainHashes = new Set(members.map((m) => m.chainHash));
|
|
299
|
+
// Lowest observed commit counter: a dangling link AT the lowest position is
|
|
300
|
+
// the excerpt's frontier (an expected boundary); a dangling link ABOVE it is
|
|
301
|
+
// an interior hole (a real chain break, and the missing proof's positions
|
|
302
|
+
// also surface as unexplained-counter-positions).
|
|
303
|
+
let minCounter;
|
|
304
|
+
for (const m of members) {
|
|
305
|
+
const c = parseCounter(m.counter);
|
|
306
|
+
if (c !== undefined && (minCounter === undefined || c < minCounter))
|
|
307
|
+
minCounter = c;
|
|
308
|
+
}
|
|
298
309
|
for (const m of [...members].sort(byCounterThenHash)) {
|
|
299
310
|
if (m.prevB64 === undefined)
|
|
300
311
|
continue;
|
|
@@ -335,13 +346,40 @@ function analyzeChainBreaks(partition, members, byChainHash, partitionOf, anomal
|
|
|
335
346
|
});
|
|
336
347
|
continue;
|
|
337
348
|
}
|
|
349
|
+
// A well-formed, in-partition prevB64 whose predecessor is absent splits
|
|
350
|
+
// into two cases by position:
|
|
351
|
+
//
|
|
352
|
+
// - FRONTIER (m is at the lowest observed counter): the excerpt simply
|
|
353
|
+
// starts here; its predecessor precedes the exported window. This is the
|
|
354
|
+
// EXPECTED boundary of any bounded bundle, not a defect. A validly
|
|
355
|
+
// signed, attested proof only exists by extending the chain (fail-closed
|
|
356
|
+
// construction), so its predecessor did exist; it is just not included.
|
|
357
|
+
// Recorded as an informational boundary entry point — never sets the
|
|
358
|
+
// exit code, never marks the partition non-intact. A full-epoch export
|
|
359
|
+
// has none of these (its earliest proof is the genesis, no prevB64).
|
|
360
|
+
//
|
|
361
|
+
// - INTERIOR (a lower-counter member is present): a proof sits below m yet
|
|
362
|
+
// the link into m is broken — a genuine hole. Stays a chain-break-missing
|
|
363
|
+
// anomaly. The missing proof's own positions also surface as
|
|
364
|
+
// unexplained-counter-positions, so an interior hole always fails.
|
|
365
|
+
const c = parseCounter(m.counter);
|
|
366
|
+
const isFrontier = c === undefined || minCounter === undefined || c <= minCounter;
|
|
367
|
+
if (isFrontier) {
|
|
368
|
+
boundaryEntryPoints.push({
|
|
369
|
+
partition: partition.key,
|
|
370
|
+
proofHash: m.proofHash,
|
|
371
|
+
prevB64: m.prevB64,
|
|
372
|
+
});
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
338
375
|
anomalies.push({
|
|
339
376
|
code: "chain-break-missing",
|
|
340
377
|
partition: partition.key,
|
|
341
378
|
proofHashes: [m.proofHash],
|
|
342
|
-
message: "commit.prevB64 references a predecessor proof that is absent from the supplied bundle
|
|
343
|
-
"
|
|
344
|
-
"
|
|
379
|
+
message: "commit.prevB64 references a predecessor proof that is absent from the supplied bundle, and a " +
|
|
380
|
+
"lower-positioned proof IS present, so this is an interior break (a hole), not the excerpt's " +
|
|
381
|
+
"starting boundary. The chain cannot be reconstructed across this link from the supplied " +
|
|
382
|
+
"evidence; this does not, by itself, establish that the predecessor never existed.",
|
|
345
383
|
details: { prevB64: m.prevB64 },
|
|
346
384
|
});
|
|
347
385
|
}
|
package/dist/anomalies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anomalies.js","sourceRoot":"","sources":["../src/anomalies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anomalies.js","sourceRoot":"","sources":["../src/anomalies.ts"],"names":[],"mappings":"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"}
|
package/dist/audit.d.ts
CHANGED
|
@@ -1,6 +1,33 @@
|
|
|
1
|
-
import type { AuditOptions, AuditResult, ExitFlags } from "./types.js";
|
|
2
|
-
/**
|
|
1
|
+
import type { AuditOptions, AuditResult, ExitFlags, IngestResult } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The audit package's own version, as a source constant rather than a
|
|
4
|
+
* runtime package.json read. The read had two failure modes in bundled
|
|
5
|
+
* embedders (esbuild/webpack output, browsers): a foreign package.json one
|
|
6
|
+
* level up supplies the WRONG version into every report, or there is no
|
|
7
|
+
* package.json at all and the read throws mid-audit. A unit test asserts
|
|
8
|
+
* this equals package.json's version, so the constant cannot drift silently
|
|
9
|
+
* across releases.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AUDIT_VERSION = "0.2.0";
|
|
12
|
+
/** The audit package's own version. */
|
|
3
13
|
export declare function auditToolVersion(): string;
|
|
14
|
+
/** Options for auditIngest(): the audit options plus the run stamp. */
|
|
15
|
+
export interface AuditIngestOptions extends AuditOptions {
|
|
16
|
+
/**
|
|
17
|
+
* The runMetadata.startedAt value. runAudit() stamps the wall clock here;
|
|
18
|
+
* an embedder that needs a fully deterministic result supplies its own
|
|
19
|
+
* (any string, for example ""). Defaults to the wall clock when omitted.
|
|
20
|
+
*/
|
|
21
|
+
startedAt?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The pure tail of the pipeline over an already-ingested bundle: every
|
|
25
|
+
* stage after ingest, in canonical order, with no filesystem access. This
|
|
26
|
+
* is how a browser or an embedder that used ingestEntries() gets the same
|
|
27
|
+
* AuditResult the CLI gets from a path. runAudit() is exactly
|
|
28
|
+
* ingestBundle() followed by this.
|
|
29
|
+
*/
|
|
30
|
+
export declare function auditIngest(ingest: IngestResult, options?: AuditIngestOptions): Promise<AuditResult>;
|
|
4
31
|
/**
|
|
5
32
|
* Run the complete audit pipeline over a bundle (directory, .tar, .tar.gz,
|
|
6
33
|
* or .tgz) and return everything every stage produced.
|
package/dist/audit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,uCAAuC;AACvC,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAyCtB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAG/F;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAgB/D"}
|
package/dist/audit.js
CHANGED
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Zero network access, as everywhere in this package.
|
|
17
17
|
*/
|
|
18
|
-
import { readFileSync } from "node:fs";
|
|
19
18
|
import { ingestBundle } from "./ingest.js";
|
|
20
19
|
import { verifyObservedProofs } from "./verify-tiers.js";
|
|
21
20
|
import { reconstructChains } from "./reconstruct.js";
|
|
@@ -25,23 +24,31 @@ import { identifyAnchors } from "./anchors.js";
|
|
|
25
24
|
import { verifyAnchorWitnesses } from "./witness.js";
|
|
26
25
|
import { deriveTemporalBounds } from "./temporal.js";
|
|
27
26
|
import { validateAttestations } from "./attestation.js";
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
/**
|
|
28
|
+
* The audit package's own version, as a source constant rather than a
|
|
29
|
+
* runtime package.json read. The read had two failure modes in bundled
|
|
30
|
+
* embedders (esbuild/webpack output, browsers): a foreign package.json one
|
|
31
|
+
* level up supplies the WRONG version into every report, or there is no
|
|
32
|
+
* package.json at all and the read throws mid-audit. A unit test asserts
|
|
33
|
+
* this equals package.json's version, so the constant cannot drift silently
|
|
34
|
+
* across releases.
|
|
35
|
+
*/
|
|
36
|
+
export const AUDIT_VERSION = "0.2.0";
|
|
37
|
+
/** The audit package's own version. */
|
|
30
38
|
export function auditToolVersion() {
|
|
31
|
-
|
|
32
|
-
const raw = readFileSync(new URL("../package.json", import.meta.url), "utf8");
|
|
33
|
-
cachedToolVersion = JSON.parse(raw).version;
|
|
34
|
-
}
|
|
35
|
-
return cachedToolVersion;
|
|
39
|
+
return AUDIT_VERSION;
|
|
36
40
|
}
|
|
37
41
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
42
|
+
* The pure tail of the pipeline over an already-ingested bundle: every
|
|
43
|
+
* stage after ingest, in canonical order, with no filesystem access. This
|
|
44
|
+
* is how a browser or an embedder that used ingestEntries() gets the same
|
|
45
|
+
* AuditResult the CLI gets from a path. runAudit() is exactly
|
|
46
|
+
* ingestBundle() followed by this.
|
|
40
47
|
*/
|
|
41
|
-
export async function
|
|
42
|
-
// The ONLY wall-clock read in the pipeline
|
|
43
|
-
|
|
44
|
-
const
|
|
48
|
+
export async function auditIngest(ingest, options) {
|
|
49
|
+
// The ONLY wall-clock read in the pipeline, and only when the caller did
|
|
50
|
+
// not supply the stamp. See AuditRunMetadata.
|
|
51
|
+
const startedAt = options?.startedAt ?? new Date().toISOString();
|
|
45
52
|
const verification = await verifyObservedProofs(ingest, options?.trustAnchors !== undefined ? { trustAnchors: options.trustAnchors } : undefined);
|
|
46
53
|
const reconstruction = await reconstructChains(ingest);
|
|
47
54
|
const anomalies = await classifyAnomalies(ingest, reconstruction);
|
|
@@ -57,7 +64,7 @@ export async function runAudit(bundlePath, options) {
|
|
|
57
64
|
runMetadata: {
|
|
58
65
|
toolVersion: auditToolVersion(),
|
|
59
66
|
startedAt,
|
|
60
|
-
bundlePath,
|
|
67
|
+
bundlePath: ingest.bundlePath,
|
|
61
68
|
container: ingest.container,
|
|
62
69
|
},
|
|
63
70
|
ingest,
|
|
@@ -71,6 +78,14 @@ export async function runAudit(bundlePath, options) {
|
|
|
71
78
|
attestations,
|
|
72
79
|
};
|
|
73
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Run the complete audit pipeline over a bundle (directory, .tar, .tar.gz,
|
|
83
|
+
* or .tgz) and return everything every stage produced.
|
|
84
|
+
*/
|
|
85
|
+
export async function runAudit(bundlePath, options) {
|
|
86
|
+
const ingest = await ingestBundle(bundlePath);
|
|
87
|
+
return auditIngest(ingest, options);
|
|
88
|
+
}
|
|
74
89
|
/**
|
|
75
90
|
* Anchor witness verification-failure codes: every finding the witness
|
|
76
91
|
* stage emits is a failure (verifyAnchorWitnesses records findings only for
|
package/dist/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
* Zero runtime network access, by design. Everything verifiable is
|
|
11
11
|
* verified locally; everything else is reported as exactly what it is.
|
|
12
12
|
*/
|
|
13
|
-
export type { AnomalyCode, AuditFinding, VerificationTier, VerificationStatus, EmbeddedProofHashStatus, ProofVerification, ProofSource, ObservedProof, UnsupportedVersionRecord, ArtifactRecord, AnchorWitnessFile, BundleManifest, ManifestReport, ContainerKind, IngestCounts, IngestLimits, IngestResult, VerifyObservedOptions, VerificationSummary, MatchedArtifactBytes, PartitionKey, ChainComponent, ChainPartition, EpochLinkFields, EpochLineageEdge, EpochAnchorBound, EpochRecord, EpochRelationshipResult, ReconstructionResult, ChainAnomaly, UnexplainedPositionsDetail, DivergenceKind, DivergenceParty, DivergenceRecord, AnomalyReport, AttestedMeasurementEvidence, AuthorityGroup, SignerEpochSpan, AuthorityAnalysis, AnchorMetadataCorroboration, AnchorRecord, AnchorIdentification, AnchorWitnessOutcome, AnchorWitnessAnalysis, BoundEvidence, SegmentBound, TemporalSegmentStatus, TemporalSegment, AnchorOrderedPair, TemporalAnalysis, AttestationCheck, NitroValidationOptions, NitroValidationResult, ProofAttestationRecord, AttestationAnalysis, AuditOptions, AuditRunMetadata, AuditResult, ExitFlags, AnomalyStage, ReportAnomaly, ReportProofRecord, ReportPartition, UnorderedEpochPair, ReportEpochRelationships, ReportInputSummary, ReportSummary, AuditJsonReport, } from "./types.js";
|
|
14
|
-
export { ingestBundle, streamMatchedArtifacts, DEFAULT_INGEST_LIMITS } from "./ingest.js";
|
|
13
|
+
export type { AnomalyCode, AuditFinding, VerificationTier, VerificationStatus, EmbeddedProofHashStatus, ProofVerification, ProofSource, ObservedProof, UnsupportedVersionRecord, ArtifactRecord, AnchorWitnessFile, BundleManifest, ManifestReport, ContainerKind, IngestCounts, IngestLimits, IngestResult, VerifyObservedOptions, VerificationSummary, MatchedArtifactBytes, PartitionKey, ChainComponent, ChainPartition, EpochLinkFields, EpochLineageEdge, EpochAnchorBound, EpochRecord, EpochRelationshipResult, ReconstructionResult, ChainAnomaly, UnexplainedPositionsDetail, BoundaryEntryPoint, DivergenceKind, DivergenceParty, DivergenceRecord, AnomalyReport, AttestedMeasurementEvidence, AuthorityGroup, SignerEpochSpan, AuthorityAnalysis, AnchorMetadataCorroboration, AnchorRecord, AnchorIdentification, AnchorWitnessOutcome, AnchorWitnessAnalysis, BoundEvidence, SegmentBound, TemporalSegmentStatus, TemporalSegment, AnchorOrderedPair, TemporalAnalysis, AttestationCheck, NitroValidationOptions, NitroValidationResult, ProofAttestationRecord, AttestationAnalysis, AuditOptions, AuditRunMetadata, AuditResult, ExitFlags, AnomalyStage, ReportAnomaly, ReportProofRecord, ReportPartition, UnorderedEpochPair, ReportEpochRelationships, ReportInputSummary, ReportSummary, AuditJsonReport, } from "./types.js";
|
|
14
|
+
export { ingestBundle, ingestEntries, streamMatchedArtifacts, DEFAULT_INGEST_LIMITS } from "./ingest.js";
|
|
15
|
+
export type { BundleEntrySource } from "./ingest.js";
|
|
15
16
|
export { verifyObservedProofs } from "./verify-tiers.js";
|
|
16
17
|
export { reconstructChains } from "./reconstruct.js";
|
|
17
18
|
export { classifyAnomalies } from "./anomalies.js";
|
|
@@ -20,7 +21,8 @@ export { identifyAnchors } from "./anchors.js";
|
|
|
20
21
|
export { verifyAnchorWitnesses, verifyAnchorWitness } from "./witness.js";
|
|
21
22
|
export { deriveTemporalBounds } from "./temporal.js";
|
|
22
23
|
export { validateAttestations, validateNitroAttestationDocument } from "./attestation.js";
|
|
23
|
-
export { runAudit, computeExitFlags, auditToolVersion } from "./audit.js";
|
|
24
|
+
export { runAudit, auditIngest, computeExitFlags, auditToolVersion, AUDIT_VERSION } from "./audit.js";
|
|
25
|
+
export type { AuditIngestOptions } from "./audit.js";
|
|
24
26
|
export { buildJsonReport } from "./report-json.js";
|
|
25
27
|
export { buildMarkdownReport } from "./report-md.js";
|
|
26
28
|
export { AWS_NITRO_ROOT_CA_PEM } from "./aws-nitro-root-ca.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzG,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAE1F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtG,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
|
|
2
|
-
export { ingestBundle, streamMatchedArtifacts, DEFAULT_INGEST_LIMITS } from "./ingest.js";
|
|
2
|
+
export { ingestBundle, ingestEntries, streamMatchedArtifacts, DEFAULT_INGEST_LIMITS } from "./ingest.js";
|
|
3
3
|
export { verifyObservedProofs } from "./verify-tiers.js";
|
|
4
4
|
export { reconstructChains } from "./reconstruct.js";
|
|
5
5
|
export { classifyAnomalies } from "./anomalies.js";
|
|
@@ -8,7 +8,7 @@ export { identifyAnchors } from "./anchors.js";
|
|
|
8
8
|
export { verifyAnchorWitnesses, verifyAnchorWitness } from "./witness.js";
|
|
9
9
|
export { deriveTemporalBounds } from "./temporal.js";
|
|
10
10
|
export { validateAttestations, validateNitroAttestationDocument } from "./attestation.js";
|
|
11
|
-
export { runAudit, computeExitFlags, auditToolVersion } from "./audit.js";
|
|
11
|
+
export { runAudit, auditIngest, computeExitFlags, auditToolVersion, AUDIT_VERSION } from "./audit.js";
|
|
12
12
|
export { buildJsonReport } from "./report-json.js";
|
|
13
13
|
export { buildMarkdownReport } from "./report-md.js";
|
|
14
14
|
export { AWS_NITRO_ROOT_CA_PEM } from "./aws-nitro-root-ca.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAuFrF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAE1F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGtG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/ingest.d.ts
CHANGED
|
@@ -20,6 +20,31 @@ export declare const DEFAULT_INGEST_LIMITS: IngestLimits;
|
|
|
20
20
|
* Error rather than exhausting memory.
|
|
21
21
|
*/
|
|
22
22
|
export declare function ingestBundle(bundlePath: string, limits?: IngestLimits): Promise<IngestResult>;
|
|
23
|
+
/**
|
|
24
|
+
* One in-memory bundle entry for ingestEntries(): a bundle-root-relative
|
|
25
|
+
* path (forward slashes) and a way to open its bytes. `open` may be called
|
|
26
|
+
* more than once (once to scan and hash, again to re-read matched artifact
|
|
27
|
+
* bytes for full-tier verification), and it may return the bytes whole,
|
|
28
|
+
* a promise of them, or an async chunk stream, so a browser can hand over
|
|
29
|
+
* File objects without buffering every artifact up front.
|
|
30
|
+
*/
|
|
31
|
+
export interface BundleEntrySource {
|
|
32
|
+
path: string;
|
|
33
|
+
open: () => Uint8Array | Promise<Uint8Array> | AsyncIterable<Uint8Array>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Ingest a bundle from in-memory entries: the filesystem-free counterpart
|
|
37
|
+
* of ingestBundle(), for browsers and embedders that already hold the
|
|
38
|
+
* bytes. Same discovery, classification, hashing, and matching, so the
|
|
39
|
+
* result feeds the same verification and reconstruction stages. Entries
|
|
40
|
+
* are ordered by path before scanning so the result is deterministic
|
|
41
|
+
* regardless of the order the caller supplied them; paths are normalized
|
|
42
|
+
* exactly as tar entries are (unsafe paths are skipped and reported).
|
|
43
|
+
* Performs no verification and no network access.
|
|
44
|
+
*/
|
|
45
|
+
export declare function ingestEntries(entries: Iterable<BundleEntrySource>, options?: {
|
|
46
|
+
label?: string;
|
|
47
|
+
}): Promise<IngestResult>;
|
|
23
48
|
/**
|
|
24
49
|
* Stream the bytes of every artifact that content-matched at least one
|
|
25
50
|
* proof, one artifact at a time, in deterministic order (first-observation
|
package/dist/ingest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../src/ingest.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAQV,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAUpB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../src/ingest.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAQV,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAUpB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAInC,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,YAAY,CAAC,CAkEvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CAC1E;AAWD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACpC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,OAAO,CAAC,YAAY,CAAC,CA2CvB;AA0LD;;;;;;;;;;;GAWG;AACH,wBAAuB,sBAAsB,CAC3C,MAAM,EAAE,YAAY,GACnB,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CA8ElD"}
|
package/dist/ingest.js
CHANGED
|
@@ -132,6 +132,99 @@ export async function ingestBundle(bundlePath, limits = DEFAULT_INGEST_LIMITS) {
|
|
|
132
132
|
if (container !== "directory" && scanned.length > 0) {
|
|
133
133
|
strippedRootPrefix = rootTracker.commonRoot();
|
|
134
134
|
}
|
|
135
|
+
return finalizeIngest({
|
|
136
|
+
bundlePath,
|
|
137
|
+
container,
|
|
138
|
+
scanned,
|
|
139
|
+
strippedRootPrefix,
|
|
140
|
+
findings,
|
|
141
|
+
entriesScanned,
|
|
142
|
+
skippedUnsafePaths,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Per-result registry of entry sources for in-memory ("memory" container)
|
|
147
|
+
* ingests, so streamMatchedArtifacts can re-read artifact bytes without the
|
|
148
|
+
* IngestResult carrying functions. Keyed by identity: a structurally cloned
|
|
149
|
+
* IngestResult loses its sources and yields no artifact bytes, which
|
|
150
|
+
* downgrades every proof to the integrity tier rather than crashing.
|
|
151
|
+
*/
|
|
152
|
+
const memorySources = new WeakMap();
|
|
153
|
+
/**
|
|
154
|
+
* Ingest a bundle from in-memory entries: the filesystem-free counterpart
|
|
155
|
+
* of ingestBundle(), for browsers and embedders that already hold the
|
|
156
|
+
* bytes. Same discovery, classification, hashing, and matching, so the
|
|
157
|
+
* result feeds the same verification and reconstruction stages. Entries
|
|
158
|
+
* are ordered by path before scanning so the result is deterministic
|
|
159
|
+
* regardless of the order the caller supplied them; paths are normalized
|
|
160
|
+
* exactly as tar entries are (unsafe paths are skipped and reported).
|
|
161
|
+
* Performs no verification and no network access.
|
|
162
|
+
*/
|
|
163
|
+
export async function ingestEntries(entries, options) {
|
|
164
|
+
const findings = [];
|
|
165
|
+
let skippedUnsafePaths = 0;
|
|
166
|
+
let entriesScanned = 0;
|
|
167
|
+
const scanned = [];
|
|
168
|
+
const sources = new Map();
|
|
169
|
+
const ordered = Array.from(entries).sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
170
|
+
for (const entry of ordered) {
|
|
171
|
+
entriesScanned++;
|
|
172
|
+
const normalized = normalizeEntryPath(entry.path);
|
|
173
|
+
if (normalized.unsafe) {
|
|
174
|
+
skippedUnsafePaths++;
|
|
175
|
+
findings.push({
|
|
176
|
+
code: "unsafe-path",
|
|
177
|
+
path: entry.path,
|
|
178
|
+
message: `entry skipped: ${normalized.reason}`,
|
|
179
|
+
});
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
const hashed = await hashEntryStream(normalized.path, undefined, undefined, openAsChunks(entry.open()));
|
|
183
|
+
scanned.push(makeScannedEntry(normalized.path, hashed));
|
|
184
|
+
sources.set(normalized.path, entry);
|
|
185
|
+
}
|
|
186
|
+
const result = finalizeIngest({
|
|
187
|
+
bundlePath: options?.label ?? "",
|
|
188
|
+
container: "memory",
|
|
189
|
+
scanned,
|
|
190
|
+
strippedRootPrefix: undefined,
|
|
191
|
+
findings,
|
|
192
|
+
entriesScanned,
|
|
193
|
+
skippedUnsafePaths,
|
|
194
|
+
});
|
|
195
|
+
memorySources.set(result, sources);
|
|
196
|
+
return result;
|
|
197
|
+
}
|
|
198
|
+
/** Adapt every accepted `open()` return shape to a chunk stream. */
|
|
199
|
+
async function* openAsChunks(opened) {
|
|
200
|
+
const value = await Promise.resolve(opened);
|
|
201
|
+
if (value instanceof Uint8Array) {
|
|
202
|
+
yield value;
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
// Not a Uint8Array and not a promise of one: an async iterable.
|
|
206
|
+
for await (const chunk of opened)
|
|
207
|
+
yield chunk;
|
|
208
|
+
}
|
|
209
|
+
/** Read an in-memory entry whole for artifact re-reads. */
|
|
210
|
+
async function readSourceWhole(source) {
|
|
211
|
+
const chunks = [];
|
|
212
|
+
let total = 0;
|
|
213
|
+
for await (const chunk of openAsChunks(source.open())) {
|
|
214
|
+
chunks.push(chunk);
|
|
215
|
+
total += chunk.length;
|
|
216
|
+
}
|
|
217
|
+
return concatBytes(chunks, total);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* The container-independent tail of ingest: path finalization, the
|
|
221
|
+
* contents hash, classification by schema shape, and content-addressed
|
|
222
|
+
* artifact matching. Both ingestBundle() and ingestEntries() end here, so
|
|
223
|
+
* a directory, an archive, and an in-memory entry set that hold the same
|
|
224
|
+
* bytes at the same paths classify identically.
|
|
225
|
+
*/
|
|
226
|
+
function finalizeIngest(params) {
|
|
227
|
+
const { bundlePath, container, scanned, strippedRootPrefix, findings, entriesScanned, skippedUnsafePaths } = params;
|
|
135
228
|
const finalByPath = new Map();
|
|
136
229
|
for (const entry of scanned) {
|
|
137
230
|
let finalPath = entry.rawPath;
|
|
@@ -274,6 +367,33 @@ export async function* streamMatchedArtifacts(ingest) {
|
|
|
274
367
|
const needed = ingest.artifacts.filter((a) => a.matchedProofHashes.length > 0);
|
|
275
368
|
if (needed.length === 0)
|
|
276
369
|
return;
|
|
370
|
+
if (ingest.container === "memory") {
|
|
371
|
+
// In-memory ingest: re-open through the registered sources. A result
|
|
372
|
+
// whose sources are unknown (cloned, or not from ingestEntries) yields
|
|
373
|
+
// nothing, so verification falls back to the integrity tier.
|
|
374
|
+
const sources = memorySources.get(ingest);
|
|
375
|
+
if (sources === undefined)
|
|
376
|
+
return;
|
|
377
|
+
for (const artifact of needed) {
|
|
378
|
+
for (const relPath of artifact.paths) {
|
|
379
|
+
const source = sources.get(relPath);
|
|
380
|
+
if (source === undefined)
|
|
381
|
+
continue;
|
|
382
|
+
let bytes;
|
|
383
|
+
try {
|
|
384
|
+
bytes = await readSourceWhole(source);
|
|
385
|
+
}
|
|
386
|
+
catch {
|
|
387
|
+
continue;
|
|
388
|
+
}
|
|
389
|
+
if (toHex(sha256(bytes)) !== artifact.sha256Hex)
|
|
390
|
+
continue;
|
|
391
|
+
yield { sha256Hex: artifact.sha256Hex, path: relPath, bytes };
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
277
397
|
if (ingest.container === "directory") {
|
|
278
398
|
for (const artifact of needed) {
|
|
279
399
|
for (const relPath of artifact.paths) {
|