ClawAudit verdict

triathlon-ai-coach

88
🟢 Trusted
Low risk — reviewed by ClawAudit, behavior matches stated purpose

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.

0
security
30
transparency
70
maintenance

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.

Capability combination high

Accesses credentials AND makes external network calls — potential credential theft

LLM02 · ASI03

Capability combination high

Accesses credentials AND encodes data — may obfuscate stolen credentials

LLM02 · ASI03 · ASI04

Permission integrity

Makes network requests but does not declare curl/wget in required binaries

network_out

Code accesses API keys/tokens but declares no environment variables

credential_access

Findings (5)

Pattern match high

Possible hardcoded credential

scripts/plan_engine.py · prose · downgraded · TOKEN = "/tmp/garmin_test_token

Pattern match medium

Python urllib.request — network access

SKILL.md · code · urllib.request

Pattern match medium

subprocess execution — runs system commands from Python

scripts/plan_engine.py · prose · downgraded · subprocess.run(

Pattern match medium

os.system/popen — direct OS command execution

scripts/tp_sync.py · prose · downgraded · os.popen(

Pattern match low

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
Check another skill Browse the registry Auditing your own skills or configs? Use the API