x-api
2 findings (1 high, 1 medium), mainly data exfiltration, unauthorized tool use. Most recent scan 2026-02-07.
The x-api skill presents MODERATE security risks primarily related to credential management and supply chain security. The skill's core functionality (posting to X/Twitter via official API) is legitimate, but the implementation guidance creates significant credential exposure risks through plaintext storage and unsecured environment variables. The external npm dependency without version pinning introduces supply chain vulnerabilities. No prompt injection, data exfiltration, or malicious code patterns were detected in the instructions. The skill would benefit from secure credential storage recommendations, dependency pinning, and better error handling guidance. Missing optional metadata fields reduce transparency but don't pose security threats.
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
Post to X (Twitter) using the official API with OAuth 1.0a. Use when you need to tweet, post updates, or publish content. Bypasses rate limits and bot detection that affect cookie-based approaches like bird CLI.
- Package
- 4 files, 7.0 KB
- SKILL.md
- 288 words, 10 sections
- Code
- JavaScript (1)
SKILL.md covers: x-api 🐦 · When to Use · Setup · 1. Get API Credentials · 2. Configure Credentials · 3. Install Dependency · Post a Tweet · Limits · Reading (use bird) · Troubleshooting
Findings
HIGH Hardcoded Credential Storage in Plaintext Configuration File Data Exfiltrationllm
The skill instructs users to store sensitive X/Twitter API credentials (API keys, secrets, access tokens) in a plaintext JSON file at ~/.clawdbot/secrets/x-api.json without encryption or secure storage mechanisms. This creates a significant data exposure risk as these credentials provide full read-write access to the user's X/Twitter account.
SKILL.md
Config file at ~/.clawdbot/secrets/x-api.json containing consumerKey, consumerSecret, accessToken, accessTokenSecret in plaintext JSON formatMEDIUM External Dependency Without Integrity Verification Unauthorized Tool Usellm
The skill requires installing 'twitter-api-v2' npm package globally without version pinning, integrity checks, or provenance verification. This creates supply chain risks including package substitution, typosquatting, or malicious updates. Global installation also affects the entire system rather than being isolated to the skill.
SKILL.md
npm install -g twitter-api-v2 without version specification or integrity hashWhat is in the package
| File | Kind | Size |
|---|---|---|
README.md | doc | 2.3 KB |
SKILL.md | doc | 2.3 KB |
scripts/package.json | config | 129 B |
scripts/x-post.mjs | script | 2.2 KB |
External hosts referenced
developer.x.com github.com x.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
X_ACCESS_TOKEN X_API_KEY X_ACCESS_SECRET X_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-api
- Raw scan result: x-api-scan.json
- Badge for your README:
 - Request a re-scan