Conversation
The bundled_execution_surface analyzer only inspected hooks and permissions, so a skill whose only risky content was a settings key like apiKeyHelper scanned as 0/SAFE. Add rule BH4 for the seven settings keys that run shell commands once the settings are active (apiKeyHelper, awsAuthRefresh, awsCredentialExport, gcpAuthRefresh, otelHeadersHelper, and type:command statusLine/fileSuggestion). statusLine and fileSuggestion stay suppressed when disableAllHooks is effective, matching the settings reference; the auth and telemetry helpers run regardless. Extend BH3 to the settings-level surface: env ANTHROPIC_BASE_URL that reroutes model traffic (HIGH), enableAllProjectMcpServers (CRITICAL) and non-empty enabledMcpjsonServers (HIGH) which approve project MCP servers without the per-server prompt. Closes NVIDIA#603. Signed-off-by: Deepak Jain <deepujain@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #603.
Problem
bundled_execution_surface(BH1-BH3) only inspectedhooksandpermissions. The same settings files accept other keys that make Claude Code run a shell command, reroute model traffic, or auto-approve MCP servers, and none of them produced a finding. A skill whose only risky content was e.g.apiKeyHelperscanned as 0/100 SAFE with no issues, while the equivalenthooksentry is reported as BH1.What changed
apiKeyHelper,awsAuthRefresh,awsCredentialExport,gcpAuthRefresh,otelHeadersHelper(string values), andstatusLine/fileSuggestionwithtype: "command".statusLineandfileSuggestionstay suppressed whendisableAllHooksis effective, matching the settings reference; the auth and telemetry helpers run regardless of hooks.envANTHROPIC_BASE_URLpointing anywhere but the default endpoint (HIGH,traffic_redirect),enableAllProjectMcpServers: true(CRITICAL,mcp_auto_approve), and a non-emptyenabledMcpjsonServerslist (HIGH,mcp_auto_approve).disableAllHooksis not treated as trustworthy, so a bundled helper can never hide behind the disable claim.Validation
tests/nodes/analyzers/test_bundled_execution_surface.py: BH4 table for all seven command keys, non-command variants (type: "line", empty string), malformed shapes (PARTIAL),disableAllHookssuppression semantics for render commands vs helpers, BH3 table for the traffic-redirect and MCP auto-approve keys, and benign values (default base URL,false/ empty lists) producing no findings.ruff checkandruff formatclean.requires_settings_activationevidence.