This document outlines how PackagingTools will enrich packaging runs with software bill of materials (SBOM) generation and vulnerability scanning, satisfying enterprise governance and supply-chain security requirements.
Implementation details for the Linux pipeline, including configuration flags and output locations, are summarised in Linux Security Artifacts.
Packaging Pipeline
├─ Build artifacts (MSIX/MSI/PKG/DMG/DEB/RPM/AppImage/etc.)
├─ SBOM Generation
│ ├─ Format-specific generators (CycloneDX JSON)
│ └─ Aggregation service storing SBOMs in audit store
└─ Vulnerability Scanning
├─ Scan orchestrator tickets artifacts
├─ Normalises results (CVSS, severity, identifiers)
└─ Policy evaluator ensures blocking thresholds obeyed
ISbomGenerator
PackageFormatContext.dotnet cyclonedx for .NET apps, syft for Linux packages)._Sbom/<artifact-name>.cdx.json.IVulnerabilityScanner
VulnerabilityReport (list of findings with severity, CVE, advisory URL, fix versions).Security Policy
PolicyEngineEvaluator to honour security configuration keys:
security.vuln.maxSeverity (e.g., block on Critical/High).security.vuln.requiredProviders (ensures mandated scanners ran).security.sbom.required toggles mandatory SBOM presence.Audit Integration
_Sbom/*.cdx.json) and scanners surface findings through PackagingResult.Issues.security.* dimensions for downstream aggregation.security.sbom.enabled)._Sbom/; informational issue logged.security.vuln.enabled).PackagingIssue entries and validated against policy.PackagingResult for CLI/GUI display and telemetry.| Key | Description |
|---|---|
security.sbom.enabled |
Enable SBOM generation (default true). |
security.sbom.format |
Desired format (cyclonedx-json, spdx-json). |
security.vuln.enabled |
Enable vulnerability scanning. |
security.vuln.providers |
Comma-separated provider IDs (e.g., trivy,msdefender). |
security.vuln.maxSeverity |
Maximum allowed severity (Low, Medium, High, Critical). |
security.vuln.failOnError |
Fail packaging run if scanners return errors. |