Skip to content

Conversation

@peter-at-progress
Copy link
Contributor

Description

Adds a reusable composite action that automates the process of downloading Chef products from downloads.chef.io and running Grype vulnerability scans. This action:

  • Resolves latest product versions from Chef downloads API (commercial or community)
  • Downloads and extracts packages for specified OS/architecture combinations
  • Runs Grype security scans with JSON output
  • Generates metadata including version info, scan environment, and severity counts
  • Provides clear error messages for common failure modes (license expiration, auth issues)

Files added:

  • action.yml - Composite action definition
  • run.py - Python implementation

Related Issue

N/A - New capability for vulnerability scanning automation

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

  • [X ] I have read the CONTRIBUTING document.
  • I have run the pre-merge tests locally and they pass.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes. (Note: Composite actions validated through integration testing; action tested via 9 successful runs in chef-vuln-scan-orchestrator)
  • If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
  • All new and existing tests passed.
  • All commits have been signed-off for the Developer Certificate of Origin.

Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
Signed-off-by: Peter Arsenault <parsenau@progress.com>
@sean-sype-simmons
Copy link
Contributor

@peter-at-progress - this is pretty neat. Where are we wanting to run this pipeline? Is it being called by another action somewhere?

@peter-at-progress
Copy link
Contributor Author

@sean-sype-simmons Yes, this is being called by an action that runs a Grype scan on the released binaries. That action is in a private repo.

@peter-at-progress peter-at-progress merged commit 4708759 into main Jan 23, 2026
3 checks passed
@peter-at-progress peter-at-progress deleted the download-grype-snapshot branch January 23, 2026 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants