Skip to content

fix(security): remove Trivy scanner warning/notice drift from required workflow #2107

Description

@seonghobae

Fresh downstream evidence

Naruon central Security Scan run 34686593891 at exact ContextualWisdomLab/naruon@17c0a5c9198eeda95f6a7d86f6a35a8b05abe774 checked out the exact head correctly, but its shared trivy-fs lane emitted two non-finding diagnostics before the real vulnerability gate:

WARN [pip] Unable to find python `site-packages` directory. License detection is skipped. err="site-packages directory not found"
Notices:
- Version 0.74.0 of Trivy is now available, current version is 0.70.0

The same run then correctly failed on three inherited frontend findings (CVE-2026-75604, GHSA-2xp9-vwfh-vxw4, GHSA-rgj7-g3m4-5g8c), so this issue is not a request to weaken the vulnerability gate or to fix Naruon dependency ownership here.

Problem

The required security workflow currently accepts scanner/runtime warning and version-drift output as routine noise. CWL execution policy treats warnings/deprecation/notice drift as actionable evidence: either remove the root cause or track it explicitly. Leaving it in every downstream run makes real regressions harder to distinguish and leaves the scanner freshness policy implicit.

Required owner repair

  1. Determine why the central Trivy filesystem configuration attempts Python license detection without a materialized site-packages tree.
  2. Choose and document the intended contract:
    • if license evidence is required, materialize the dependency metadata deterministically before scan; or
    • if license evidence is not part of this lane, configure the scanner so it does not enter an unsupported license-detection path. Do not merely hide stderr.
  3. Re-evaluate the pinned Trivy v0.70.0 against current v0.74.0; upgrade through the normal pinned-SHA/versioned owner path if compatible, with fixtures proving SARIF/fail-closed parity. If the old pin is deliberately retained, record the compatibility reason and an explicit freshness/revisit condition rather than tolerating the update notice indefinitely.
  4. Preserve exact-head checkout verification, CRITICAL,HIGH,MEDIUM fail-closed findings, SARIF upload, and shared-base remediation ownership.
  5. Add an executable regression that fails if the required lane emits unexpected WARN/deprecation/version-drift diagnostics.

GREEN acceptance

  • a current exact-head downstream Security Scan is warning/notice-clean before actual findings;
  • vulnerability findings still fail the gate and retain their severity/location evidence;
  • scanner version/pin provenance is explicit and reproducible;
  • no consumer repository copies or locally patches the central workflow to obtain silence.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ci-cdCI, GitHub Actions, checks, release, or supply chainbugSomething isn't workingpriority: mediumNormal-priority or P2 worktype: bugDefect or incorrect behavior

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions