Files
git.stella-ops.org/docs/features/unchecked/scanner/macos-pkgutil-receipt-analyzer.md

1.6 KiB

macOS pkgutil Receipt Analyzer

Module

Scanner

Status

IMPLEMENTED

Description

Parses macOS pkgutil receipt database and BOM files to discover Apple installer packages, producing SBOM components with package identifier, version, and installed volume.

Implementation Details

  • Package Analyzer:
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilPackageAnalyzer.cs - PkgutilPackageAnalyzer discovers Apple installer packages from pkgutil receipt database
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilAnalyzerPlugin.cs - Plugin registration for the pkgutil analyzer
  • Parsers:
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/PkgutilReceiptParser.cs - PkgutilReceiptParser parses pkgutil receipt plist files extracting package identifier, version, and install metadata
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/BomParser.cs - BomParser parses macOS BOM (Bill of Materials) files listing installed file manifests

E2E Test Plan

  • Scan a macOS container image and verify Apple installer packages are discovered from pkgutil receipts
  • Verify each discovered package includes package identifier (e.g., com.apple.pkg.CLTools_Executables), version, and installed volume
  • Verify BOM file parsing correctly identifies the files installed by each package
  • Verify SBOM components are produced with correct PURL format for macOS system packages
  • Verify packages from third-party PKG installers are also discovered alongside Apple system packages