HIGHAccess to sensitive file pathslegwork/sandbox_runner.py:448 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMPrivileged sudo command.github/workflows/ci.yml:26 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPrivileged sudo command.github/workflows/ci.yml:32 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMRemote installer piped to shell.github/workflows/ci.yml:77 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07 MEDIUMPython subprocess execution detectedlegwork/denials.py:257 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMnpx invocation of non-well-known package.github/workflows/ci.yml:115 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06 MEDIUMFile permission modification commandlegwork/llm_client.py:129 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 HIGHAccess to sensitive file pathsscripts/e2e_hub.py:65 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMFile permission modification command.github/workflows/ci.yml:74 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPipe-to-shell pattern.github/workflows/ci.yml:77 · Pipe-to-shell pattern — downloads and immediately executes remote codeFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06 MEDIUMPrivileged sudo command.github/workflows/ci.yml:31 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPython subprocess execution detectedcache/lovell__sharp/wrapper.py:136 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 HIGHPrivileged sudo commandlegwork/sandbox_runner.py:159 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHPrivileged sudo commandlegwork/sandbox_runner.py:179 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHOutbound HTTP to raw IP addresslegwork/netlog.py:210 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 HIGHPrivileged sudo commandlegwork/retry_loop.py:191 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHAccess to sensitive file pathslegwork/sandbox_runner.py:429 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMFile permission modification commandlegwork/llm_client.py:114 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPython subprocess execution detectedlegwork/denials.py:164 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedcache/svg__svgo/wrapper.py:36 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 HIGHPrivileged sudo commandlegwork/sandbox_runner.py:178 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHPrivileged sudo commandlegwork/sandbox_runner.py:160 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 HIGHAccess to sensitive file pathslegwork/sandbox_runner.py:492 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMPython subprocess execution detectedtests/test_sandbox_runner.py:290 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/repo_fetcher.py:256 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_denials.py:68 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMAccess to sensitive file pathstests/test_hub.py:142 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMURL using raw IP addresstests/test_cli.py:195 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMURL using raw IP addresstests/test_netlog.py:69 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedtests/test_sandbox_runner.py:543 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMFile permission modification commandtests/test_doctor.py:53 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPython subprocess execution detectedtests/test_local_store.py:65 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMOutbound HTTP to raw IP addresstests/test_netlog.py:69 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMURL using raw IP addresstests/test_denials.py:64 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMnpx invocation of non-well-known packagescripts/build_mcpb.sh:15 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06 MEDIUMFile permission modification commandlegwork/sandbox_runner.py:684 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPython subprocess execution detectedlegwork/sandbox_runner.py:196 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_cache_writer.py:72 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/retry_loop.py:165 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/mcp_stdio.py:28 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_codegen.py:35 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/repo_fetcher.py:236 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMOutbound HTTP to raw IP addresstests/test_denials.py:64 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMFile permission modification commandtests/test_llm_client.py:92 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPython subprocess execution detectedlegwork/repo_fetcher.py:163 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/repo_fetcher.py:184 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMFile permission modification commandtests/test_llm_client.py:101 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMPython subprocess execution detectedlegwork/repo_fetcher.py:213 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/outputs.py:124 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMOutbound HTTP to raw IP addresstests/test_cli.py:195 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedtests/test_sandbox_runner.py:554 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/sandbox_runner.py:747 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_sandbox_runner.py:149 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_netlog.py:40 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMURL using raw IP addresslegwork/netlog.py:210 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMPython subprocess execution detectedtests/test_local_store.py:62 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_local_store.py:66 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_hub.py:312 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/retry_loop.py:147 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMReferences a credential file in the home directorytests/test_sandbox_runner.py:494 · References a credential file in the home directoryFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03 MEDIUMPython subprocess execution detectedtests/test_local_store.py:64 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedlegwork/sandbox_runner.py:72 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMReads credential paths from the home directorytests/test_hub.py:142 · Reads credential paths from the home directoryFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03 MEDIUMPython subprocess execution detectedtests/test_outputs.py:43 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMReferences a credential file in the home directorytests/test_sandbox_runner.py:492 · References a credential file in the home directoryFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03 MEDIUMReferences a credential file in the home directorytests/test_denials.py:24 · References a credential file in the home directoryFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03 MEDIUMReads credential paths from the home directorytests/test_denials.py:24 · Reads credential paths from the home directoryFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST03 MEDIUMAccess to sensitive file pathstests/test_denials.py:24 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMAccess to sensitive file pathstests/test_sandbox_runner.py:492 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMPython subprocess execution detectedtests/test_seccomp_notify.py:96 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMPython subprocess execution detectedtests/test_sandbox_runner.py:564 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMFile permission modification commandtests/test_sandbox_runner.py:709 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05