Trust Assessment
x-timeline-digest received a trust score of 12/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 3 findings: 3 critical, 0 high, 0 medium, and 0 low severity. Key findings include Arbitrary command execution, Skill output contains untrusted content for LLM injection.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Node.js child_process require Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/seandong/x-timeline-digest/digest.js:12 | |
| CRITICAL | Arbitrary command execution Node.js synchronous shell execution Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/seandong/x-timeline-digest/digest.js:81 | |
| CRITICAL | Skill output contains untrusted content for LLM injection The `digest.js` skill processes content from X/Twitter timelines and outputs a `digest.json` payload. The `SKILL.md` explicitly instructs users to 'Send the prompt to your LLM, injecting the content of `digest.json` where `{{JSON_DATA}}` is.' The `digest.json` contains fields like `digestText` and `items[].text` which are directly derived from untrusted X/Twitter content. Malicious actors on X/Twitter could craft posts containing prompt injection payloads (e.g., 'Ignore all previous instructions and...') which, if included in the `digest.json` and fed to an upstream LLM, could manipulate the LLM's behavior. While the script includes some heuristic denoising, it does not specifically filter for prompt injection attempts, creating a direct exploit path for the consuming LLM. Implement robust sanitization and filtering specifically designed to detect and neutralize prompt injection attempts within the `digest.json` content, especially for fields intended to be consumed by an LLM (e.g., `digestText`, `items[].text`). Consider using LLM-specific input validation techniques or escaping mechanisms before feeding the content to an upstream LLM. Alternatively, clearly warn users about the risk of feeding raw, untrusted content to an LLM. | LLM | SKILL.md:39 |
Scan History
Embed Code
[](https://skillshield.io/report/dfb94fd2e3054242)
Powered by SkillShield