feat(javascript): record Electron integrity mismatches

This commit is contained in:
morluto
2026-10-10 02:00:08 +08:00
parent f0dc233d64
commit 7915ee5178
21 changed files with 429 additions and 35 deletions
@@ -140,6 +140,13 @@ const graphCoverage = (context: JavaScriptArtifactGraphContext) => {
null,
);
if (unknownGap) return partialApplicationCoverage([], null);
if (context.snapshot.integrity_contradictions.length > 0) {
const nestedArchiveWasOpaque =
context.snapshot.integrity_contradictions.some(({ logical_path }) =>
logical_path.toLowerCase().endsWith(".asar"),
);
return partialApplicationCoverage([], nestedArchiveWasOpaque ? null : 0);
}
return completeApplicationCoverage();
};
@@ -178,6 +185,10 @@ const graphLimitations = (
);
return [
...context.analysis.limitations,
...context.snapshot.integrity_contradictions.map(
({ logical_path: path }) =>
`Artifact integrity metadata contradicts observed bytes at ${path}; the observed bytes are untrusted.`,
),
...selfReferenceOmissions(
relationshipOmissions.selfImports,
["import specifier", "import specifiers"],