skilltotal@0.85.1
CAUTIONPublisher claims: "Static security scanner for npm and PyPI packages, MCP servers and agent skills. Runs locally, never runs the code, no LLM." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Registry PyPI (MCP server) · listed in the official MCP RegistryPublisher pezhik · joined 8 days agoInstalls 2,906Last detonated 5d ago
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-10-29 and scored it 51/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Pipe-to-shell pattern; Pipe-to-shell pattern; Pipe-to-shell pattern. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationst+CategoryObserved action
0.0sprocessno install scripts in bundle
0.1sprocessdependency install exit 1
0.1sprocessexec /usr/bin/timeout
0.1sprocessexec .venv/bin/skilltotal
0.1sprocessexited 127: timeout: failed to run command '.venv/bin/skilltotal': No such file or directory
0.1sclaimedno tools/list reply (exit 127)
0.1sprocessscript backend runs setup only
Static findings
CRITICAL
Pipe-to-shell patternskilltotal/file_index.py:1971 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/file_index.py:1033 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/agent_hook.py:2592 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/file_index.py:1989 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/scanners/install_scripts.py:35 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/engine.py:1395 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/engine.py:1234 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/engine.py:1581 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/agent_hook.py:2883 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/agent_hook.py:155 · 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.
AST06CRITICAL
Prompt injection attemptREADME.md:85 · Prompt injection attempt — 'ignore previous instructions'Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01CRITICAL
OS command execution function call detectedskilltotal/agent_hook.py:244 · OS command execution function call detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/prompt_surface.py:98 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/engine.py:1604 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/agent_hook.py:1576 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/scanners/install_scripts.py:92 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/prompt_surface.py:92 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/engine.py:1600 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/secret_exfil.py:9 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/python_ast.py:204 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/scanners/skill_fetch_exec.py:81 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/python_ast.py:1067 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/python_ast.py:321 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/prompt_surface.py:337 · 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.
AST03CRITICAL
OS command execution function call detectedskilltotal/scanners/python_ast.py:321 · OS command execution function call detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/python_ast.py:497 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/sensitive_paths.py:268 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/agent_hook.py:236 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/secret_exfil.py:49 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/agent_hook.py:709 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/shell_script.py:5 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/scanners/shell_exec.py:144 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scoring.py:117 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/shell_script.py:161 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/python_ast.py:1068 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scoring.py:75 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/skill_fetch_exec.py:6 · 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.
AST06CRITICAL
Pipe-to-shell patternskilltotal/scanners/shell_script.py:491 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scoring.py:110 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/sensitive_paths.py:14 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scoring.py:141 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scoring.py:102 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/python_ast.py:1864 · 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.
AST06CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/prompt_surface.py:431 · 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.
AST03CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/sensitive_paths.py:284 · 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.
AST03CRITICAL
Pipe-to-shell patternskilltotal/scanners/shell_script.py:501 · 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.
AST06HIGH
URL with embedded credentialsskilltotal/agent_hook.py:3129 · 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.
AST07CRITICAL
Pipe to network utilityskilltotal/scanners/secret_exfil.py:9 · Pipe to network utility — potential reverse shellFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST05CRITICAL
OS command execution function call detectedskilltotal/scanners/python_ast.py:204 · OS command execution function call detectedFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05HIGH
Privileged sudo commandskilltotal/agent_hook.py:1507 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/sensitive_paths.py:257 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/agent_hook.py:1566 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07CRITICAL
Reads credential paths from the home directoryskilltotal/scanners/sensitive_paths.py:3 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/agent_hook.py:1578 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
Access to sensitive file pathsskilltotal/scanners/prompt_surface.py:104 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/file_index.py:555 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/file_index.py:549 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/mcp.py:120 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/engine.py:1287 · 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.
AST05HIGH
Instructs the agent to modify its persistent memory or instruction filesskilltotal/scanners/agent_config.py:201 · Instructs the agent to modify its persistent memory or instruction filesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01HIGH
References a credential file in the home directoryskilltotal/file_index.py:1798 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/mcp.py:124 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/prompt_surface.py:92 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/engine.py:1289 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/mcp.py:120 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/mcp.py:250 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/agent_approval.py:39 · 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.
AST05HIGH
Host or command assembled from base64 fragmentsskilltotal/scanners/agent_config.py:1123 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
Access to sensitive file pathsskilltotal/engine.py:1290 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/config_exec.py:18 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/config_exec.py:76 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/file_index.py:1785 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/prompt_surface.py:98 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/models.py:101 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/agent_approval.py:5 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/agent_config.py:236 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/concat_normalize.py:3 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/engine.py:1636 · 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.
AST03HIGH
Instructs the agent to modify its persistent memory or instruction filesskilltotal/scanners/prompt_surface.py:284 · Instructs the agent to modify its persistent memory or instruction filesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01HIGH
Access to sensitive file pathsskilltotal/scanners/prompt_surface.py:98 · 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.
AST05HIGH
Instructs the agent to modify its persistent memory or instruction filesskilltotal/scanners/agent_config.py:874 · Instructs the agent to modify its persistent memory or instruction filesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01HIGH
References a credential file in the home directoryskilltotal/scanners/prompt_surface.py:337 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/prompt_surface.py:92 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/agent_approval.py:13 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/agent_hook.py:2982 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/engine.py:1395 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/engine.py:1234 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/prompt_surface.py:414 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/prompt_surface.py:107 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/scanners/install_scripts.py:35 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
Access to sensitive file pathsskilltotal/scanners/config_exec.py:61 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/file_index.py:557 · 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.
AST05HIGH
Privileged sudo commandskilltotal/agent_hook.py:2607 · Privileged sudo command — agent may execute with elevated privilegesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/prompt_surface.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.
AST05HIGH
Access to sensitive file pathsskilltotal/engine.py:1271 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/concat_normalize.py:3 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/sensitive_paths.py:285 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/scanners/shell_script.py:469 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
References a credential file in the home directoryskilltotal/scoring.py:197 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/sensitive_paths.py:7 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/sensitive_paths.py:284 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/python_ast.py:1067 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scoring.py:107 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/secret_exfil.py:12 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/sensitive_paths.py:282 · 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.
AST03HIGH
Host or command assembled from base64 fragmentsskilltotal/scanners/shell_script.py:479 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
References a credential file in the home directoryskilltotal/scoring.py:106 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/python_ast.py:497 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/python_ast.py:1068 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scoring.py:102 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/prompt_surface.py:107 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/python_ast.py:1068 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/secret_exfil.py:9 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/secrets.py:90 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/python_ast.py:1067 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scoring.py:141 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scoring.py:106 · 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.
AST05HIGH
Instructs the agent to modify its persistent memory or instruction filesskilltotal/scanners/skill_directives.py:55 · Instructs the agent to modify its persistent memory or instruction filesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01HIGH
Access to sensitive file pathsskilltotal/scanners/secrets.py:84 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/python_ast.py:497 · 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.
AST05HIGH
Host or command assembled from base64 fragmentsskilltotal/scanners/shell_script.py:4 · Host or command assembled from base64 fragmentsFix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.
AST07HIGH
References a credential file in the home directoryskilltotal/scanners/sensitive_paths.py:341 · 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.
AST03HIGH
References a credential file in the home directoryskilltotal/scanners/secret_exfil.py:9 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scoring.py:75 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scoring.py:110 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scoring.py:178 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/secret_exfil.py:13 · 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.
AST05HIGH
References a credential file in the home directoryskilltotal/scanners/secret_exfil.py:49 · 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.
AST03HIGH
Access to sensitive file pathsskilltotal/scanners/secret_exfil.py:12 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/secrets.py:83 · 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.
AST05HIGH
Access to sensitive file pathsskilltotal/scanners/sensitive_paths.py:4 · 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.
AST05HIGH
Instructs the agent to modify its persistent memory or instruction filesskilltotal/scanners/skill_directives.py:54 · Instructs the agent to modify its persistent memory or instruction filesFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01HIGH
Access to sensitive file pathsskilltotal/scanners/sensitive_paths.py:3 · 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.
AST05MEDIUM
File permission modification commandskilltotal/scanners/sensitive_paths.py:337 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05MEDIUM
Remote installer piped to shellskilltotal/file_index.py:1033 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
npx invocation of non-well-known packageskilltotal/agent_hook.py:6 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
npx invocation of non-well-known packageskilltotal/inventory.py:11 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
npx invocation of non-well-known packageskilltotal/agent_hook.py:418 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Remote installer piped to shellskilltotal/scanners/python_ast.py:204 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/scanners/python_ast.py:1068 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Remote installer piped to shellskilltotal/agent_hook.py:155 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/install_scripts.py:35 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/engine.py:1604 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/collector.py:805 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Process kill commandskilltotal/collector.py:555 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05MEDIUM
File permission modification commandskilltotal/hook_scan.py:362 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05MEDIUM
npx invocation of non-well-known packageskilltotal/scanners/mcp_pinning.py:3 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Python subprocess execution detectedskilltotal/hook_scan.py:175 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
File permission modification commandskilltotal/hook_scan.py:356 · File permission modification command — agent changes file ownership/permissionsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05MEDIUM
Remote installer piped to shellskilltotal/engine.py:1600 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
npx invocation of non-well-known packageskilltotal/agent_hook.py:824 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Python subprocess execution detectedskilltotal/collector.py:810 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Python subprocess execution detectedskilltotal/scanners/python_ast.py:306 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Process kill commandskilltotal/hook_scan.py:142 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05MEDIUM
npx invocation of non-well-known packageskilltotal/agent_hook.py:1501 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Process kill commandskilltotal/hook_scan.py:751 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05HIGH
Access to sensitive file pathsskilltotal/scoring.py:117 · 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.
AST05MEDIUM
Python subprocess execution detectedskilltotal/collector.py:725 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Remote installer piped to shellskilltotal/engine.py:1581 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/file_index.py:1989 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/scanners/python_ast.py:794 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Process kill commandskilltotal/hook_scan.py:138 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05MEDIUM
npx invocation of non-well-known packageskilltotal/agent_hook.py:1506 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
File type combined with upload actionskilltotal/loaded_code.py:59 · File type combined with upload action — agent may exfiltrate local data filesFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07MEDIUM
npx invocation of non-well-known packageskilltotal/scanners/secret_exfil.py:11 · npx invocation of non-well-known package — may execute untrusted codeFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST06MEDIUM
Remote installer piped to shellskilltotal/scanners/python_ast.py:321 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/python_ast.py:1864 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/cli.py:624 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Remote installer piped to shellskilltotal/scanners/install_scripts.py:92 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/file_index.py:1971 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/cli.py:572 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Process kill commandskilltotal/mcp_server.py:421 · Process kill command — agent can terminate processesFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05MEDIUM
Remote installer piped to shellskilltotal/agent_hook.py:1576 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
npx invocation of non-well-known packageskilltotal/inventory.py:59 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Python subprocess execution detectedskilltotal/hook_scan.py:727 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
npx invocation of non-well-known packageskilltotal/cli.py:1489 · npx invocation of non-well-known package — may execute untrusted codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06MEDIUM
Remote installer piped to shellskilltotal/scanners/skill_fetch_exec.py:81 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
File permission modification commandskilltotal/scanners/shell_evasion.py:227 · File permission modification command — agent changes file ownership/permissionsFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Remote installer piped to shellskilltotal/scanners/shell_script.py:501 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/shell_script.py:5 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/shell_script.py:491 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Python subprocess execution detectedskilltotal/scoring.py:234 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Remote installer piped to shellskilltotal/scanners/shell_exec.py:144 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/skill_fetch_exec.py:6 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07MEDIUM
Remote installer piped to shellskilltotal/scanners/shell_script.py:161 · Remote installer piped to shellFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07What would make this Verified
29 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Text that tells the agent to ignore its instructions≈ +9 on the totalDelete phrases like "ignore previous instructions", "override", "bypass" from SKILL.md and tool descriptions. Describe what the skill does; do not instruct the agent about other rules.
- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Reads credential paths from the home directory≈ +9 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- OS command execution function call detected≈ +9 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Pipe to network utility≈ +9 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
- Unclaimed publisher≈ +8 on the totalClaim pezhik: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
Publish a new version to PyPI, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim pezhik