You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The live inventory is now 120 open CodeQL alerts and 0 open ShellCheck alerts. This is a net reduction of 33 total alerts from the June 5 active inventory.
The P0/P1/P2 merge train closed the previous ShellCheck backlog, the js/regex/missing-regexp-anchor bucket, the js/call-to-non-callable bucket, and most production process/file-system race findings.
The latest inventory also surfaced 9 new js/clear-text-logging findings in production inference/onboarding paths (alert IDs 765-773). Treat these as the highest-signal next cleanup before broad test/docs quality work.
Remaining production/runtime boundary stragglers are small: src/lib/inference/ollama/proxy.ts (js/file-access-to-http, alert 601) and src/lib/actions/uninstall/run-plan.ts (js/indirect-command-line-injection, alert 180). The rest of the command/env/temp-file/URL/TLS findings are test/tooling scoped.
Fix js/clear-text-logging in src/lib/inference/model-prompts.ts, src/lib/inference/onboard-probes.ts, src/lib/onboard/inference-selection-validation.ts, and src/lib/onboard/web-search-flow.ts. Add redaction/regression coverage and avoid printing API-key-derived values.
P0
Remaining production/runtime boundary stragglers
2 CodeQL
Resolve or explicitly dismiss with rationale: src/lib/inference/ollama/proxy.ts alert 601 and src/lib/actions/uninstall/run-plan.ts alert 180. Keep scope small so the next scan delta is clear.
P1
Tools/advisors boundary cleanup
3 CodeQL
Revisit advisor http-to-file/file-to-http alerts 594-596. Prior suppressions/comments did not close them; either refactor the data boundaries or dismiss with explicit maintainer rationale.
P2
Test/E2E security-pattern alerts
26 mixed CodeQL
Batch test-only command/env, temp-file, URL substring, TLS, regex-character, bad-sanitization, and file-race patterns. Prefer behavior-preserving test helpers or narrow suppressions with rationale.
P3
Docs/generated and static-quality debt
80 CodeQL
Batch docs cyclic imports/search asset and quality-only JS/Python findings (unused-local-variable, property access, trivial conditionals, useless assignments, duplicate property, empty except). Avoid distracting from remaining production alerts.
Proposed next PR sequence
Credential/logging cleanup PR: close new js/clear-text-logging alerts 765-773 in production inference/onboarding paths with redaction tests.
Boundary straggler PR: close or explicitly dismiss the two remaining production/runtime boundary alerts (src/lib/inference/ollama/proxy.ts and src/lib/actions/uninstall/run-plan.ts).
After each merge, wait for the next mainSecurity / Code Scanning run, update this issue with the new total and rule deltas, and remove closed alert IDs from the active inventory.
Definition of done
Live CodeQL alert inventory has been refreshed with authenticated current counts.
P0 production CodeQL buckets are fixed or dismissed with explicit rationale.
All 15 ShellCheck findings are fixed or suppressed with rationale and confirmed closed by the latest main scan.
Remaining test/docs/tooling CodeQL findings are fixed, dismissed with rationale, or split into targeted follow-up issues.
Security-sensitive production fixes have regression coverage.
A final main code-scanning run confirms the remaining expected alert closures.
Summary
Tracking issue for the current code-scanning backlog in
NVIDIA/NemoClaw/security/code-scanning.Refresh status — June 6, 2026
Last checked against:
origin/main@7e0772448a388104d4ba2e01436e5f49980b8f65Security / Code Scanningrun onmain: 27052564135, success, created 2026-06-06 04:28 UTCCodeQL (javascript-typescript): successCodeQL (python): successShellCheck SARIF: successGET /repos/NVIDIA/NemoClaw/code-scanning/alerts?state=open, paginated, with code-scanning accessCurrent open inventory:
138 CodeQL + 15 ShellCheck)What changed since the June 5 tracker refresh
mainscan above.js/regex/missing-regexp-anchorbucket, thejs/call-to-non-callablebucket, and most production process/file-system race findings.js/clear-text-loggingfindings in production inference/onboarding paths (alert IDs 765-773). Treat these as the highest-signal next cleanup before broad test/docs quality work.src/lib/inference/ollama/proxy.ts(js/file-access-to-http, alert 601) andsrc/lib/actions/uninstall/run-plan.ts(js/indirect-command-line-injection, alert 180). The rest of the command/env/temp-file/URL/TLS findings are test/tooling scoped.Active CodeQL inventory by rule
120 open CodeQL findings
js/unused-local-variablesrc/lib/onboard.ts(26), test/tooling cleanupjs/property-access-on-non-objecttest/policy-tiers.test.tsjs/clear-text-loggingsrc/lib/onboard/inference-selection-validation.ts(4),src/lib/onboard/web-search-flow.ts(2),src/lib/inference/model-prompts.ts(2),src/lib/inference/onboard-probes.tspy/unsafe-cyclic-importdocs/_ext/json_output/core/*js/insecure-temporary-filejs/shell-command-injection-from-environmentjs/indirect-command-line-injectionsrc/lib/actions/uninstall/run-plan.ts(1), Brev E2E tests (3)js/incomplete-url-substring-sanitizationtest/policies.test.tsjs/trivial-conditionaljs/disabling-certificate-validationjs/file-access-to-httpsrc/lib/inference/ollama/proxy.ts,tools/advisors/github.mtsjs/file-system-racenpm-link-or-shim.test.ts,nemoclaw-start.test.ts)js/http-to-file-accesstools/advisors/io.mts,tools/e2e-advisor/dispatch.mts)js/useless-assignment-to-localjs/useless-regexp-character-escapetest/seccomp-guard.test.tsjs/bad-code-sanitizationtest/repro-2010.test.tsjs/duplicate-propertyjs/tainted-format-stringpy/empty-exceptscripts/docs-to-skills.pyActive ShellCheck inventory
0 open ShellCheck SARIF findings
The latest
ShellCheck SARIFjob in 27052564135 succeeded and the live code-scanning API currently reports no open ShellCheck alerts.Previously tracked ShellCheck items were handled by:
SC2015inagents/hermes/start.shandscripts/nemoclaw-start.shSC2015andSC2317cleanup/suppressions with rationaleUpdated risk/reward plan
js/clear-text-logginginsrc/lib/inference/model-prompts.ts,src/lib/inference/onboard-probes.ts,src/lib/onboard/inference-selection-validation.ts, andsrc/lib/onboard/web-search-flow.ts. Add redaction/regression coverage and avoid printing API-key-derived values.src/lib/inference/ollama/proxy.tsalert 601 andsrc/lib/actions/uninstall/run-plan.tsalert 180. Keep scope small so the next scan delta is clear.http-to-file/file-to-httpalerts 594-596. Prior suppressions/comments did not close them; either refactor the data boundaries or dismiss with explicit maintainer rationale.unused-local-variable, property access, trivial conditionals, useless assignments, duplicate property, empty except). Avoid distracting from remaining production alerts.Proposed next PR sequence
js/clear-text-loggingalerts 765-773 in production inference/onboarding paths with redaction tests.src/lib/inference/ollama/proxy.tsandsrc/lib/actions/uninstall/run-plan.ts).tools/advisors/*andtools/e2e-advisor/*network/file artifact findings 594-596.After each merge, wait for the next
mainSecurity / Code Scanningrun, update this issue with the new total and rule deltas, and remove closed alert IDs from the active inventory.Definition of done
mainscan.maincode-scanning run confirms the remaining expected alert closures.