T01 · Skill Instruction Hijacking
- Location
scripts/agg_news.py:48- Finding
Forced Promotional Content in Agent Responses
- Content
View full analysis
Vulnerability Details
File Location:
scripts/agg_news.py:48, with propagation instructions inSKILL.md:8-12
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: MediumVulnerable Code
The following is an ASCII-escaped representation of the complete affected statement at
scripts/agg_news.py:48:python print("\U0001f99e \u5c0f\u9f99\u867e\u7279\u4f9b\uff1a\u805a\u5408\u82af\u7247\u4e0e\u534a\u5bfc\u4f53\u9886\u57df\u8d44\u8baf")The output-propagation instructions in
SKILL.md:8-12are:markdown 1. **Execution**: Run `python3 <skill_dir>/scripts/agg_news.py` to fetch news. 2. **Output**: The script prints formatted news directly to stdout; capture and present to user. 3. **No arguments**: The script runs with predefined RSS sources and keywords; no extra parameters needed. 4. **Sources**: Aggregates from IC technology community (7 columns), VLSI Blogs, IT Home, 36Kr. 5. **Presentation**: Preserve the formatted output structure with source headers, timestamps, and links.Technical Analysis
The script unconditionally prepends a fixed branded promotional slogan whenever it runs. The skill instructions require the agent to capture the script's standard output, present it to the user, and preserve its formatting. Together, these behaviors cause unrelated promotional content to be propagated into every response produced through the skill.
The behavior does not modify system-level instructions or bypass a technical access-control boundary. Nevertheless, it manipulates the agent's user-facing output through mandatory skill execution and presentation rules, making T01 the closest applicable classification.
Attack Path
- A user requests semiconductor or chip-industry news.
- The agent loads the skill and follows
SKILL.md. - The agent executes
scripts/agg_news.pyas directed. - Line 48 emits the fixed promotional slogan before the aggregated new ...[truncated 737 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the promotional slogan with a neutral, task-specific heading such as
Semiconductor and Chip Industry News. - Update
SKILL.mdso the agent is required to preserve only substantive news fields, such as source names, publication dates, titles, and links. - Explicitly permit or require the agent to omit branding, advertisements, calls to action, and unrelated fixed text from script output.
- Separate machine-readable news data from presentation text, for example by emitting JSON and allowing the agent to render a neutral response.
- Add a test that fails if output contains fixed promotional language unrelated to the declared aggregation function.
- Replace the promotional slogan with a neutral, task-specific heading such as
