Skip to content

[Security evidence] Eliminate GHAS configuration-not-found neutral warnings for Trivy/Scorecard PR comparisons #1209

Description

@seonghobae

Current exact evidence

Last verified GHAS configuration-gap reproduction remains canonical Resource Admission predecessor #866 exact 0cb51e4d042a8f4cd5742086156a307bfe1ffac6 against protected develop@314ddeae7b775a4957594b599358c8255617eb2e:

  • GHAS Trivy check 103480597226 completed neutral with 2 configurations not found: .github/workflows/security-audit.yml:security-backstop and historical .github/workflows/trivy.yml:trivy-fs-scan.
  • GHAS Scorecard check 103480593407 completed neutral with 1 configuration not found: .github/workflows/ossf-scorecard.yml:supply-chain/branch-protection.

The protected required Actions contexts named trivy-fs and scorecard were independently GREEN on that same exact predecessor, so this is not evidence that those required jobs failed. It is an evidence-continuity defect: GitHub could not determine PR-introduced alerts for every configuration registered on the protected branch.

Canonical #866 has since advanced normally to exact 7156aebd4a745cab4842d15aba319a72c80e1d98, Open / Draft / mergeable. This latest move only repairs stale Tauri source-contract assertions after repository rust-check exposed them; it does not intentionally change code-scanning configuration. Do not transfer the old neutral receipts to this head or claim the control-plane gap disappeared. At the latest fresh read, current-head Security Scan/Trivy and CodeQL are still queued/pending, so the complete current GHAS Trivy/Scorecard comparison has not settled. The predecessor 0cb51e4d... remains the latest verified configuration-gap detection receipt until an unchanged newer head produces equivalent terminal GHAS evidence.

Protected develop and #866 have no intentional Resource Admission-owned workflow/source change that would make a missing SARIF configuration a product-source fix. security-audit.yml intentionally runs on protected-branch push/manual paths and uploads Trivy SARIF. ossf-scorecard.yml likewise produces default/protected-branch evidence. A PR head therefore does not naturally emit every branch-only SARIF configuration. Historical trivy.yml:trivy-fs-scan has no current protected workflow source, so continued appearance must be treated as control-plane/configuration-lifecycle evidence rather than solved by restoring a deleted workflow.

Required RCA

Before changing source or policy, determine for each missing configuration:

  1. the exact Code Scanning tool/category/analysis-key identity currently registered on protected develop;
  2. which current repository or central .github producer owns that identity and whether it is intentionally branch-only, superseded, or orphaned;
  3. whether the central PR required workflow can publish an equivalent authenticated SARIF configuration without duplicating scanning or weakening trust boundaries;
  4. whether a historical configuration such as trivy.yml:trivy-fs-scan needs supported GitHub control-plane retirement/cleanup rather than repository source restoration;
  5. why the required Actions contexts can be GREEN while the GHAS PR-comparison surface remains neutral, and what evidence auditors/buyers currently lose.

Acceptance

  • No configuration(s) not found neutral warning remains for active Trivy/Scorecard configurations on a fresh unchanged PR head, or GitHub-supported configuration retirement proves the stale identity no longer participates in PR comparison.
  • Required trivy-fs and scorecard protection contexts remain fail-closed; no context deletion, synthetic success, threshold relaxation, duplicate local scanner, or source-only workaround.
  • Repository backstop vs central .github PR ownership is explicit and versioned; if central reusable workflows own PR SARIF, BandScope consumes a released/exact-SHA contract rather than copying source.
  • Historical configuration cleanup uses supported control-plane lifecycle operations with before/after evidence; do not resurrect deleted trivy.yml merely to satisfy a stale configuration identity.
  • Fresh protected-base and PR-head code-scanning evidence demonstrates continuity, and security/operability doctoring records the final owner boundary.

Single-writer boundary

While #866 owns the active BandScope source lane, this issue is read-only RCA/control-plane evidence only. Do not create a BandScope source branch/PR or edit workflows concurrently. A later implementation may start only after the canonical source lane is explicitly free, and only in the canonical owner (BandScope repository or released central .github contract) established by the RCA.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions