From 1ce4d99c59b8a09b8e56fb1626448178efab15d1 Mon Sep 17 00:00:00 2001 From: Will Greenberg Date: Tue, 15 Jul 2025 16:47:00 -0700 Subject: [PATCH] web: consider unversioned heuristics to be v0 This lets us cleanly differentiate old heuristics (which we know contain some false positives) from our current set. --- daemon/web/src/lib/analysis.svelte.spec.ts | 4 ++-- daemon/web/src/lib/analysis.svelte.ts | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/daemon/web/src/lib/analysis.svelte.spec.ts b/daemon/web/src/lib/analysis.svelte.spec.ts index 67c1ac7..fbaf479 100644 --- a/daemon/web/src/lib/analysis.svelte.spec.ts +++ b/daemon/web/src/lib/analysis.svelte.spec.ts @@ -77,12 +77,12 @@ describe('analysis report parsing', () => { { name: 'Analyzer 1', description: 'A first analyzer', - version: 1, + version: 0, }, { name: 'Analyzer 2', description: 'A second analyzer', - version: 1, + version: 0, }, ]); expect(report.rows).toHaveLength(2); diff --git a/daemon/web/src/lib/analysis.svelte.ts b/daemon/web/src/lib/analysis.svelte.ts index 6ea8b22..0dae3a5 100644 --- a/daemon/web/src/lib/analysis.svelte.ts +++ b/daemon/web/src/lib/analysis.svelte.ts @@ -23,8 +23,11 @@ export class ReportMetadata { this.rayhunter = ndjson.rayhunter; if (ndjson.report_version === undefined) { this.report_version = 1; + // we consider our legacy (unversioned) heuristics to be v0 -- + // this'll let us clearly differentiate some known false-positive + // results from the pre-versioned era from v1 heuristics this.analyzers.forEach((analyzer) => { - analyzer.version = 1; + analyzer.version = 0; }); } else { this.report_version = ndjson.report_version;