Skip to content

Inventory packages on boot images - #127

Merged
om986 merged 4 commits into
mainfrom
feat/boot-image-packages
Oct 27, 2026
Merged

om986 merged 4 commits into
mainfrom
feat/boot-image-packages

Conversation

@om986

@om986 om986 commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add om scan workload image aws, om scan workload image azure, and om scan workload image gcp for Phase 4 (#104). Each runs as root on a worker in that account and region, reads a boot image once through the same package walker as a root volume, and adds those CPE 2.3 names and package URLs to every workload launched from that image.
  • Packages already stored stay, so a package installed on an instance after boot is not attributed to the image or to another instance. om scan workload aws, om scan workload azure, and om scan workload gcp still replace packages with what is on that instance's own disk. om enrich cve is unchanged.
  • The copy created for the read is deleted, including when the walk fails. The AMI snapshot is not deleted. Marketplace and shared images the account cannot snapshot are skipped, and the command says so. Owned images are read even when no instance is running.
  • om scan workload is now the parent command. The AWS root-volume scan is om scan workload aws, beside the Azure and GCE commands.

Test plan

  • go test ./internal/workload/... ./internal/cmd/ ./internal/graph/ -count=1
  • On an EC2 instance, run om scan aws, then sudo -E ./om scan workload image aws, and confirm instances from one AMI share that image's package identifiers
  • Install a package on one instance after boot, run om scan workload aws for that instance, then run the image scan again, and confirm the extra package stays on that instance only
  • On an Azure VM, run om scan azure, then sudo -E ./om scan workload image azure
  • On a GCE instance, run om scan gcp, then sudo -E ./om scan workload image gcp
  • Fail a read on purpose and confirm the volume or disk created for the scan is deleted, and the AMI snapshot is not
  • Confirm a marketplace image the account cannot snapshot is skipped with account cannot snapshot this image
  • Run om enrich cve and confirm a CVE attaches when an image package identifier matches

Made with Cursor

O M and others added 2 commits October 26, 2026 20:49
Azure and GCP already name the cloud, and the bare command was running the AWS scan.

Co-authored-by: Cursor <cursoragent@cursor.com>
Read each AMI, Azure image, and GCE image once and add those package identifiers to instances launched from it, keeping packages installed on an instance after boot.

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

O M and others added 2 commits October 26, 2026 20:56
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	CONTRIBUTING.md
#	README.md
#	collectors/README.md
#	deploy/helm/opensourceom/values.yaml
#	docs/ARCHITECTURE.md
#	docs/ROADMAP.md
#	internal/cmd/scan_workload.go
#	internal/cmd/scan_workload_aws.go
om scan workload reads Linux root volumes, and om scan workload image reads boot images, on AWS, Azure, and GCE.

Co-authored-by: Cursor <cursoragent@cursor.com>
@om986
om986 merged commit 6c97ec0 into main Oct 27, 2026
6 checks passed
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.

1 participant