Direct flow: os.environ.get (credential/environment) → subprocess.run (code execution)
High
- Category
- Data Flow
- Content
}) try: msg_result = subprocess.run( [_OPENCLAW_BIN, "plan-tracker-deliver"], input=payload, text=True, capture_output=True, timeout=15, env={**os.environ,- Confidence
- 80% confidence
- Finding
- The code forwards the full parent process environment into the openclaw subprocess, only prepending PATH. If this service runs with secrets or dangerous runtime variables set, an untrusted or compromised plugin/binary can read and exfiltrate them, expanding the blast radius beyond message delivery.
