Files
git.stella-ops.org/docs/features/unchecked/scanner/proc-snapshot-collectors.md

1.9 KiB

Proc Snapshot Collectors (Java/DotNet/PHP Runtime Inventory)

Module

Scanner

Status

IMPLEMENTED

Description

Runtime process snapshot collection for Java classpath, .NET assemblies, and PHP autoload paths, providing runtime-observed library inventories that feed into SBOM reconciliation.

Implementation Details

  • Process Snapshot:
    • src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcFileSystemSnapshot.cs - ProcFileSystemSnapshot collects runtime process state from /proc filesystem entries (Java classpath, .NET assemblies, PHP autoload paths)
    • src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcProcess.cs - ProcProcess model representing a discovered runtime process with its loaded libraries
  • Process Graph:
    • src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraph.cs - ProcGraph represents the runtime process dependency graph
    • src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/ProcGraphBuilder.cs - ProcGraphBuilder constructs the process graph from snapshot data
  • Reconciliation:
    • src/Scanner/__Libraries/StellaOps.Scanner.EntryTrace/Runtime/EntryTraceRuntimeReconciler.cs - EntryTraceRuntimeReconciler reconciles runtime-observed libraries with static SBOM analysis

E2E Test Plan

  • Collect a process snapshot from a running Java container and verify classpath entries are captured
  • Collect a process snapshot from a running .NET container and verify loaded assembly paths are captured
  • Collect a process snapshot from a running PHP container and verify autoload paths are captured
  • Verify the runtime reconciler correctly matches runtime-observed libraries to static SBOM components
  • Verify runtime-observed libraries not in the static SBOM are flagged as "runtime-only" discoveries
  • Verify the process graph correctly models parent-child process relationships