jev-rules
Warn
Audited by Gen Agent Trust Hub on Oct 5, 2026
Risk Level: MEDIUMDYNAMIC_CONTEXT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [DYNAMIC_CONTEXT_INJECTION]: The skill uses the
!syntax inSKILL.mdto execute shell commands when the skill is loaded. - Evidence:
!d=${CLAUDE_SKILL_DIR}; command -v skill-toc >/dev/null 2>&1 && exec skill-toc "$d"; s=$HOME/.claude/skills/plugin-utils/bin/skill-toc; [ -x "$s" ] && exec "$s" "$d"; echo "(skill-toc unavailable...)"`. - This executes a shell script located in the user's home directory or the system PATH to generate a dynamic Table of Contents.
- [COMMAND_EXECUTION]: The skill's primary management script,
scripts/new-rule.ts, executes external commands throughspawnSync. - Evidence: The script runs the
rule-calibrate.tsscript viabunto verify new rules. - The execution path for the calibrator can be overridden using the
RULE_CALIBRATEenvironment variable, which could allow arbitrary command execution if the environment is compromised. - [DYNAMIC_EXECUTION]: The skill generates and then executes new code files as part of its core functionality.
- Evidence:
scripts/new-rule.tswrites new Python rule modules (.py) and TypeScript test files (.test.ts) using templates defined within the script. - These generated files are subsequently executed by the test runner and the
evidence.pycollector. - [INDIRECT_PROMPT_INJECTION]: The skill possesses an attack surface for indirect prompt injection as it ingests user-provided identifiers to generate executable code.
- Ingestion points: User-supplied
<set>and<ID>arguments inscripts/new-rule.tsare interpolated into file paths and source code strings (e.g.,constraints/jev/${setName}/${id}.py). - Boundary markers: No explicit boundary markers or security warnings are included in the generated code templates to prevent malicious instructions from being processed as part of the rule logic.
- Capability inventory: The skill has the ability to write files (
writeFileSync), move files (renameSync), and execute shell commands (spawnSync) across several scripts includingscripts/new-rule.tsandscripts/new-rule.test.ts. - Sanitization: There is basic regex validation for set names (
/^[a-z][a-z0-9-]*$/) and IDs (/^[A-Z][A-Z0-9-]*$/), but the resulting files are executed without further sandboxing.
Audit Metadata