Add scripts for resolving and verifying Chromium binary paths
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Docs CI / lint-and-preview (push) Has been cancelled
				
			- Implemented `chrome-path.js` to define functions for locating Chromium binaries across different platforms and nested directories. - Added `verify-chromium.js` to check for the presence of the Chromium binary and log the results, including candidate paths checked. - The scripts support Linux, Windows, and macOS environments, enhancing the flexibility of Chromium binary detection.
This commit is contained in:
		| @@ -20,7 +20,7 @@ All sprints below assume prerequisites from SP10-G2 (core scaffolding + Java ana | ||||
|   - `Fixtures/lang/node/**` golden outputs. | ||||
|   - Analyzer benchmark CSV + flamegraph (commit under `bench/Scanner.Analyzers`). | ||||
|   - Worker integration sample enabling Node analyzer via manifest. | ||||
| - **Progress (2025-10-19):** Module walker with package-lock/yarn/pnpm resolution, workspace attribution, integrity metadata, and deterministic fixture harness committed; Node tasks 10-302A/B marked DONE. Shared component mapper + canonical result harness landed, closing tasks 10-307/308. Script metadata & telemetry (10-302C) emit policy hints, hashed evidence, and feed `scanner_analyzer_node_scripts_total` into Worker OpenTelemetry pipeline. | ||||
| - **Progress (2025-10-21):** Module walker with package-lock/yarn/pnpm resolution, workspace attribution, integrity metadata, and deterministic fixture harness committed; Node tasks 10-302A/B remain green. Shared component mapper + canonical result harness landed, closing tasks 10-307/308. Script metadata & telemetry (10-302C) emit policy hints, hashed evidence, and feed `scanner_analyzer_node_scripts_total` into Worker OpenTelemetry pipeline. Restart-time packaging closed (10-309): manifest added, Worker language catalog loads the Node analyzer, integration tests cover dispatch + layer fragments, and Offline Kit docs call out bundled language plug-ins. | ||||
|  | ||||
| ## Sprint LA2 — Python Analyzer & Entry Point Attribution (Tasks 10-303, 10-307, 10-308, 10-309 subset) | ||||
| - **Scope:** Parse `*.dist-info`, `RECORD` hashes, entry points, and pip-installed editable packages; integrate usage hints from EntryTrace. | ||||
| @@ -32,24 +32,26 @@ All sprints below assume prerequisites from SP10-G2 (core scaffolding + Java ana | ||||
|   - Hash verification throughput ≥75 MB/s sustained with streaming reader. | ||||
|   - False-positive rate for editable installs <1 % on curated fixtures. | ||||
|   - Determinism check across CPython 3.8–3.12 generated metadata. | ||||
| - **Gate Artifacts:** | ||||
|   - Golden fixtures for `site-packages`, virtualenv, and layered pip caches. | ||||
|   - Usage hint propagation tests (EntryTrace → analyzer → SBOM). | ||||
|   - Metrics counters (`scanner_analyzer_python_components_total`) documented. | ||||
| - **Gate Artifacts:** | ||||
|   - Golden fixtures for `site-packages`, virtualenv, and layered pip caches. | ||||
|   - Usage hint propagation tests (EntryTrace → analyzer → SBOM). | ||||
|   - Metrics counters (`scanner_analyzer_python_components_total`) documented. | ||||
| - **Progress (2025-10-21):** Python analyzer landed; Tasks 10-303A/B/C are DONE with dist-info parsing, RECORD verification, editable install detection, and deterministic `simple-venv` fixture + benchmark hooks recorded. | ||||
|  | ||||
| ## Sprint LA3 — Go Analyzer & Build Info Synthesis (Tasks 10-304, 10-307, 10-308, 10-309 subset) | ||||
| - **Scope:** Extract Go build metadata from `.note.go.buildid`, embedded module info, and fallback to `bin:{sha256}`; surface VCS provenance. | ||||
| - **Deliverables:** | ||||
|   - `StellaOps.Scanner.Analyzers.Lang.Go` plug-in. | ||||
|   - DWARF-lite parser to enrich component origin (commit hash + dirty flag) when available. | ||||
|   - Shared hash cache to dedupe repeated binaries across layers. | ||||
| - **Acceptance Metrics:** | ||||
|   - Analyzer latency ≤400 µs per binary (hot cache) / ≤2 ms (cold). | ||||
|   - Provenance coverage ≥95 % on representative Go fixture suite. | ||||
|   - Zero allocations in happy path beyond pooled buffers (validated via BenchmarkDotNet). | ||||
| - **Gate Artifacts:** | ||||
|   - Benchmarks vs competitor open-source tool (Trivy or Syft) demonstrating faster metadata extraction. | ||||
|   - Documentation snippet explaining VCS metadata fields for Policy team. | ||||
| ## Sprint LA3 — Go Analyzer & Build Info Synthesis (Tasks 10-304, 10-307, 10-308, 10-309 subset) | ||||
| - **Scope:** Extract Go build metadata from `.note.go.buildid`, embedded module info, and fallback to `bin:{sha256}`; surface VCS provenance. | ||||
| - **Deliverables:** | ||||
|   - `StellaOps.Scanner.Analyzers.Lang.Go` plug-in. | ||||
|   - DWARF-lite parser to enrich component origin (commit hash + dirty flag) when available. | ||||
|   - Shared hash cache to dedupe repeated binaries across layers. | ||||
| - **Acceptance Metrics:** | ||||
|   - Analyzer latency ≤400 µs per binary (hot cache) / ≤2 ms (cold). | ||||
|   - Provenance coverage ≥95 % on representative Go fixture suite. | ||||
|   - Zero allocations in happy path beyond pooled buffers (validated via BenchmarkDotNet). | ||||
| - **Gate Artifacts:** | ||||
|   - Benchmarks vs competitor open-source tool (Trivy or Syft) demonstrating faster metadata extraction. | ||||
|   - Documentation snippet explaining VCS metadata fields for Policy team. | ||||
| - **Progress (2025-10-22):** Build-info decoder shipped with DWARF-string fallback for `vcs.*` markers, plus cached metadata keyed by binary length/timestamp. Added Go test fixtures covering build-info and DWARF-only binaries with deterministic goldens; analyzer now emits `go.dwarf` evidence alongside `go.buildinfo` metadata to feed downstream provenance rules. | ||||
|  | ||||
| ## Sprint LA4 — .NET Analyzer & RID Variants (Tasks 10-305, 10-307, 10-308, 10-309 subset) | ||||
| - **Scope:** Parse `*.deps.json`, `runtimeconfig.json`, assembly metadata, and RID-specific assets; correlate with native dependencies. | ||||
| @@ -61,10 +63,11 @@ All sprints below assume prerequisites from SP10-G2 (core scaffolding + Java ana | ||||
|   - Multi-target app fixture processed <1.2 s; memory <250 MB. | ||||
|   - RID variant collapse reduces component explosion by ≥40 % vs naive listing. | ||||
|   - All security metadata (signing Publisher, timestamp) surfaced deterministically. | ||||
| - **Gate Artifacts:** | ||||
|   - Signed .NET sample apps (framework-dependent & self-contained) under `samples/scanner/lang/dotnet/`. | ||||
|   - Tests verifying dual runtimeconfig merge logic. | ||||
|   - Guidance for Policy on license propagation from NuGet metadata. | ||||
| - **Gate Artifacts:** | ||||
|   - Signed .NET sample apps (framework-dependent & self-contained) under `samples/scanner/lang/dotnet/`. | ||||
|   - Tests verifying dual runtimeconfig merge logic. | ||||
|   - Guidance for Policy on license propagation from NuGet metadata. | ||||
| - **Progress (2025-10-22):** Completed task 10-305A with a deterministic deps/runtimeconfig ingest pipeline producing `pkg:nuget` components across RID targets. Added dotnet fixture + golden output to the shared harness, wired analyzer plugin availability, and surfaced RID metadata in component records for downstream emit/diff work. | ||||
|  | ||||
| ## Sprint LA5 — Rust Analyzer & Binary Fingerprinting (Tasks 10-306, 10-307, 10-308, 10-309 subset) | ||||
| - **Scope:** Detect crates via metadata in `.fingerprint`, Cargo.lock fragments, or embedded `rustc` markers; robust fallback to binary hash classification. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user