Skip to content

relay: periodic security-scan cron workflow (re-runs Trivy + govulncheck against main) #72

@ilmoniemi

Description

@ilmoniemi

User Story

As a relay maintainer, I want a scheduled workflow that re-runs both the runtime-image CVE scan and the source-side reachable-Go-vuln scan against the latest main SHA, so that newly-disclosed CVEs against dependencies that have not changed since the last PR produce a visible workflow-run signal instead of being invisible until someone next bumps that dep.

Context

PR-time scanning only catches CVEs that exist at PR time. New CVEs are disclosed continuously against dependencies the relay has not touched in weeks. Without a periodic re-scan against main, a vuln disclosed today against a long-stable dep stays invisible.

This ticket adds the cron workflow itself that re-runs:

  1. The runtime-image Trivy CVE scan from ci.yml's image-scan job (relay: PR-time Trivy image CVE scan in ci.yml — fail on fixable CRITICAL/HIGH #68).
  2. The reachable-Go-vuln govulncheck scan from ci.yml's security job (relay: govulncheck in CI — flag reachable Go vulns at PR time #41).

At this stage a finding produces a red workflow run only — no auto-issue is filed. Auto-issue filing is layered on top in #73 so the cron workflow has a single concern: schedule and execute both scans against main.

Split from #69.

Acceptance Criteria

Technical Notes

  • Re-using shared steps with ci.yml via a reusable workflow or composite action is fine but not required. Optimize for clarity over DRY at v1.
  • A failing scan step should fail the workflow run (default behavior of govulncheck and the Trivy action with exit-code: '1'). No additional summarization logic in this ticket.

Size Estimate

S

Metadata

Metadata

Assignees

No one assigned

    Labels

    security-sensitiveTouches auth, crypto, or internet-exposed input pathssize:sSmall ticket: <100 lines production code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions