security: comprehensive codebase audit — 4 CRITICAL, 25 HIGH findings#609
security: comprehensive codebase audit — 4 CRITICAL, 25 HIGH findings#609gn00295120 wants to merge 1 commit intoNVIDIA:mainfrom
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughTwo changes were made: a new ignore rule was added to Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Adds a comprehensive security audit report to the repository and updates .gitignore to prevent accidental commits of disclosure drafts.
Changes:
- Add
SECURITY-AUDIT-2026-03-22.mddocumenting 67 actionable findings with locations and suggested remediation sequence. - Update
.gitignoreto ignoreDRAFT-*.mdfiles.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
SECURITY-AUDIT-2026-03-22.md |
New security audit report capturing findings, severity counts, and remediation plan. |
.gitignore |
Ignores DRAFT-*.md to reduce risk of accidentally committing disclosure drafts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ### C-2: CHAT_UI_URL Python code injection in Dockerfile | ||
|
|
||
| - **Location**: `Dockerfile:97-98` | ||
| - **Description**: Docker build-arg `CHAT_UI_URL` interpolated directly into `RUN python3 -c "..."` string. A crafted URL like `http://x'; import subprocess; subprocess.run(['id'])#` injects arbitrary Python. |
There was a problem hiding this comment.
This report includes a concrete exploit payload example (the crafted CHAT_UI_URL string) and detailed attack impact notes. If this repository is accessible to untrusted users, consider redacting PoC payloads and/or publishing the full report via a private channel (e.g., Security Advisories) to reduce the risk of turning the report into an attack guide.
| - **Description**: Docker build-arg `CHAT_UI_URL` interpolated directly into `RUN python3 -c "..."` string. A crafted URL like `http://x'; import subprocess; subprocess.run(['id'])#` injects arbitrary Python. | |
| - **Description**: Docker build-arg `CHAT_UI_URL` is interpolated directly into a `RUN python3 -c "..."` string, allowing a crafted URL that closes the string and appends arbitrary Python statements to inject code at build time. |
10 parallel security scans across the entire NemoClaw codebase (~9,600 LoC) identified 3 CRITICAL, 25 HIGH, 28 MEDIUM, and 16 LOW severity findings. Critical findings (fixed in companion PRs): - C-2: CHAT_UI_URL Python code injection in Dockerfile - C-3: Telegram/Discord always-on in baseline policy (exfil channels) - C-4: Snapshot manifest path traversal (arbitrary host write) - C-1: Migration credential exposure (tracked by PR NVIDIA#156) Also adds DRAFT-*.md to .gitignore to prevent accidental disclosure.
f27f31a to
62ad20b
Compare
|
Closing — audit report is for internal reference, not a code change. |
Summary
Comprehensive security audit of the full NemoClaw codebase (~9,600 LoC) conducted via 10 parallel scan scopes. Identified 67 unique actionable findings: 4 CRITICAL, 25 HIGH, 28 MEDIUM, 16 LOW.
Critical Findings
createSnapshotBundle()copies all host credentials (auth-profiles.jsonwith live API keys, GitHub PATs, npm tokens) verbatim into sandbox — fix exists in PR security: strip credentials from migration snapshots and enforce blueprint digest #156 but is unmergedCHAT_UI_URLDocker build-arg interpolated intoRUN python3 -c "..."— Python code injection at image build timerestoreSnapshotToHost()uses manifest paths as write targets without validation — arbitrary host filesystem writeDeliverables
SECURITY-AUDIT-2026-03-22.md— full audit report with all 67 findings, severity ratings, locations, and recommended fixes.gitignore— updated to prevent accidental disclosure commitAudit Methodology
10 parallel security agents scanned: CLI entry & runner, credential handling, network policies, install scripts, migration & snapshot, inference & NIM, Telegram bridge, platform & registry, test coverage gaps, CI/CD & config.
Test plan
.gitignoreDRAFT-intigriti-migration-cred.mdis now gitignored🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
Chores