tweetsave_get_thread
on https://mcp.tweetsave.org/mcp
Severity
2 findings on this tool
- mediumunconstrained inputf-r1-tweetsave_get_thread
Tool `tweetsave_get_thread` accepts unconstrained string input
The following string parameter(s) have no `maxLength` constraint: `response_format`, `url`. Unbounded strings let an attacker stuff arbitrary payloads through the tool, including indirect-injection content.
fix: Add a `maxLength` to each string property, or constrain with an `enum` or `pattern`. Most legitimate tool inputs fit under a few hundred bytes.
OWASP LLM01NIST MEASURE-2.3ATLAS T0051 - mediumindirect injectionf-r6-tweetsave_get_thread
Tool `tweetsave_get_thread` fetches external web content -- indirect-injection surface
Description: "Fetch a tweet thread (multiple connected tweets by the same author). Note: Current implementation fetches the main tweet. Full thread crawling requires additional API access. Args: - url (string): URL or ID of any tweet in the thread - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: Array of tweets in the thread with all content and media. Examples: - "Get the full thread from this tweet: https://x.com/user/status/123"" -- this tool pulls externally-controlled content into the agent's context window, the canonical indirect-injection vector. Even when the user supplies the URL, content at that URL can carry hostile instructions.
fix: Sandbox the fetched content: strip prompts before forwarding to the model, constrain to an allow-list of domains, and route through capframe-guard with a `domain in [...]` caveat.
OWASP LLM01NIST MEASURE-2.3ATLAS T0051
About this tool
tweetsave_get_thread is one of 5 tools exposed by TweetSave MCP. The server scored 84/100 overall against the capframe rule engine (source: http). Last scanned 2026-06-05.
The findings above are emitted by the public capframe.findings.v1 schema. Disagree with one? Open an issue.