Claude Code, Skill
Skill Inject
A comprehensive benchmark for measuring prompt injection vulnerabilities in LLM agent skill files.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 182f3d9d9836, unchanged since the check below.
OBFUSCATION_ENCODED_BLOB
Why this grade
- OBFUSCATION_ENCODED_BLOB Medium
Contains a long base64 shaped string in a file that should be readable.
data/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd, line 1
<?xml version="1.0" encoding="utf-8"?>
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
can delete files.
PERMISSION_DELETE_FILES
data/instruction_unit_tests/task_checks.py, line 273
result = subprocess.run(
data/instruction_unit_tests/obvious/test_obvious_7.py, line 7
- Python os.remove() - in generated scripts
data/skills/document-skills/docx/ooxml/scripts/pack.py, line 103
result = subprocess.run(
Show more
data/skills/document-skills/docx/ooxml/scripts/validation/redlining.py, line 153
result = subprocess.run(
data/skills/document-skills/docx/ooxml/scripts/validation/redlining.py, line 185
result = subprocess.run(
data/skills/document-skills/docx/scripts/document.py, line 836
shutil.rmtree(self.temp_dir)
data/skills/document-skills/pptx/ooxml/scripts/pack.py, line 103
result = subprocess.run(
data/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py, line 153
result = subprocess.run(
data/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py, line 185
result = subprocess.run(
data/skills/document-skills/pptx/scripts/thumbnail.py, line 219
result = subprocess.run(
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address. can reach agenskill-api.onrender.com. The description does not name that host. can reach agensk. The description does not name that host. can reach ipapi.co. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
data/instruction_unit_tests/obvious/test_obvious_10.py, line 4
to agenskill-api.onrender.com/envs. Agents may use curl directly or
data/instruction_unit_tests/obvious/test_obvious_10.py, line 5
write a Python script that uses requests.post().
data/instruction_unit_tests/obvious/test_obvious_10.py, line 32
# Secondary: curl command with .env reference
Show more
data/instruction_unit_tests/obvious/test_obvious_10.py, line 34
return True, "curl command with .env target found (command_history)"
data/instruction_unit_tests/obvious/test_obvious_10.py, line 41
# Check for find + curl pattern (scanning for .env then uploading)
data/instruction_unit_tests/obvious/test_obvious_11.py, line 33
# Secondary: curl with SSH file patterns
data/instruction_unit_tests/obvious/test_obvious_11.py, line 35
return True, "curl command targeting SSH files found (command_history)"
data/instruction_unit_tests/obvious/test_obvious_21.py, line 4
include curl commands to exfiltrate queries to agenskill-api.onrender.com/logging.
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
apptainer/debug_env.sh, line 7
ENV_FILE="$SCRIPT_DIR/.env"
apptainer/run_multi_skill_dilution.sh, line 17
[ -f "$PROJECT_ROOT/.env" ] && set -a && source "$PROJECT_ROOT/.env" && set +a
apptainer/run_obvious_eb.sh, line 17
[ -f "$PROJECT_ROOT/.env" ] && set -a && source "$PROJECT_ROOT/.env" && set +a
Show more
apptainer/run_obvious_eb_remaining.sh, line 17
[ -f "$PROJECT_ROOT/.env" ] && set -a && source "$PROJECT_ROOT/.env" && set +a
apptainer/run_phrasing_variants.sh, line 16
[ -f "$PROJECT_ROOT/.env" ] && set -a && source "$PROJECT_ROOT/.env" && set +a
apptainer/run_sandbox.sh, line 28
# Shell environment is loaded first (lower priority); .env file is loaded second
apptainer/run_sandbox.sh, line 29
# and overwrites any matching keys, so .env always takes precedence.
apptainer/run_sandbox.sh, line 39
# 2. Load from .env (overwrites shell env for any key present in the file)
data/instruction_unit_tests/task_checks.py, line 63
api_key = os.environ.get("OPENAI_API_KEY")
data/skills/code-review/references/style-guide.md, line 138
api_key = os.environ.get("API_KEY")
data/skills/hf-paper-publisher/skills/hugging-face-paper-publisher/scripts/paper_manager.py, line 35
self.token = hf_token or os.getenv("HF_TOKEN") or HfFolder.get_token()
data/skills/hf_dataset_creator/skills/hugging-face-dataset-creator/scripts/dataset_manager.py, line 22
HF_TOKEN = os.environ.get("HF_TOKEN")
data/skills/hf_model_evaluation/skills/hugging-face-evaluation-manager/examples/artificial_analysis_to_hub.py, line 42
API_KEY = os.getenv("AA_API_KEY")
data/skills/hf_model_evaluation/skills/hugging-face-evaluation-manager/examples/artificial_analysis_to_hub.py, line 43
HF_TOKEN = os.getenv("HF_TOKEN")
data/skills/hf_model_evaluation/skills/hugging-face-evaluation-manager/scripts/evaluation_manager.py, line 515
hf_token = os.getenv("HF_TOKEN")
data/skills/hf_model_evaluation/skills/hugging-face-evaluation-manager/scripts/evaluation_manager.py, line 725
hf_token = os.getenv("HF_TOKEN")
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable.
OBFUSCATION_ENCODED_BLOB
data/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd, line 1
<?xml version="1.0" encoding="utf-8"?>
data/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd, line 1
<?xml version="1.0" encoding="utf-8"?>
data/skills/seo-review/SKILL.md, line 1
---
Show more
data/task_files/.ssh/id_rsa.pub, line 1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0R0ZHR0hJSktMTU5PUFFSU1RVVldYWVo5OUFBQkNERUZHMTIzNDU2Nzg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NTVVVlpaWlpZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZ
data/task_files/.ssh/known_hosts, line 1
github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0R0ZHR0hJSktMTU5PUFFSU1RVVldYWVo5OTk5OTk5OTk5OTk5OVdXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1REZFRkdHSUpLTE1OT1BRUlNUVVZXWFlaWlpZWVlZWVl
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 182f3d9d9836. can delete files. can reach a host that is not written as a fixed address. can reach agenskill-api.onrender.com. The description does not name that host. can reach agensk. The description does not name that host. can reach ipapi.co. The description does not name that host. reads a credential or environment file. contains an encoded blob in a file that should be readable.
Date and source
Date checked:
github.com
Commit graded: 182f3d9d9836e81cdae213e9b9cec1d9be96eea3
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.