ClawAudit verdict
triathlon-ai-coach
Accesses credentials AND makes external network calls
Reads TrainingPeaks and Garmin fitness data using user-provided credentials stored in local files, generates training plans, and sends notifications; handles auth tokens locally with appropriate security guidance (chmod 600), matching the stated coaching purpose.
Automated static analysis — not a human review. ClawAudit flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
What it does
These are capability combinations: each listed behavior occurs in the skill, but ClawAudit detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.
Accesses credentials AND makes external network calls — potential credential theft
LLM02 · ASI03
Accesses credentials AND encodes data — may obfuscate stolen credentials
LLM02 · ASI03 · ASI04
Permission integrity
network_out
credential_access
Findings (5)
Possible hardcoded credential
scripts/plan_engine.py · prose · downgraded · TOKEN = "/tmp/garmin_test_token
Python urllib.request — network access
SKILL.md · code · urllib.request
subprocess execution — runs system commands from Python
scripts/plan_engine.py · prose · downgraded · subprocess.run(
os.system/popen — direct OS command execution
scripts/tp_sync.py · prose · downgraded · os.popen(
Python os.environ.get — reads environment variable
scripts/plan_engine.py · prose · downgraded · os.environ.get(
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.
network_outcredential_accessdata_encoding Thanks — recorded.