T09 · Insecure Skill Coding Practices
- Location
scripts/queue.js:55- Finding
Scheduled Platform Credentials Are Persisted in Plaintext
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but scheduled posts store reusable social-media credentials in a local plaintext queue, so users should review it before installing.
Use this only with dedicated, revocable, least-privilege social credentials. Keep config files and storage/queue.json out of git, backups, and shared workspaces; avoid untrusted remote media URLs; and update or replace the older dependency stack before relying on it for sensitive accounts.
scripts/queue.js:55Scheduled Platform Credentials Are Persisted in Plaintext
scripts/media.js:48Unrestricted Remote Media Retrieval Enables SSRF and Memory Exhaustion
form-data 2.3.3 is present transitively under request and carries both CRLF injection and unsafe boundary-generation advisories. Because this older version is tied to an unmaintained HTTP stack and may be used for multipart uploads, exploitation could enable request smuggling/corruption or make multipart boundaries guessable in sensitive integrations.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. Discord ✅ Webhooks + rich embeds
2. Reddit ✅ OAuth2, posts & comments
3. Twitter/X ✅ OAuth 1.0a tweets
4. Mastodon ✅ Access token, any instance
5. Bluesky ✅ AT Protocol
6. Moltbook ⭐ AI-only social network (JUST SHIPPED!)
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. Discord ✅ Webhooks + rich embeds
2. Reddit ✅ OAuth2, posts & comments
3. Twitter/X ✅ OAuth 1.0a tweets
4. Mastodon ✅ Access token, any instance
5. Bluesky ✅ AT Protocol
6. Moltbook ⭐ AI-only social network (JUST SHIPPED!)
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
### "Access token invalid"
Regenerate your access tokens from the platform's developer portal.
## Testing
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00"
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
Referenced artifact was not completely inspected
node scripts/thread.js twitter config.json \
brace-expansion 1.1.12 is present and multiple advisories describe denial-of-service through crafted brace patterns that trigger exponential expansion or hangs. Even though this is transitive, packages that process attacker-influenced glob or pattern input can be forced into excessive CPU or memory consumption.
Package name closely resembles a popular package, suggesting possible typosquatting. Attackers publish malicious packages with similar names to trick developers into installing them.
form-data 4.0.5 is flagged for CRLF injection via unescaped multipart field names/filenames. In a social scheduler that likely uploads media or posts to APIs, attacker-controlled multipart metadata could corrupt outbound HTTP requests or inject unintended headers/body parts if exposed through user input.
Dependency has known vulnerabilities (CVEs). Using packages with unpatched security flaws exposes the environment to known exploits.
Detected: suspicious.exposed_secret_literal