The categories we evaluate and how we score them. We publish the methodology, not the patterns.
Any plaintext file an AI coding agent might obey:
SKILL.md.cursorrules and .cursor/rules/*.mdcopilot-instructions.mdGEMINI.mdCONVENTIONS.md, Continue.dev configs, or any plaintext system promptThe detection rules are content-based, they don't care which agent the file targets.
Publishing exact regex patterns gives an attacker the cheat sheet for evading the scanner. Publishing the threat model and severity schedule, on the other hand, lets defenders understand and audit what the scanner protects against. We've picked the second trade-off.
A scan starts at 100. Each finding subtracts a weight by severity. The overall severity label is derived from the final score: under 40 is critical, under 60 is high, under 80 is medium.
8 categories evaluated. Click a finding in any scan for context.
Code blocks only
What we look for
Remediation
Avoid executing dynamic code or shelling out at runtime. If a shell command is required, hard-code the arguments and never interpolate untrusted input.
Whole document
What we look for
Remediation
Skills should not read credential files or secret-shaped environment variables. Handle secret access in the host application, never in a skill.
Context-sensitive
What we look for
Remediation
Avoid download-and-execute patterns. If a network call is required, document the host, use HTTPS with cert verification, and ensure no local secret flows into the request.
Context-sensitive
What we look for
Remediation
If a skill needs to ship data, ship it as plaintext that auditors can read. Encoded payloads in a skill file are a code-review red flag with no upside.
Whole document
What we look for
Remediation
Remove instructions that override the host model and any hidden Unicode. Skills should describe what they do - they should not instruct the model to behave differently.
Whole document
What we look for
Remediation
Constrain file access to explicit, intended directories. Never reference system credential files or use multi-level path-escape segments.
Whole document
What we look for
Remediation
Use the safe variants of deserializers (JSON instead of pickle, yaml.safe_load instead of yaml.load) and never deserialize untrusted input.
Whole document
What we look for
Remediation
Skills must never read their host agent's configuration files or provider API keys. Treat host credentials as out-of-scope for any skill.