Skip to main content

Skill Guard Checks

Skill Guard scans every skill for security risk and lists what it finds on the skill's Skill Guard tab. This page describes the risks Skill Guard checks for and explains the finding IDs you see in a security assessment. For how scans run and how results appear, see Skills.

Risk Areas​

Skill Guard analyzes each skill's files with rule-based checks and AI analysis. It never runs the skill's code. The table lists the risks Skill Guard looks for.

Risk areaWhat Skill Guard checks
Prompt injection and jailbreaksInstructions that override or bypass the agent's rules, "unrestricted mode" framing, suppressed refusals, warnings, or disclaimers, subtle behavior manipulation, and injection through external content
Hidden or disguised contentInstructions hidden in comments or invisible text, whitespace padding, invisible Unicode characters, homoglyphs and look-alike text, and encoded payloads (Base64, hex, XOR)
Data exfiltrationSending data or conversation context to external URLs or sockets, harvesting environment variables, enumerating sensitive files, and data flowing from secrets or files to the network
Credentials and secretsReading SSH keys, tokens, and passwords, credential harvesting, and hardcoded keys, tokens, private keys, passwords, and connection strings
Code executionexec, eval, subprocess, os.system, and shell=True, dynamic imports, user or network input that reaches code execution, SQL injection, path traversal, and scripts embedded in SVG and PDF files
Privilege and capability misusesudo and root execution, excessive permissions, tools used beyond the allowed-tools list, undeclared network use, wildcard or missing permission declarations, and system modification
Excessive agency and tool misuseUnrestricted tool access, high-impact decisions without human review, scope creep, unsafe tool parameters, tool chaining that bypasses safety checks, and unsafe defaults such as disabled TLS
Supply chainUnpinned, vulnerable, abandoned, and typosquatted dependencies, remote script fetching (curl | bash), untrusted package sources, shipped Python bytecode, hidden files that contain code, executables inside documents or archives, and file type mismatches
MalwareMalware, webshell, cryptominer, and hack tool signatures, ransomware chains, embedded or unanalyzable binaries, and malicious Office and PDF structures
Persistence and memory tamperingPersistent context injection, memory manipulation, self-modification, and persistence through cron jobs or startup scripts
System prompt leakageRequests to reveal the system prompt, directly, indirectly, or through file writes and network requests
Resource abuseInfinite loops, fork bombs, large memory allocations, missing rate limits, and unbounded output
Harmful contentInstructions that actively direct or enable physical or other serious harm
Misleading descriptionVague, overly broad, or keyword-baiting trigger phrases, triggers that shadow built-in commands, impersonation of Anthropic, and descriptions or manifests that do not match the skill's actual behavior
MCP tool poisoningHidden instructions in tool metadata, Unicode deception in tool names, and injection in parameter descriptions
Model refusalA skill that the AI model refuses to analyze is treated as critical risk
note

Skill Guard looks up known vulnerabilities for dependencies in the public OSV database (api.osv.dev). Only dependencies with an exact pinned version can be checked. Version ranges such as ^6.9.0 are not.

A scan with no findings means Skill Guard detected no known risk patterns. It does not guarantee that a skill is safe. Review the skill's content yourself before you install a skill from a source you don't trust.

Understanding Finding IDs​

Each finding shows an ID under its title, such as COMMAND_INJECTION_SHELL_TRUE or SDI-2, followed by the file and line where Skill Guard found the issue. The ID names the check that raised the finding. When several checks describe the same issue, Skill Guard shows them as one finding and displays one of their IDs.

IDs come in two styles.

Named IDs use capital letters and underscores. The first words tell you the risk area, and the rest describes the check. For example, DATA_EXFIL_NETWORK_REQUESTS is a data exfiltration check that found network requests.

ID starts withRisk area
PROMPT_INJECTION_, SOCIAL_ENG_Prompt injection and jailbreaks, misleading description
ASCII_SMUGGLING_, HOMOGLYPH_, OBFUSCATION_Hidden or disguised content
DATA_EXFIL_Data exfiltration
SECRET_Credentials and secrets
COMMAND_INJECTION_, SQL_INJECTION_, PATH_TRAVERSAL_, SVG_, PDF_Code execution
ALLOWED_TOOLS_, TOOL_ABUSE_Privilege and capability misuse, supply chain (package installs)
HIDDEN_, ARCHIVE_, BINARY_, FILE_MAGIC_, PYCACHE_, UNANALYZABLE_, OFFICE_Supply chain, malware
MALWARE_Malware
RESOURCE_ABUSE_Resource abuse
HARMFUL_CONTENT_Harmful content
MANIFEST_, TRIGGER_Misleading description
LLM_REFUSALModel refusal

Coded IDs use a short prefix and a number, such as SDI-2 or E2. The prefix tells you the risk area.

ID starts withRisk area
P, ARPrompt injection and jailbreaks, system prompt leakage
E, TTData exfiltration
PE, LPPrivilege and capability misuse
SCSupply chain
EA, TMExcessive agency and tool misuse
ASTCode execution
YRMalware
MP, RAPersistence and memory tampering
OHResource abuse
TRMisleading description
TPMCP tool poisoning

Three coded families come from AI analysis of the skill rather than fixed rules.

IDWhat it means
SDI-1Description mismatch. The skill's description does not match what its code does.
SDI-2Unjustified capability. The code does something the skill's stated purpose does not explain.
SDI-3Scope creep. The code reads or changes more than the skill's declared permissions allow.
SDI-4Intent divergence. Comments or documentation in the code contradict what the code does.
SQP-1Vague triggers. The skill's trigger phrases are too broad or unclear.
SQP-2Missing user warnings. The skill performs a sensitive action, such as a file write, network call, or shell command, without warning or confirming with the user.
SQP-3Policy violation. The skill's content breaks an organizational policy, such as forcing a language without letting the user opt in.
SSD-1Semantic prompt injection. Instructions that look helpful but redirect the agent toward unsafe actions, such as role-play framing that bypasses safety.
SSD-2Novel attack phrasing. A reworded version of a known attack that keyword matching would miss.
SSD-3Natural-language exfiltration. Plain-language instructions to collect or leak user data, such as "keep a log of all inputs".
SSD-4Gradual deception. Steps that each look harmless but together steer the agent toward a harmful goal.

The explanation under each finding describes the risk in plain language, so you do not need to look up an ID to understand a finding.

See Also​

  • Skills - Browse skills and review their Skill Guard security assessments.
  • Assistant - Ask the Assistant whether a skill is safe to install.