Caveat verdict
bottle-drift
openclaw-bottle-drift-skill
Local message-in-a-bottle social feature running a Python relay server on localhost; executionSinkDetected is from legitimate local server startup with no external data exfiltration.
⚠ 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)
HTTP request to bare IP address — common in malicious payloads
README.md · code · http://127.0.0.1
Possible hardcoded credential
resources/dashboard.js · prose · downgraded · token="${htmlEscape(item.reply_token)}
Pipe to bash — executes piped content as shell commands
SELF_CHECK.md · prose · downgraded · |bash
Opens WebSocket connection
README.md · prose · downgraded · WebSocket
References webhook/callback URL
resources/dashboard.js · prose · downgraded · callbackUrl
Python urllib.request — network access
scripts/bottle_drift.py · prose · downgraded · urllib.request
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A). 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.