subprocess module call
Medium
- Category
- Dangerous Code Execution
- Content
) try: result = subprocess.run( ["claude", "-p", "--output-format", "json"], input=prompt, capture_output=True, text=True, timeout=120, )- Confidence
- 92% confidence
- Finding
- The code launches an external `claude` subprocess and sends it prompt content built from local `SKILL.md` text and evaluator failure data. Even though it avoids `shell=True`, this still creates a real trust-boundary crossing: repository content and trace-derived data are exfiltrated to an external tool, and its output is later treated as structured change instructions for downstream use.
