Caveat verdict
twitter-dance
Accesses credentials AND writes files
Automates Twitter posting via the apidance.pro API using user-supplied APIDANCE_API_KEY and TWITTER_AUTH_TOKEN; social media automation matching the stated tweet publishing purpose with no exfiltration behavior.
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.
What it does
These are capability combinations: each listed behavior occurs in the skill, but Caveat detects co-occurrence — it does not verify that one flows into another. Read the code to confirm a live chain.
Accesses credentials AND writes files — may persist stolen credentials locally
LLM02 · LLM06 · ASI03
Permission integrity
file_read+write
credential_access
Findings (9)
Possible hardcoded credential
FEATURES.md · code · API_KEY="your-api-key
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
node_modules/dotenv/README.md · code · curl -fsS https://dotenvx.sh/ | sh
Pipe to sh — executes piped content as shell commands
node_modules/dotenv/README.md · code · | sh
Accesses process.env — reads environment variables
SKILL.md · code
Accesses sensitive environment variables
SKILL.md · code · process.env.APIDANCE_API_KEY
Uses exec() — may execute shell commands
node_modules/dotenv/lib/main.js · prose · downgraded · exec(
Contains shortened/invite URL
SKILL.md · code · t.me/shingle
Opens WebSocket connection
IMPROVEMENT_SUMMARY_v2.1.md · prose · downgraded · WebSocket
Node http/https module — low-level network access
scripts/get-comments-graphql.js · prose · downgraded · require('https')
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/B). 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.
credential_accessfile_write Thanks — recorded.