Windows Analyzer Design Brief (Draft)

Owners: Scanner Guild, Policy Guild, Offline Kit Guild, Security Guild
Related backlog (proposed): SCANNER-ENG-0024…0027, DOCS-SCANNER-BENCH-62-002
Status: Draft — contingent on Windows demand threshold (see docs/benchmarks/scanner/windows-macos-demand.md)

1. Objectives & boundaries

Out of scope (Phase 1):

2. Architecture overview

Scanner.Worker (Windows profile)
 ├─ Surface.Validation (enforce layer size, path allowlists)
 ├─ Surface.FS (materialized NTFS image via 7z/guestmount)
 ├─ MsiCollector              -> LayerComponentFragment (windows-msi)
 ├─ WinSxSCollector           -> LayerComponentFragment (windows-winsxs)
 ├─ ChocolateyCollector       -> LayerComponentFragment (windows-choco)
 ├─ RegistryCollector         -> Evidence overlays (uninstall/services)
 ├─ DriverCapabilityMapper    -> Capability overlays (kernel/user drivers)
 └─ WindowsComponentMapper    -> ComponentGraph + capability metadata

3. Collectors

3.1 MSI collector

3.2 WinSxS collector

3.3 Chocolatey collector

3.4 Registry collector

3.5 Driver & service mapper

4. Component mapping & output

5. Policy integration

6. Offline kit & distribution

7. Testing strategy

8. Dependencies & open questions

ItemDescriptionOwnerStatus
MSI parser choiceSelect MIT/Apache-compatible parser or build internal readerScanner GuildTBD
Registry export toolingDetermine standard script/utility for hive exports in container contextOps GuildTBD
Authenticodes verification locusDecide scanner vs policy responsibility for signature verificationSecurity GuildTBD
Feed mirroring policyWhich Chocolatey feeds to mirror by defaultProduct + Security GuildsTBD

9. Implementation status

IDTitleStatusNotes
SCANNER-ENG-0024Windows MSI collectorDONEStellaOps.Scanner.Analyzers.OS.Windows.Msi - OLE compound document parser, extracts Product/File tables, 22 tests passing
SCANNER-ENG-0025WinSxS manifest collectorDONEStellaOps.Scanner.Analyzers.OS.Windows.WinSxS - XML manifest parser, assembly identity extraction, 18 tests passing
SCANNER-ENG-0026Chocolatey collectorDONEStellaOps.Scanner.Analyzers.OS.Windows.Chocolatey - nuspec parser with directory fallback, 44 tests passing
SCANNER-ENG-0026Registry collectorDEFERREDRequires exported hive parsing; tracked separately
SCANNER-ENG-0027Policy predicatesPENDINGRequires Policy module integration (see §5)
SCANNER-ENG-0027Offline kit packagingDONEAll analyzers work offline (local file parsing only)

Implementation details

MSI collector (windows-msi analyzer ID):

WinSxS collector (windows-winsxs analyzer ID):

Chocolatey collector (windows-chocolatey analyzer ID):

10. References

Further reading: ../../api/scanner/windows-coverage.md (summary) and ../../api/scanner/windows-macos-summary.md (metrics dashboard).

Policy readiness alignment: see ../policy/windows-package-readiness.md (POLICY-READINESS-0002).

Upcoming milestone: FinSecure Corp PCI review requires Authenticode/feed decision by 2025-11-07 before Windows analyzer spike kickoff.