T01 · Skill Instruction Hijacking
- Location
scripts/fetch_papers.py:83- Finding
Untrusted Paper Metadata Can Inject Instructions into the Agent Workflow
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill fetches public paper metadata, asks the agent to recommend a paper, and keeps a small local record of pushed paper IDs; the behavior is disclosed and proportionate, with a prompt-injection caution for untrusted paper text.
Before installing, be aware that the skill contacts OpenReview and arXiv, reads public paper metadata into the agent context, and updates data/pushed.json to avoid repeats. It is reasonable to install for this workflow, but users should add or follow a rule that paper titles, abstracts, authors, and URLs are untrusted content and should not be treated as instructions.
scripts/fetch_papers.py:83Untrusted Paper Metadata Can Inject Instructions into the Agent Workflow
声明描述的是一个面向论文检索、筛选与推荐的技能,重点在于发现和挑选最新论文;而实际代码只是一个本地维护脚本,把给定的 paper_id 追加到 pushed.json 里,避免重复推送。它既不访问论文数据源,也不进行任何检索、排序、推荐或强化学习/Agent 方向分析。虽然“用于后续推送”与“标记已推送”在工作流上有关联,但该代码块本身的主要目的与声明的核心能力明显不一致,因此应判定为描述与行为不匹配。
The skill invokes network access to fetch papers and writes local state to data/pushed.json, but it declares no permissions or allowed-tools scope. This creates an under-specified trust boundary: an agent may be granted broader file or network capabilities than users expect, increasing the risk of unintended external requests or local file modification.
The manifest description is written as a directive in Chinese and the rest of the skill content consistently specifies behavior and outputs in Chinese, with no indication that users may choose another language. This creates a locale/language policy concern because the skill appears to assume a fixed language without user opt-in or documented regional justification.
The skill instructs the agent to append IDs to data/pushed.json and even create the file if missing, without clearly warning the user that local files will be modified. Hidden state changes can affect reproducibility, surprise users, and become dangerous when chained in automated pipelines because the agent silently persists data across runs.
The manifest describes a skill for finding, filtering, or recommending recent papers for later reading or pushing, but this script mutates local state by creating and updating data/pushed.json. Persistently marking items as already pushed is a state-management behavior not reflected in the manifest’s stated functionality.
The module docstring describes the skill entirely in Chinese, indicating a fixed language presentation for the skill's user-facing description. There is no indication of user opt-in, language selection, or a documented region-specific reason for restricting the skill to Chinese.