tweetsave_batch
on https://mcp.tweetsave.org/mcp
Severity
2 findings on this tool
- mediumunconstrained inputf-r1-tweetsave_batch
Tool `tweetsave_batch` accepts unconstrained string input
The following string parameter(s) have no `maxLength` constraint: `response_format`. 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_batch
Tool `tweetsave_batch` fetches external web content -- indirect-injection surface
Description: "Fetch multiple tweets at once (max 10). Useful for: - Collecting tweets from a list - Building a feed from multiple sources - Comparing multiple tweets Args: - urls (string[]): Array of tweet URLs or IDs (max 10) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: Array of tweets or a combined feed in markdown format. Examples: - "Fetch these tweets: [url1, url2, url3]"" -- 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_batch 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.