twitter-openclaw
Verdict safe, but 2 findings (1 medium, 1 low), mainly data exfiltration, resource abuse. Most recent scan 2026-02-07.
The twitter-openclaw skill is a legitimate Twitter/X API wrapper with NO CRITICAL SECURITY THREATS detected. The skill appropriately delegates all Twitter API interactions to the external 'twclaw' CLI tool rather than implementing custom code, which reduces attack surface. The primary concerns are around credential management documentation (MEDIUM severity) and operational safety (unbounded fetching). No prompt injection, data exfiltration, command injection, or malicious code patterns were found. The skill's behavior matches its description and there are no deceptive elements. The missing referenced files (list.py, a.py) appear to be documentation artifacts rather than security issues.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Interact with Twitter/X — read tweets, search, post, like, retweet, and manage your timeline.
- Package
- 3 files, 17 KB
- SKILL.md
- 476 words, 12+ sections
- Code
- JavaScript (1)
- Requires
- bins:
twclaw; env:TWITTER_BEARER_TOKEN
SKILL.md covers: twitter-openclaw 🐦⬛ · Authentication · Commands · Reading · Timelines · Search · Trending · Posting · Engagement · Following · Lists · Output Options
Findings
MEDIUM Missing Credential Security Documentation Data Exfiltrationllm
The skill requires sensitive Twitter API credentials (TWITTER_BEARER_TOKEN, TWITTER_API_KEY, TWITTER_API_SECRET) but provides no guidance on secure storage, rotation, or scope limitations. Users may inadvertently expose credentials through insecure environment variable handling or overly permissive API tokens.
SKILL.md
Requires a Twitter API Bearer Token set as `TWITTER_BEARER_TOKEN`. Optionally set `TWITTER_API_KEY` and `TWITTER_API_SECRET` for write operationsLOW Unbounded Data Fetching with --all Flag Resource Abusellm
The skill supports an '--all' flag for pagination that could fetch unlimited data without user confirmation or rate limiting guidance. This could lead to API rate limit exhaustion, excessive resource consumption, or unintended costs if the Twitter API has usage-based pricing.
SKILL.md:113
--all # Fetch all pages (use with caution)What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 3.9 KB |
package.json | config | 184 B |
bin/twclaw.js | script | 13 KB |
External hosts referenced
openai.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
TWITTER_BEARER_TOKEN TWITTER_API_KEY TWITTER_API_SECRET
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/x-twitter
- Raw scan result: x-twitter-scan.json
- Badge for your README:
 - Request a re-scan