Files
git.stella-ops.org/docs/implplan-blocked/audits/csproj-standards/Scanner/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.md

4.2 KiB

Audit - StellaOps.Scanner.Analyzers.Native

Project

  • Path: src/Scanner/StellaOps.Scanner.Analyzers.Native/StellaOps.Scanner.Analyzers.Native.csproj
  • Module: Scanner
  • Kind: Analyzer
  • SDK: Microsoft.NET.Sdk
  • TargetFramework: net10.0
  • Audit date (UTC): 2026-01-30

Coding Standards Findings

  • Status: FAIL
  • Nullable: enable
  • TreatWarningsAsErrors: explicit true
  • Deterministic: inherited true
  • 100-line rule violations: 30
  • Service locator usage (BuildServiceProvider/GetService): 0
  • Analyzer enforcement: missing repo-wide (see summary).

Details

  • 100-line files:
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOReader.cs (831 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/PeReader.cs (757 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/WindowsEtwCaptureAdapter.cs (676 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/ElfHardeningExtractor.cs (657 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/MacOsDyldCaptureAdapter.cs (657 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/LinuxEbpfCaptureAdapter.cs (656 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/PeImportParser.cs (572 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/ElfDynamicSectionParser.cs (566 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeResolver.cs (476 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Sections/ElfSectionHashExtractor.cs (452 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/StackTraceCapture.cs (440 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Index/OfflineBuildIdIndex.cs (420 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/HeuristicScanner.cs (410 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/NativeFormatDetector.cs (407 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/MachOLoadCommandParser.cs (330 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/MachoHardeningExtractor.cs (296 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationDocument.cs (294 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidenceAggregator.cs (288 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationBuilder.cs (275 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/PeHardeningExtractor.cs (272 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzer.cs (248 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeCaptureOptions.cs (237 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/NativeAnalyzerPluginCatalog.cs (219 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/IRuntimeCaptureAdapter.cs (203 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/ServiceCollectionExtensions.cs (202 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Reachability/NativeReachabilityGraphBuilder.cs (179 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Plugin/INativeAnalyzerPlugin.cs (147 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Hardening/HardeningFlags.cs (140 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/Observations/NativeObservationSerializer.cs (136 lines)
    • src/Scanner/StellaOps.Scanner.Analyzers.Native/RuntimeCapture/RuntimeEvidence.cs (126 lines)
  • Service locator matches:
    • none

Fix Guidance

  • Split files over 100 lines into smaller types or partials.

Testing Fullness Findings

  • Status: FAIL
  • Expected layers: Unit, Performance
  • Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Tests/StellaOps.Scanner.Analyzers.Native.Tests.csproj [Unit], src/Scanner/__Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests/StellaOps.Scanner.Analyzers.Native.Library.Tests.csproj [Unit]
  • Missing layers: Performance

Manual checks required

  • Observability contract tests for WebService/Worker.
  • Offline execution (tests must run without network access).

Fix Guidance

  • Add performance regression coverage for scanner/export/release paths.