Back to skill

Security audit

twitter-bookmarks-exporter

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it says: it converts a user-provided local Twitter/X bookmarks export into local Markdown files, with no evidence of hidden network access, credential theft, persistence, or destructive behavior.

Install only if you are comfortable creating a local archive of your Twitter/X bookmarks. Store bookmarks.json and the generated output in a private folder, avoid committing or syncing them unintentionally, and delete the raw captured JSON when you no longer need it.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README instructs users to export their entire private X/Twitter bookmarks dataset into local files, but provides no warning that bookmarks may contain sensitive personal interests, private research topics, or other confidential material. This is a real security/privacy issue because users may unknowingly create an unencrypted, easily copied local archive of private content and metadata.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding

The skill performs file read/write operations but does not declare any explicit tool scope or permission boundaries. That omission can cause an agent or user to execute the skill with broader filesystem access than intended, increasing the chance of unintended reads, overwrites, or misuse if the implementation is modified or invoked in a permissive environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill instructs users to export and persist bookmark data locally without warning that bookmarks may contain sensitive personal interests, account metadata, URLs, and engagement details. Users may unknowingly create a durable, searchable local archive of private content, which raises privacy and data-handling risk on shared or synced systems.

Content

No source excerpt is available for this finding.

Unbounded Output

Medium
Category
Output Handling
Confidence
60% confidence
Finding

Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Content

Scanner excerpt · README.md (reported line 120)May include surrounding context.

md
4. Saves files to `output/bookmarks/` folder, named sequentially like `0001-title.md`.
5. Extracts full content for all tweet types:
   - **Regular tweets** — full text, t.co URLs expanded to real URLs
   - **Note tweets** — complete long-form text (no truncation)
   - **X Articles** — title + preview text + article link
6. Includes quoted tweets as blockquotes, media image/video links, and engagement stats.

Unbounded Output

Medium
Category
Output Handling
Confidence
60% confidence
Finding

Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Content

Scanner excerpt · SKILL.md (reported line 30)May include surrounding context.

md
4. Saves files to `output/bookmarks/` folder, named sequentially like `0001-title.md`.
5. Extracts full content for all tweet types:
   - **Regular tweets** — full text, t.co URLs expanded to real URLs
   - **Note tweets** — complete long-form text (no truncation)
   - **X Articles** — title + preview text + article link
6. Includes quoted tweets as blockquotes, media image/video links, and engagement stats.

Unbounded Output

Medium
Category
Output Handling
Confidence
60% confidence
Finding

Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

Content

Scanner excerpt · twitter-bookmarks-exporter.skill!/SKILL.md (reported line 30)May include surrounding context.

md
4. Saves files to `output/bookmarks/` folder, named sequentially like `0001-title.md`.
5. Extracts full content for all tweet types:
   - **Regular tweets** — full text, t.co URLs expanded to real URLs
   - **Note tweets** — complete long-form text (no truncation)
   - **X Articles** — title + preview text + article link
6. Includes quoted tweets as blockquotes, media image/video links, and engagement stats.