Skip to content

ci: enable the Pulse vulnerability and malware scans in the Security … - #3239

Open
gmanal wants to merge 1 commit into
NVIDIA:mainfrom
gmanal:test/vuln-malware-onboarding
Open

gmanal wants to merge 1 commit into
NVIDIA:mainfrom
gmanal:test/vuln-malware-onboarding

Conversation

@gmanal

@gmanal gmanal commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Turns on enable-vuln-scan and enable-malware-scan and repins the suite to NVIDIA/security-workflows test/vuln-malware-onboarding, the branch carrying the 0.5.0 release notes for both scans.

The vulnerability scan starts report-only so a finding baseline can be built before it gates merges; scanner and transport errors still fail the job, and inventory writeback stays off. The malware scan keeps the upstream default of strict, where SUSPICIOUS blocks as well as MALICIOUS.

Both scans report to the same nSpect registration, because an nSpect ID identifies the repository rather than one scan. nspect-id reads the NSPECT_ID Actions variable and falls back to this repository's ID literally, so the suite works whether or not the variable has been provisioned; drop the fallback once it has.

No permission change: the suite's union is contents/actions read plus id-token and security-events write, all of which this caller already grants.

Both scans cross a Charon tunnel that authorizes per repository and per ref. charon!242 brings this repository's tenant to parity with the one the upstream workflows are tested against and grants main plus the pull-request/* mirrors; the prerequisites are summarised in ci/README.md.

Description

closes

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@github-actions github-actions Bot added the CI/CD CI/CD infrastructure label Oct 27, 2026
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

📝 Summary

Summary by CodeRabbit

  • New Features
    • Security checks now include open-source vulnerability and malware scans alongside secret scanning and CodeQL analysis.
    • Vulnerability findings are reported without failing the workflow; malware findings follow a strict failure policy.
  • Documentation
    • Added setup guidance for required scan configuration and access permissions, including which checks require a secure tunnel and which repository branches must be authorized.

The security workflow now enables Pulse vulnerability and malware scans, configures their runners and failure policies, and supplies an NSPECT ID. The CI documentation lists Charon tunnel, ref, route, and authorization prerequisites.

Changes: Security Suite scans

Layer / File(s) Summary
Configure security scans
.github/workflows/security-suite.yml
The workflow enables vulnerability and malware scans, updates the reusable workflow reference, supplies an NSPECT ID fallback, assigns Linux runners, and sets scan failure policies.
Document scan prerequisites
ci/README.md
The documentation lists Charon tunnel access, NSPECT_ID, authorized refs, required routes, and the possible scanner-side 403 response.

Suggested labels: enhancement, documentation, ci-workflow-health

Suggested reviewers: rwgk

Priority: Normal

Change: Feature

Merge Risk: Moderate · up to 538be

Restrict manual runs to authorized refs and require an nSpect ID for other repositories before merging; otherwise scans can fail or be attributed to the wrong repository.

Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@gmanal
gmanal force-pushed the test/vuln-malware-onboarding branch from c6bbbae to 2f0e7cf Compare October 27, 2026 07:19
…Suite

Turns on `enable-vuln-scan` and `enable-malware-scan` and repins the suite to
NVIDIA/security-workflows test/vuln-malware-onboarding, the branch carrying the
0.5.0 release notes for both scans.

The vulnerability scan starts report-only so a finding baseline can be built
before it gates merges; scanner and transport errors still fail the job, and
inventory writeback stays off. The malware scan keeps the upstream default of
strict, where SUSPICIOUS blocks as well as MALICIOUS.

Both scans report to the same nSpect registration, because an nSpect ID
identifies the repository rather than one scan. `nspect-id` reads the
`NSPECT_ID` Actions variable and falls back to this repository's ID literally,
so the suite works whether or not the variable has been provisioned; drop the
fallback once it has.

No permission change: the suite's union is contents/actions read plus id-token
and security-events write, all of which this caller already grants.

Both scans cross a Charon tunnel that authorizes per repository and per ref.
charon!242 brings this repository's tenant to parity with the one the upstream
workflows are tested against and grants `main` plus the `pull-request/*`
mirrors; the prerequisites are summarised in ci/README.md.
@gmanal
gmanal force-pushed the test/vuln-malware-onboarding branch from 2f0e7cf to 538bef3 Compare October 27, 2026 07:36

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to GitHub limitations.

⚠️ Outside diff range comments (1)

Major · important: Scope the nSpect fallback to this repository. · security-suite.yml:56

.github/workflows/security-suite.yml:56
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

important: Scope the nSpect fallback to this repository.

Line 56 applies NSPECT-ZY2K-Y1V8 to every caller when vars.NSPECT_ID is empty. The job condition also permits another repository to opt in through CI_CUSTOMIZATIONS_SECURITY_SUITE_ENABLED. The reusable workflow defines nspect-id as the calling repository's registration, so another repository can attribute both scan results to cuda-python's registration. Scope the fallback to NVIDIA/cuda-python and fail or skip when another repository has no NSPECT_ID. (raw.githubusercontent.com)

Source: Path instructions


Review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 2f0e7cf and 538bef3.

Files selected for processing: 1
  • .github/workflows/security-suite.yml

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review.

Comment on lines +44 to +45
enable-vuln-scan: true
enable-malware-scan: true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor · Stability & Availability · Quick win

important: Restrict tunnel-backed scans to authorized refs.

Lines 44-45 enable the scans for workflow_dispatch, but that event has no branch filter and the job condition does not check github.ref_name. A manual run from another branch starts the Charon-backed scans. The documented tenant authorization covers main, ctk-next, and pull-request/*; an unlisted ref returns 403, and scanner or transport errors fail the job. Add the authorized-ref condition to security-suite.if, or remove workflow_dispatch. (raw.githubusercontent.com)

Source: Path instructions

@github-actions

Copy link
Copy Markdown
Contributor

This branch has not been deployed

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

Labels

CI/CD CI/CD infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant