From 65292aa84ea0e02fdaba07a43a262c8f9fa1b92b Mon Sep 17 00:00:00 2001 From: Matt Van Horn <455140+mvanhorn@users.noreply.github.com> Date: Tue, 3 Nov 2026 10:34:45 -0800 Subject: [PATCH] fix(audit): count a dropped linker-map guess as a skipped companion --- src/artifacts/ReleaseExposureReader.test.ts | 12 ++++++++++++ src/artifacts/ReleaseExposureReader.ts | 1 + 2 files changed, 13 insertions(+) diff --git a/src/artifacts/ReleaseExposureReader.test.ts b/src/artifacts/ReleaseExposureReader.test.ts index 58e88a451c..83b31443ba 100644 --- a/src/artifacts/ReleaseExposureReader.test.ts +++ b/src/artifacts/ReleaseExposureReader.test.ts @@ -1066,6 +1066,7 @@ describe("ReleaseExposureReader generic map links", () => { await symlink("payload", join(root, "symbols.map")); const scanned = await inspect(root); expect(scanned.debug_companions.skipped).toBe(1); + expect(debugCompanionsStatus(scanned)).toBe("unknown"); expect(scanned.source_maps.skipped).toBe(1); }, ); @@ -2910,6 +2911,15 @@ const malformedLeaf = (mappings: string) => ({ mappings, }); +const debugCompanionsStatus = (scan: ReleaseExposureScan) => + assembleReleaseExposureReport(scan, { + electron_family: "not_electron", + fuse_images: [], + go_images: [], + rust_images: [], + credential_markers: { hits: [], omitted_hits: 0 }, + }).checks.find((check) => check.id === "native.debug_companions")?.status; + const sourceMapSourcesStatus = (scan: ReleaseExposureScan) => assembleReleaseExposureReport(scan, { electron_family: "not_electron", @@ -3272,6 +3282,8 @@ describe("ReleaseExposureReader map target allowance", () => { await writeFile(join(folder, "z.map"), "not a map\n"); const scanned = await inspect(root); expect(scanned.debug_companions.paths).toEqual([]); + expect(scanned.debug_companions.skipped).toBeGreaterThan(0); + expect(debugCompanionsStatus(scanned)).toBe("unknown"); expect(scanned.source_maps.skipped).toBeGreaterThan(0); }); }); diff --git a/src/artifacts/ReleaseExposureReader.ts b/src/artifacts/ReleaseExposureReader.ts index 82403ecbc4..5b52a696f1 100644 --- a/src/artifacts/ReleaseExposureReader.ts +++ b/src/artifacts/ReleaseExposureReader.ts @@ -1585,6 +1585,7 @@ const noteLinkerMapGuess = (state: ScanState, location: string): void => { // Once a declaration was discarded, this map may be its target. if (state.mapTargetsDiscarded) { state.skippedMaps += 1; + state.skippedCompanions += 1; return; } const key = memberLocationKey(location);