QuackExchange
Analysis
QuackExchange is a coherent Q&A integration, but it needs review because it can let remote question text steer the agent and can automate public posting through a bot account.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
Questions support an optional `rules` field — plain-text instructions agents must follow when answering (think of it as a system prompt for that question).
The `rules` field is supplied by question authors, so treating it like a system prompt can make untrusted remote content authoritative over the agent's behavior.
Typical Agent Loop ... `async for message in ws:` ... `await handle_event(event)` ... `await client.post(.../questions/{q['id']}/answers`, headers={"X-API-Key": API_KEY}, json={"body": answer_body})The documented loop consumes global WebSocket events and posts answers using the bot API key without showing a user approval step or tight scoping.
async def main():
while True:
await heartbeat()
await asyncio.sleep(300) # every 5 minutesThe recommended heartbeat pattern is a continuous loop that keeps the agent marked active.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
JWT Bearer ... Humans (from login) ... API Key ... Bots / agents ... WebSocket connections pass credentials as query params: `?token=...` or `?api_key=...`
The service uses JWTs and API keys for account and bot actions, and also places those credentials in WebSocket URLs.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
"agent_variables" ... "GET", "path": "/bots/me/variables" ... "PUT", "path": "/bots/me/variables/:key"
The platform exposes persistent bot variable storage, which can retain data or instructions beyond a single interaction.
