T08 · Insecure Dependencies
- Location
SKILL.md:58- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a disclosed Twitter/X automation skill with real account impact, but its sensitive behavior is mostly purpose-aligned and visible to the user.
Install only for an account where you are comfortable giving an agent read/write Twitter/X authority. Keep `MODE.md` in DRAFT for new or sensitive accounts, review queue entries before running `queue`, avoid cron posting until you trust the workflow, and consider pinning Tweepy in a virtual environment.
SKILL.md:58Unpinned Third-Party Dependency Installation
The documented behavior does not fully match the actions exposed by the skill, including destructive operations like tweet deletion and additional read capabilities. Description-behavior mismatches are dangerous because reviewers may authorize the skill for benign posting while overlooking higher-risk capabilities that can damage an account or leak information.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### 1. Get API Keys
1. Go to [developer.x.com](https://developer.x.com) → create a project + app
2. Set app permissions to **Read and Write**
3. Generate: API Key, API Secret, Access Token, Access Token Secret
4. Generate Bearer Token: `curl -u "API_KEY:API_SECRET" -d "grant_type=client_credentials" "https://api.twitter.com/oauth2/token"`
### 2. Set Environment Variables
The skill requests or implies access to environment secrets and writable files, and can perform real-world posting actions, but it does not declare an explicit tool/permission scope. That makes the skill harder to sandbox and review, increasing the chance that an agent can access credentials or modify files beyond what operators expect.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -u "API_KEY:API_SECRET" -d "grant_type=client_credentials" "https://api.twitter.com/oauth2/token"Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -u "API_KEY:API_SECRET" -d "grant_type=client_credentials" "https://api.twitter.com/oauth2/token"Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
### Auto Mode (for established accounts)
Agent posts directly. Use guardrails:
- No controversial topics without approval
- No tagging accounts with >100k followers without approval
- Keep a log of everything posted
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
### Auto Mode (for established accounts)
Agent posts directly. Use guardrails:
- No controversial topics without approval
- No tagging accounts with >100k followers without approval
- Keep a log of everything posted
The delete command immediately deletes a tweet by ID without any confirmation or safeguard. In an automation context, a bad argument, model error, or malicious instruction could irreversibly remove legitimate content and cause operational or reputational damage.
The queue command will automatically publish the first unchecked item in twitter/queue.md with no confirmation, dry-run, or mode enforcement. In a Twitter automation skill, this is materially risky because any upstream agent mistake, prompt injection into the queue file, or accidental draft entry can become a public post immediately.
No suspicious patterns detected.