@mikeargento/bitgraph-audit 0.1.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/LICENSE +21 -0
- package/README.md +11 -0
- package/dist/anchors.d.ts +31 -0
- package/dist/anchors.d.ts.map +1 -0
- package/dist/anchors.js +116 -0
- package/dist/anchors.js.map +1 -0
- package/dist/anomalies.d.ts +42 -0
- package/dist/anomalies.d.ts.map +1 -0
- package/dist/anomalies.js +642 -0
- package/dist/anomalies.js.map +1 -0
- package/dist/attestation.d.ts +20 -0
- package/dist/attestation.d.ts.map +1 -0
- package/dist/attestation.js +795 -0
- package/dist/attestation.js.map +1 -0
- package/dist/audit.d.ts +19 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +116 -0
- package/dist/audit.js.map +1 -0
- package/dist/authority.d.ts +37 -0
- package/dist/authority.d.ts.map +1 -0
- package/dist/authority.js +126 -0
- package/dist/authority.js.map +1 -0
- package/dist/aws-nitro-root-ca.d.ts +24 -0
- package/dist/aws-nitro-root-ca.d.ts.map +1 -0
- package/dist/aws-nitro-root-ca.js +44 -0
- package/dist/aws-nitro-root-ca.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +257 -0
- package/dist/cli.js.map +1 -0
- package/dist/contents-hash.d.ts +30 -0
- package/dist/contents-hash.d.ts.map +1 -0
- package/dist/contents-hash.js +73 -0
- package/dist/contents-hash.js.map +1 -0
- package/dist/export.d.ts +64 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +192 -0
- package/dist/export.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/ingest.d.ts +36 -0
- package/dist/ingest.d.ts.map +1 -0
- package/dist/ingest.js +828 -0
- package/dist/ingest.js.map +1 -0
- package/dist/reconstruct.d.ts +40 -0
- package/dist/reconstruct.d.ts.map +1 -0
- package/dist/reconstruct.js +400 -0
- package/dist/reconstruct.js.map +1 -0
- package/dist/report-json.d.ts +3 -0
- package/dist/report-json.d.ts.map +1 -0
- package/dist/report-json.js +290 -0
- package/dist/report-json.js.map +1 -0
- package/dist/report-md.d.ts +3 -0
- package/dist/report-md.d.ts.map +1 -0
- package/dist/report-md.js +853 -0
- package/dist/report-md.js.map +1 -0
- package/dist/rlp.d.ts +37 -0
- package/dist/rlp.d.ts.map +1 -0
- package/dist/rlp.js +120 -0
- package/dist/rlp.js.map +1 -0
- package/dist/tar.d.ts +47 -0
- package/dist/tar.d.ts.map +1 -0
- package/dist/tar.js +483 -0
- package/dist/tar.js.map +1 -0
- package/dist/temporal.d.ts +55 -0
- package/dist/temporal.d.ts.map +1 -0
- package/dist/temporal.js +461 -0
- package/dist/temporal.js.map +1 -0
- package/dist/types.d.ts +1389 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validity.d.ts +21 -0
- package/dist/validity.d.ts.map +1 -0
- package/dist/validity.js +86 -0
- package/dist/validity.js.map +1 -0
- package/dist/verify-tiers.d.ts +11 -0
- package/dist/verify-tiers.d.ts.map +1 -0
- package/dist/verify-tiers.js +120 -0
- package/dist/verify-tiers.js.map +1 -0
- package/dist/witness.d.ts +25 -0
- package/dist/witness.d.ts.map +1 -0
- package/dist/witness.js +308 -0
- package/dist/witness.js.map +1 -0
- package/package.json +42 -0
- package/src/anchors.ts +168 -0
- package/src/anomalies.ts +773 -0
- package/src/attestation.ts +878 -0
- package/src/audit.ts +136 -0
- package/src/authority.ts +165 -0
- package/src/aws-nitro-root-ca.ts +47 -0
- package/src/cli.ts +284 -0
- package/src/contents-hash.ts +95 -0
- package/src/export.ts +278 -0
- package/src/index.ts +122 -0
- package/src/ingest.ts +967 -0
- package/src/reconstruct.ts +491 -0
- package/src/report-json.ts +331 -0
- package/src/report-md.ts +1067 -0
- package/src/rlp.ts +142 -0
- package/src/tar.ts +587 -0
- package/src/temporal.ts +629 -0
- package/src/types.ts +1528 -0
- package/src/validity.ts +90 -0
- package/src/verify-tiers.ts +137 -0
- package/src/witness.ts +407 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../src/attestation.ts"],"names":[],"mappings":"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"}
|
package/dist/audit.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AuditOptions, AuditResult, ExitFlags } from "./types.js";
|
|
2
|
+
/** The audit package's own version, read once from its package.json. */
|
|
3
|
+
export declare function auditToolVersion(): string;
|
|
4
|
+
/**
|
|
5
|
+
* Run the complete audit pipeline over a bundle (directory, .tar, .tar.gz,
|
|
6
|
+
* or .tgz) and return everything every stage produced.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runAudit(bundlePath: string, options?: AuditOptions): Promise<AuditResult>;
|
|
9
|
+
/**
|
|
10
|
+
* Derive the CLI exit bit flags from an audit result. Semantics are
|
|
11
|
+
* documented on the ExitFlags type: bit 1 is verification failures
|
|
12
|
+
* (including unsupported-version rejections), bit 2 is chain or authority
|
|
13
|
+
* anomalies, divergences between valid proofs, or anchor witness
|
|
14
|
+
* verification failures. artifact-unavailable is never a failure by itself;
|
|
15
|
+
* attestation results and informational anchor findings never set bits;
|
|
16
|
+
* benign ingest findings never set bits.
|
|
17
|
+
*/
|
|
18
|
+
export declare function computeExitFlags(result: AuditResult): ExitFlags;
|
|
19
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvE,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAyC/F;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAgB/D"}
|
package/dist/audit.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* Audit orchestrator: the full offline pipeline in canonical order.
|
|
4
|
+
*
|
|
5
|
+
* ingest -> verify tiers -> reconstruct -> classify anomalies ->
|
|
6
|
+
* analyze authorities -> identify anchors -> verify witnesses ->
|
|
7
|
+
* derive temporal bounds -> validate attestations
|
|
8
|
+
*
|
|
9
|
+
* Deterministic given the same bundle: the only wall-clock read in the
|
|
10
|
+
* entire pipeline is the runMetadata.startedAt stamp taken here. Every
|
|
11
|
+
* other value in the AuditResult, and in both reports built from it, is a
|
|
12
|
+
* pure function of the bundle contents and the tool version. Certificate
|
|
13
|
+
* validity windows during attestation validation are evaluated at each
|
|
14
|
+
* attestation document's OWN timestamp, never the clock.
|
|
15
|
+
*
|
|
16
|
+
* Zero network access, as everywhere in this package.
|
|
17
|
+
*/
|
|
18
|
+
import { readFileSync } from "node:fs";
|
|
19
|
+
import { ingestBundle } from "./ingest.js";
|
|
20
|
+
import { verifyObservedProofs } from "./verify-tiers.js";
|
|
21
|
+
import { reconstructChains } from "./reconstruct.js";
|
|
22
|
+
import { classifyAnomalies } from "./anomalies.js";
|
|
23
|
+
import { analyzeAuthorities } from "./authority.js";
|
|
24
|
+
import { identifyAnchors } from "./anchors.js";
|
|
25
|
+
import { verifyAnchorWitnesses } from "./witness.js";
|
|
26
|
+
import { deriveTemporalBounds } from "./temporal.js";
|
|
27
|
+
import { validateAttestations } from "./attestation.js";
|
|
28
|
+
let cachedToolVersion;
|
|
29
|
+
/** The audit package's own version, read once from its package.json. */
|
|
30
|
+
export function auditToolVersion() {
|
|
31
|
+
if (cachedToolVersion === undefined) {
|
|
32
|
+
const raw = readFileSync(new URL("../package.json", import.meta.url), "utf8");
|
|
33
|
+
cachedToolVersion = JSON.parse(raw).version;
|
|
34
|
+
}
|
|
35
|
+
return cachedToolVersion;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Run the complete audit pipeline over a bundle (directory, .tar, .tar.gz,
|
|
39
|
+
* or .tgz) and return everything every stage produced.
|
|
40
|
+
*/
|
|
41
|
+
export async function runAudit(bundlePath, options) {
|
|
42
|
+
// The ONLY wall-clock read in the pipeline. See AuditRunMetadata.
|
|
43
|
+
const startedAt = new Date().toISOString();
|
|
44
|
+
const ingest = await ingestBundle(bundlePath);
|
|
45
|
+
const verification = await verifyObservedProofs(ingest, options?.trustAnchors !== undefined ? { trustAnchors: options.trustAnchors } : undefined);
|
|
46
|
+
const reconstruction = await reconstructChains(ingest);
|
|
47
|
+
const anomalies = await classifyAnomalies(ingest, reconstruction);
|
|
48
|
+
const authorities = analyzeAuthorities(ingest);
|
|
49
|
+
const anchors = identifyAnchors(ingest);
|
|
50
|
+
const witnesses = await verifyAnchorWitnesses(ingest, anchors);
|
|
51
|
+
// Populates EpochRecord.anchorBounds on the reconstruction result.
|
|
52
|
+
const temporal = deriveTemporalBounds(ingest, reconstruction, anchors, witnesses);
|
|
53
|
+
const attestations = await validateAttestations(ingest, authorities, options?.trustedRootCaDer !== undefined
|
|
54
|
+
? { trustedRootCaDer: options.trustedRootCaDer }
|
|
55
|
+
: undefined);
|
|
56
|
+
return {
|
|
57
|
+
runMetadata: {
|
|
58
|
+
toolVersion: auditToolVersion(),
|
|
59
|
+
startedAt,
|
|
60
|
+
bundlePath,
|
|
61
|
+
container: ingest.container,
|
|
62
|
+
},
|
|
63
|
+
ingest,
|
|
64
|
+
verification,
|
|
65
|
+
reconstruction,
|
|
66
|
+
anomalies,
|
|
67
|
+
authorities,
|
|
68
|
+
anchors,
|
|
69
|
+
witnesses,
|
|
70
|
+
temporal,
|
|
71
|
+
attestations,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Anchor witness verification-failure codes: every finding the witness
|
|
76
|
+
* stage emits is a failure (verifyAnchorWitnesses records findings only for
|
|
77
|
+
* unverified outcomes), so any witness finding is a genuine problem with
|
|
78
|
+
* supplied evidence and sets bit 2. The three anchor-stage findings
|
|
79
|
+
* (anchor-metadata-disagreement, anchor-metadata-only-claim,
|
|
80
|
+
* anchor-title-unparseable) are informational: the signed body governs and
|
|
81
|
+
* none is a verification failure, so they never set an exit bit.
|
|
82
|
+
*/
|
|
83
|
+
const WITNESS_VERIFICATION_FAILURE_CODES = new Set([
|
|
84
|
+
"witness-malformed",
|
|
85
|
+
"witness-rlp-invalid",
|
|
86
|
+
"witness-header-shape",
|
|
87
|
+
"witness-hash-mismatch",
|
|
88
|
+
"witness-digest-mismatch",
|
|
89
|
+
"witness-block-number-mismatch",
|
|
90
|
+
"witness-claimed-hash-mismatch",
|
|
91
|
+
"witness-anchor-invalid",
|
|
92
|
+
"witness-unmatched",
|
|
93
|
+
]);
|
|
94
|
+
/**
|
|
95
|
+
* Derive the CLI exit bit flags from an audit result. Semantics are
|
|
96
|
+
* documented on the ExitFlags type: bit 1 is verification failures
|
|
97
|
+
* (including unsupported-version rejections), bit 2 is chain or authority
|
|
98
|
+
* anomalies, divergences between valid proofs, or anchor witness
|
|
99
|
+
* verification failures. artifact-unavailable is never a failure by itself;
|
|
100
|
+
* attestation results and informational anchor findings never set bits;
|
|
101
|
+
* benign ingest findings never set bits.
|
|
102
|
+
*/
|
|
103
|
+
export function computeExitFlags(result) {
|
|
104
|
+
const verificationFailures = result.verification.failed > 0 || result.ingest.counts.unsupportedVersion > 0;
|
|
105
|
+
const witnessVerificationFailures = result.witnesses.findings.some((f) => WITNESS_VERIFICATION_FAILURE_CODES.has(f.code));
|
|
106
|
+
const chainAnomaliesOrDivergences = result.anomalies.anomalies.length > 0 ||
|
|
107
|
+
result.anomalies.divergences.length > 0 ||
|
|
108
|
+
result.authorities.anomalies.length > 0 ||
|
|
109
|
+
witnessVerificationFailures;
|
|
110
|
+
return {
|
|
111
|
+
verificationFailures,
|
|
112
|
+
chainAnomaliesOrDivergences,
|
|
113
|
+
code: (verificationFailures ? 1 : 0) | (chainAnomaliesOrDivergences ? 2 : 0),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* bitgraph-audit authority analysis
|
|
3
|
+
*
|
|
4
|
+
* Groups observed proofs by the authority facets of the record: declared
|
|
5
|
+
* measurement, signer key, epochId, chainId, and attestation presence.
|
|
6
|
+
* Flags intra-epoch changes that a single healthy enclave boot cannot
|
|
7
|
+
* produce (one boot means one keypair and one measurement per epoch):
|
|
8
|
+
*
|
|
9
|
+
* - mid-epoch-signer-change: two or more distinct signer keys within
|
|
10
|
+
* one epochId.
|
|
11
|
+
* - mid-epoch-measurement-change: two or more distinct declared
|
|
12
|
+
* measurements within one epochId.
|
|
13
|
+
*
|
|
14
|
+
* The same signer key appearing across different epochs is NORMAL epoch
|
|
15
|
+
* transition evidence and is surfaced without an anomaly.
|
|
16
|
+
*
|
|
17
|
+
* Measurement honesty: everything here reads DECLARED values, which are
|
|
18
|
+
* self-reported fields inside the signed body (environment.measurement).
|
|
19
|
+
* A declared measurement is never conflated with an attested measurement:
|
|
20
|
+
* attestation validation belongs to a later stage, which populates the
|
|
21
|
+
* typed AuthorityGroup.attested extension point after cryptographically
|
|
22
|
+
* validating attestation documents offline. attestationPresent records
|
|
23
|
+
* only that a document exists; presence alone proves nothing.
|
|
24
|
+
*
|
|
25
|
+
* Dimension discipline: grouping and flags cover all observed proofs
|
|
26
|
+
* regardless of verification outcome. An authority anomaly never changes
|
|
27
|
+
* a proof's verification status; per-proof statuses live on the observed
|
|
28
|
+
* proofs themselves.
|
|
29
|
+
*/
|
|
30
|
+
import type { AuthorityAnalysis, IngestResult } from "./types.js";
|
|
31
|
+
/**
|
|
32
|
+
* Analyze authority structure over every observed proof (including
|
|
33
|
+
* chainless proofs, which group with epochId absent). Read-only and
|
|
34
|
+
* deterministic.
|
|
35
|
+
*/
|
|
36
|
+
export declare function analyzeAuthorities(ingest: IngestResult): AuthorityAnalysis;
|
|
37
|
+
//# sourceMappingURL=authority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAGjB,YAAY,EAGb,MAAM,YAAY,CAAC;AAGpB;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAsG1E"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
|
|
2
|
+
import { pushMap } from "./validity.js";
|
|
3
|
+
/**
|
|
4
|
+
* Analyze authority structure over every observed proof (including
|
|
5
|
+
* chainless proofs, which group with epochId absent). Read-only and
|
|
6
|
+
* deterministic.
|
|
7
|
+
*/
|
|
8
|
+
export function analyzeAuthorities(ingest) {
|
|
9
|
+
// -----------------------------------------------------------------------
|
|
10
|
+
// Grouping.
|
|
11
|
+
// -----------------------------------------------------------------------
|
|
12
|
+
const groupsByKey = new Map();
|
|
13
|
+
for (const proof of ingest.proofs) {
|
|
14
|
+
const mapKey = JSON.stringify([
|
|
15
|
+
proof.measurement ?? null,
|
|
16
|
+
proof.publicKeyB64 ?? null,
|
|
17
|
+
proof.epochId ?? null,
|
|
18
|
+
proof.chainId,
|
|
19
|
+
proof.hasAttestation,
|
|
20
|
+
]);
|
|
21
|
+
const existing = groupsByKey.get(mapKey);
|
|
22
|
+
if (existing !== undefined) {
|
|
23
|
+
existing.proofHashes.push(proof.proofHash);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
groupsByKey.set(mapKey, {
|
|
27
|
+
...(proof.measurement !== undefined ? { measurement: proof.measurement } : {}),
|
|
28
|
+
...(proof.publicKeyB64 !== undefined ? { publicKeyB64: proof.publicKeyB64 } : {}),
|
|
29
|
+
...(proof.epochId !== undefined ? { epochId: proof.epochId } : {}),
|
|
30
|
+
chainId: proof.chainId,
|
|
31
|
+
attestationPresent: proof.hasAttestation,
|
|
32
|
+
proofHashes: [proof.proofHash],
|
|
33
|
+
// attested is deliberately left undefined: the attestation
|
|
34
|
+
// validation stage (Phase 4c) fills it. Declared measurement above
|
|
35
|
+
// is self-reported and never treated as attested.
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const groups = [...groupsByKey.values()].sort(compareGroups);
|
|
39
|
+
// -----------------------------------------------------------------------
|
|
40
|
+
// Intra-epoch flags. epochId is boot-scoped: one enclave boot generates
|
|
41
|
+
// one keypair and one measurement, shared across every chain it serves,
|
|
42
|
+
// so the flags aggregate per epochId across chains.
|
|
43
|
+
// -----------------------------------------------------------------------
|
|
44
|
+
const byEpoch = new Map();
|
|
45
|
+
for (const proof of ingest.proofs) {
|
|
46
|
+
if (proof.epochId === undefined)
|
|
47
|
+
continue;
|
|
48
|
+
pushMap(byEpoch, proof.epochId, proof);
|
|
49
|
+
}
|
|
50
|
+
const anomalies = [];
|
|
51
|
+
for (const [epochId, proofs] of [...byEpoch.entries()].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)) {
|
|
52
|
+
const keys = new Set();
|
|
53
|
+
const measurements = new Set();
|
|
54
|
+
for (const proof of proofs) {
|
|
55
|
+
if (proof.publicKeyB64 !== undefined)
|
|
56
|
+
keys.add(proof.publicKeyB64);
|
|
57
|
+
if (proof.measurement !== undefined)
|
|
58
|
+
measurements.add(proof.measurement);
|
|
59
|
+
}
|
|
60
|
+
if (keys.size >= 2) {
|
|
61
|
+
anomalies.push({
|
|
62
|
+
code: "mid-epoch-signer-change",
|
|
63
|
+
proofHashes: proofs.map((p) => p.proofHash),
|
|
64
|
+
message: `${keys.size} distinct signer keys appear within epoch ${epochId}. A single enclave boot ` +
|
|
65
|
+
`generates exactly one keypair per epoch, so multiple keys under one epochId cannot come ` +
|
|
66
|
+
`from one healthy authority lifecycle. All key groups are preserved for adjudication.`,
|
|
67
|
+
details: {
|
|
68
|
+
epochId,
|
|
69
|
+
publicKeysB64: [...keys].sort(),
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (measurements.size >= 2) {
|
|
74
|
+
anomalies.push({
|
|
75
|
+
code: "mid-epoch-measurement-change",
|
|
76
|
+
proofHashes: proofs.map((p) => p.proofHash),
|
|
77
|
+
message: `${measurements.size} distinct declared measurements appear within epoch ${epochId}. A ` +
|
|
78
|
+
`single enclave boot has exactly one measurement, so multiple declared measurements under ` +
|
|
79
|
+
`one epochId cannot come from one healthy authority lifecycle. Declared measurements are ` +
|
|
80
|
+
`self-reported; attestation validation is reported separately.`,
|
|
81
|
+
details: {
|
|
82
|
+
epochId,
|
|
83
|
+
measurements: [...measurements].sort(),
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// -----------------------------------------------------------------------
|
|
89
|
+
// Cross-epoch same-signer spans: normal transition evidence.
|
|
90
|
+
// -----------------------------------------------------------------------
|
|
91
|
+
const epochsByKey = new Map();
|
|
92
|
+
for (const proof of ingest.proofs) {
|
|
93
|
+
if (proof.publicKeyB64 === undefined || proof.epochId === undefined)
|
|
94
|
+
continue;
|
|
95
|
+
const set = epochsByKey.get(proof.publicKeyB64);
|
|
96
|
+
if (set === undefined)
|
|
97
|
+
epochsByKey.set(proof.publicKeyB64, new Set([proof.epochId]));
|
|
98
|
+
else
|
|
99
|
+
set.add(proof.epochId);
|
|
100
|
+
}
|
|
101
|
+
const sharedSignersAcrossEpochs = [...epochsByKey.entries()]
|
|
102
|
+
.filter(([, epochs]) => epochs.size >= 2)
|
|
103
|
+
.map(([publicKeyB64, epochs]) => ({ publicKeyB64, epochIds: [...epochs].sort() }))
|
|
104
|
+
.sort((a, b) => (a.publicKeyB64 < b.publicKeyB64 ? -1 : a.publicKeyB64 > b.publicKeyB64 ? 1 : 0));
|
|
105
|
+
return { groups, anomalies, sharedSignersAcrossEpochs };
|
|
106
|
+
}
|
|
107
|
+
function compareGroups(a, b) {
|
|
108
|
+
if (a.chainId !== b.chainId)
|
|
109
|
+
return a.chainId < b.chainId ? -1 : 1;
|
|
110
|
+
const ea = a.epochId ?? "";
|
|
111
|
+
const eb = b.epochId ?? "";
|
|
112
|
+
if (ea !== eb)
|
|
113
|
+
return ea < eb ? -1 : 1;
|
|
114
|
+
const ka = a.publicKeyB64 ?? "";
|
|
115
|
+
const kb = b.publicKeyB64 ?? "";
|
|
116
|
+
if (ka !== kb)
|
|
117
|
+
return ka < kb ? -1 : 1;
|
|
118
|
+
const ma = a.measurement ?? "";
|
|
119
|
+
const mb = b.measurement ?? "";
|
|
120
|
+
if (ma !== mb)
|
|
121
|
+
return ma < mb ? -1 : 1;
|
|
122
|
+
if (a.attestationPresent !== b.attestationPresent)
|
|
123
|
+
return a.attestationPresent ? -1 : 1;
|
|
124
|
+
return 0;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=authority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Nitro Enclaves Root CA G1
|
|
3
|
+
*
|
|
4
|
+
* Source: https://aws-nitro-enclaves.amazonaws.com/AWS_NitroEnclaves_Root-G1.zip
|
|
5
|
+
* Subject: CN=aws.nitro-enclaves, O=Amazon, OU=AWS, C=US
|
|
6
|
+
* Validity: 2019-10-28 to 2049-10-28
|
|
7
|
+
* SHA-256 fingerprint (DER):
|
|
8
|
+
* 641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b
|
|
9
|
+
*
|
|
10
|
+
* This is the trust anchor for all AWS Nitro Enclave attestations. It is
|
|
11
|
+
* stable, well-known, and never changes, so it is safe to embed. The PEM
|
|
12
|
+
* string below is byte-for-byte the same constant the website validator
|
|
13
|
+
* embeds (website/src/lib/aws-nitro-root-ca.ts); the fingerprint above
|
|
14
|
+
* matches the value AWS publishes for the Root G1 certificate.
|
|
15
|
+
*
|
|
16
|
+
* No network access: this constant exists precisely so the audit tool
|
|
17
|
+
* never fetches trust material at runtime.
|
|
18
|
+
*/
|
|
19
|
+
export declare const AWS_NITRO_ROOT_CA_PEM = "-----BEGIN CERTIFICATE-----\nMIICETCCAZagAwIBAgIRAPkxdWgbkK/hHUbMtOTn+FYwCgYIKoZIzj0EAwMwSTEL\nMAkGA1UEBhMCVVMxDzANBgNVBAoMBkFtYXpvbjEMMAoGA1UECwwDQVdTMRswGQYD\nVQQDDBJhd3Mubml0cm8tZW5jbGF2ZXMwHhcNMTkxMDI4MTMyODA1WhcNNDkxMDI4\nMTQyODA1WjBJMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQL\nDANBV1MxGzAZBgNVBAMMEmF3cy5uaXRyby1lbmNsYXZlczB2MBAGByqGSM49AgEG\nBSuBBAAiA2IABPwCVOumCMHzaHDimtqQvkY4MpJzbolL//Zy2YlES1BR5TSksfbb\n48C8WBoyt7F2Bw7eEtaaP+ohG2bnUs990d0JX28TcPQXCEPZ3BABIeTPYwEoCWZE\nh8l5YoQwTcU/9KNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUkCW1DdkF\nR+eWw5b6cp3PmanfS5YwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2kAMGYC\nMQCjfy+Rocm9Xue4YnwWmNJVA44fA0P5W2OpYow9OYCVRaEevL8uO1XYru5xtMPW\nrfMCMQCi85sWBbJwKKXdS6BptQFuZbT73o/gBh1qUxl/nNr12UO8Yfwr6wPLb+6N\nIwLz3/Y=\n-----END CERTIFICATE-----";
|
|
20
|
+
/** Strip PEM headers/footers and whitespace, return base64 DER. */
|
|
21
|
+
export declare function rootCaDerB64(): string;
|
|
22
|
+
/** Decode the root CA PEM to raw DER bytes. */
|
|
23
|
+
export declare function rootCaDerBytes(): Uint8Array;
|
|
24
|
+
//# sourceMappingURL=aws-nitro-root-ca.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-nitro-root-ca.d.ts","sourceRoot":"","sources":["../src/aws-nitro-root-ca.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,qBAAqB,2xBAaR,CAAC;AAE3B,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,IAAI,UAAU,CAE3C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Mike Argento. Licensed under the MIT License. See LICENSE.
|
|
2
|
+
/**
|
|
3
|
+
* AWS Nitro Enclaves Root CA G1
|
|
4
|
+
*
|
|
5
|
+
* Source: https://aws-nitro-enclaves.amazonaws.com/AWS_NitroEnclaves_Root-G1.zip
|
|
6
|
+
* Subject: CN=aws.nitro-enclaves, O=Amazon, OU=AWS, C=US
|
|
7
|
+
* Validity: 2019-10-28 to 2049-10-28
|
|
8
|
+
* SHA-256 fingerprint (DER):
|
|
9
|
+
* 641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b
|
|
10
|
+
*
|
|
11
|
+
* This is the trust anchor for all AWS Nitro Enclave attestations. It is
|
|
12
|
+
* stable, well-known, and never changes, so it is safe to embed. The PEM
|
|
13
|
+
* string below is byte-for-byte the same constant the website validator
|
|
14
|
+
* embeds (website/src/lib/aws-nitro-root-ca.ts); the fingerprint above
|
|
15
|
+
* matches the value AWS publishes for the Root G1 certificate.
|
|
16
|
+
*
|
|
17
|
+
* No network access: this constant exists precisely so the audit tool
|
|
18
|
+
* never fetches trust material at runtime.
|
|
19
|
+
*/
|
|
20
|
+
export const AWS_NITRO_ROOT_CA_PEM = `-----BEGIN CERTIFICATE-----
|
|
21
|
+
MIICETCCAZagAwIBAgIRAPkxdWgbkK/hHUbMtOTn+FYwCgYIKoZIzj0EAwMwSTEL
|
|
22
|
+
MAkGA1UEBhMCVVMxDzANBgNVBAoMBkFtYXpvbjEMMAoGA1UECwwDQVdTMRswGQYD
|
|
23
|
+
VQQDDBJhd3Mubml0cm8tZW5jbGF2ZXMwHhcNMTkxMDI4MTMyODA1WhcNNDkxMDI4
|
|
24
|
+
MTQyODA1WjBJMQswCQYDVQQGEwJVUzEPMA0GA1UECgwGQW1hem9uMQwwCgYDVQQL
|
|
25
|
+
DANBV1MxGzAZBgNVBAMMEmF3cy5uaXRyby1lbmNsYXZlczB2MBAGByqGSM49AgEG
|
|
26
|
+
BSuBBAAiA2IABPwCVOumCMHzaHDimtqQvkY4MpJzbolL//Zy2YlES1BR5TSksfbb
|
|
27
|
+
48C8WBoyt7F2Bw7eEtaaP+ohG2bnUs990d0JX28TcPQXCEPZ3BABIeTPYwEoCWZE
|
|
28
|
+
h8l5YoQwTcU/9KNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUkCW1DdkF
|
|
29
|
+
R+eWw5b6cp3PmanfS5YwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2kAMGYC
|
|
30
|
+
MQCjfy+Rocm9Xue4YnwWmNJVA44fA0P5W2OpYow9OYCVRaEevL8uO1XYru5xtMPW
|
|
31
|
+
rfMCMQCi85sWBbJwKKXdS6BptQFuZbT73o/gBh1qUxl/nNr12UO8Yfwr6wPLb+6N
|
|
32
|
+
IwLz3/Y=
|
|
33
|
+
-----END CERTIFICATE-----`;
|
|
34
|
+
/** Strip PEM headers/footers and whitespace, return base64 DER. */
|
|
35
|
+
export function rootCaDerB64() {
|
|
36
|
+
return AWS_NITRO_ROOT_CA_PEM.replace(/-----BEGIN CERTIFICATE-----/, "")
|
|
37
|
+
.replace(/-----END CERTIFICATE-----/, "")
|
|
38
|
+
.replace(/\s+/g, "");
|
|
39
|
+
}
|
|
40
|
+
/** Decode the root CA PEM to raw DER bytes. */
|
|
41
|
+
export function rootCaDerBytes() {
|
|
42
|
+
return new Uint8Array(Buffer.from(rootCaDerB64(), "base64"));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=aws-nitro-root-ca.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-nitro-root-ca.js","sourceRoot":"","sources":["../src/aws-nitro-root-ca.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;0BAaX,CAAC;AAE3B,mEAAmE;AACnE,MAAM,UAAU,YAAY;IAC1B,OAAO,qBAAqB,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;SACpE,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|