subprocess module call
Medium
- Category
- Dangerous Code Execution
- Content
environment.update( {"HOME": temp_home, "TMPDIR": temp_home, "TEMP": temp_home, "TMP": temp_home} ) completed = subprocess.run( command, cwd=candidate_root, env=environment,- Confidence
- 95% confidence
- Finding
- The script dynamically executes candidate-supplied checkers via subprocess.run after only validating that the checker path is inside the candidate tree and has an expected file suffix. That means verification of an ostensibly 'trusted' candidate still runs arbitrary Python/shell/Node code on the host with inherited environment values and without sandboxing, so a malicious or mistakenly unsafe checker can execute commands, access network/resources available to the user, or exfiltrate data. In this skill context, the danger is elevated because the tool is explicitly framed as a review/acceptance gate, which may encourage operators to run it on third-party skills despite the warning flag.
