Trivy scans and SARIF ingestion are healthy, but each uploaded analysis category includes an image slug derived from the full image reference and a hash that includes the digest. Updating an image tag or digest therefore creates a new Code Scanning configuration instead of continuing the existing logical image lane.
The repository currently has 25 distinct historical Trivy categories despite scanning a much smaller active image set. This clutters the Trivy tool status page with obsolete configurations and fragments alert history across image updates. Across 694 inspected Trivy analyses, SARIF processing succeeded with no ingestion errors, so this issue concerns configuration identity rather than scanner reliability.
Steps to Reproduce
- Record the Trivy category produced for a digest-pinned base image.
- Update that image to a new tag or digest.
- Run the container scan again.
- Observe that GitHub Code Scanning creates a new Trivy configuration while retaining the previous category as historical status.
Expected Behavior
Each logical image scan lane retains one stable Code Scanning category across tag and digest updates, while per-run artifact filenames remain collision-resistant and concurrent images retain distinct identities.
Acceptance Criteria
Trivy scans and SARIF ingestion are healthy, but each uploaded analysis category includes an image slug derived from the full image reference and a hash that includes the digest. Updating an image tag or digest therefore creates a new Code Scanning configuration instead of continuing the existing logical image lane.
The repository currently has 25 distinct historical Trivy categories despite scanning a much smaller active image set. This clutters the Trivy tool status page with obsolete configurations and fragments alert history across image updates. Across 694 inspected Trivy analyses, SARIF processing succeeded with no ingestion errors, so this issue concerns configuration identity rather than scanner reliability.
Steps to Reproduce
Expected Behavior
Each logical image scan lane retains one stable Code Scanning category across tag and digest updates, while per-run artifact filenames remain collision-resistant and concurrent images retain distinct identities.
Acceptance Criteria