wjs-tweeting-from-articles

Warn

Audited by Gen Agent Trust Hub on Sep 18, 2026

Risk Level: MEDIUMPERSISTENCEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
  • [PERSISTENCE]: The skill establishes multiple persistence mechanisms to ensure it runs automatically. The setup.sh script installs a macOS launchd agent by creating a property list file at ~/Library/LaunchAgents/com.jianshuo.wjs-tweeting-from-articles.plist, which triggers the daily.sh script every morning at 09:00. Additionally, the SKILL.md file provides instructions and commands to append a cron job to the user's crontab for periodic queue processing.
  • [INDIRECT_PROMPT_INJECTION]: The skill is vulnerable to indirect prompt injection as it incorporates content from external article files directly into a large language model prompt.
  • Ingestion points: In daily.sh, the skill reads the content of article.md from directories within ~/code/wechat-publish/articles/ or a local mirror directory.
  • Boundary markers: The article content is interpolated into a heredoc prompt for the claude CLI without any delimiters, escape characters, or instructions to ignore embedded commands.
  • Capability inventory: The skill has the capability to perform network operations (via the xurl tool to post to X/Twitter) and write data to the local filesystem (via jq appending to history.jsonl).
  • Sanitization: There is no evidence of sanitization, validation, or filtering of the article content before it is processed by the model.
  • [COMMAND_EXECUTION]: The skill relies on the execution of several shell scripts and system binaries to perform its tasks. It executes scripts/pick-next-article.sh, daily.sh, and scripts/mirror-articles.py. It also makes frequent use of the xurl utility for network requests, jq for JSON processing, and the claude CLI for text generation.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 18, 2026, 07:14 AM