Caveat verdict
mvg
mvg-cli
Munich transit CLI using only the public MVG API and a public geOps WebSocket for real-time data; no credentials, no data exfiltration, executionSinkDetected refers to documented shell commands.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Findings (6)
Possible hardcoded credential
mvg_cli.py · prose · downgraded · API_KEY = "5cc87b12d7c5370001c1d655112ec5c21e0f441792cfc2fafe3e7a1e
References sudo — requests elevated privileges
README.md · code · sudo
Accesses shell history/config
README.md · code · ~/.zshrc
Opens WebSocket connection
SKILL.md · code · WebSocket
subprocess execution — runs system commands from Python
mvg_cli.py · prose · downgraded · subprocess.run(
Python urllib.request — network access
mvg_cli.py · prose · downgraded · urllib.request
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
Is this flag fair?
Thanks — recorded.