HIGHCredential pass-through configurationsrc/outlook_mcp/toolsets.py:41 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 HIGHCredential pass-through configurationsrc/outlook_mcp/toolsets.py:11 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 HIGHCredential pass-through configurationsrc/outlook_mcp/server.py:182 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMMCP server using network transport (SSE/HTTP)src/outlook_mcp/http_transport.py:332 · MCP server using network transport (SSE/HTTP) — data sent over networkFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04 MEDIUMFile permission modification commandtests/test_attachment_paths.py:111 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMHex-encoded string detectedtests/test_attachments_as_content.py:85 · Hex-encoded string detected — may contain obfuscated payloadsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 MEDIUMFile permission modification commandsrc/outlook_mcp/tools/mail_attachments.py:153 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMFile permission modification commandsrc/outlook_mcp/config.py:601 · 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_config.py:133 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMFile permission modification commandsrc/outlook_mcp/config.py:386 · 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_attachment_paths.py:172 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMHex-encoded string detectedtests/test_attachments_as_content.py:345 · Hex-encoded string detected — may contain obfuscated payloadsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 HIGHCredential pass-through configurationsrc/outlook_mcp/toolsets.py:81 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMMCP server using network transport (SSE/HTTP)src/outlook_mcp/http_transport.py:353 · MCP server using network transport (SSE/HTTP) — data sent over networkFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04 MEDIUMMCP server using network transport (SSE/HTTP)src/outlook_mcp/http_transport.py:312 · MCP server using network transport (SSE/HTTP) — data sent over networkFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.
AST04 MEDIUMFile permission modification commandsrc/outlook_mcp/tools/mail_attachments.py:152 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMAccess to sensitive file pathstests/test_delta_url_validation.py:41 · 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_config_environment.py:625 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMURL with embedded credentialstests/test_delta_url_validation.py:256 · URL with embedded credentials — may be phishing or credential leakingFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST07 MEDIUMPython subprocess execution detectedtests/test_config.py:178 · 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_config.py:280 · 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_config_environment.py:654 · 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_document_followups.py:69 · 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_expected_username.py:164 · 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_config.py:51 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05 MEDIUMFile permission modification commandtests/test_config.py:38 · 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_document_review_guards.py:169 · 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_docs_match_the_surface.py:54 · 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_downloads_never_replace.py:39 · 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_config.py:556 · 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 addresstests/test_http_transport.py:264 · 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_http_transport.py:443 · 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_http_transport.py:436 · 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_http_transport.py:443 · 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_http_transport.py:755 · 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_http_transport.py:264 · 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_http_transport.py:667 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07 MEDIUMOutbound HTTP to raw IP addresstests/test_http_transport.py:667 · 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_startup_degrades.py:208 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMDestructive file system command detectedtests/test_mail_read_bulk.py:293 · Destructive file system command detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPython subprocess execution detectedtests/test_readable_attachments.py:539 · 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_keychain_collision.py:246 · Python subprocess execution detectedFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05 MEDIUMPython subprocess execution detectedtests/test_server.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_server.py:815 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMHex-encoded string detectedtests/test_mail_attachments.py:130 · Hex-encoded string detected — may contain obfuscated payloadsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07 MEDIUMAccess to sensitive file pathstests/test_mail_attachments.py:193 · 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_readable_attachments.py:542 · 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_mail_attachments.py:678 · 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_readable_attachments.py:257 · 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_server.py:911 · 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_readable_attachments.py:477 · 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_readable_attachments.py:392 · 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_validation.py:95 · 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_tool_surface_budget.py:386 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMCredential pass-through configurationtests/test_tool_surface_budget.py:348 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMAccess to sensitive file pathstests/test_validation.py:489 · 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 MEDIUMCredential pass-through configurationtests/test_tool_surface_budget.py:314 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMPython subprocess execution detectedtests/test_tool_surface_budget.py:301 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05 MEDIUMCredential pass-through configurationtests/test_tool_surface_budget.py:327 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMCredential pass-through configurationtests/test_tool_surface_budget.py:263 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMCredential pass-through configurationtests/test_tool_surface_budget.py:408 · Credential pass-through configuration — agent relays sensitive credentialsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02 MEDIUMProcess kill commandtests/test_validation.py:595 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05 MEDIUMPython subprocess execution detectedtests/test_tool_surface_budget.py:429 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05