2.8 KiB
2.8 KiB
Audit - StellaOps.Scanner.Sbomer.BuildXPlugin
Project
- Path:
src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/StellaOps.Scanner.Sbomer.BuildXPlugin.csproj - Module:
Scanner - Kind:
Service - 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: 5
- Service locator usage (BuildServiceProvider/GetService): 9
- Analyzer enforcement: missing repo-wide (see summary).
Details
- 100-line files:
src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs(627 lines)src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceManifestWriter.cs(234 lines)src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Descriptor/DescriptorGenerator.cs(198 lines)src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Manifest/BuildxPluginManifestLoader.cs(189 lines)src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Surface/SurfaceCasLayout.cs(112 lines)
- Service locator matches:
src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:397 using var provider = services.BuildServiceProvider();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:398 var env = provider.GetService();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:434 using var provider = services.BuildServiceProvider();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:435 var secretProvider = provider.GetService();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:436 var env = provider.GetService();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:487 using var provider = services.BuildServiceProvider();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:488 var secretProvider = provider.GetService();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:489 var env = provider.GetService();src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/Program.cs:602 var provider = services.BuildServiceProvider();
Fix Guidance
- Split files over 100 lines into smaller types or partials.
- Replace service locator usage with constructor injection.
Testing Fullness Findings
- Status: FAIL
- Expected layers: Unit, Performance
- Detected test projects: src/Scanner/__Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.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.