T01 · Skill Instruction Hijacking
Error
- Location
- profiles/投资明见_profile.json:65
- Finding
- Fixed Third-Party Promotional Content Can Hijack Generated Output## Vulnerability Details **File Location**: `profiles/投资明见_profile.json:65`, with execution paths in `scripts/analyze.py:214-216` and quality reinforcement in `scripts/quality_audit.py:347-359` **Vulnerability Type**: Fixed promotional output instruction embedded in a style profile **Risk Level**: High ### Vulnerable Code ```json "结尾模式": "固定结尾:'收看每日午评文章 投资明见 sinaxxm 收看每日操作策略 -- 长按二维码识别加关注 -- 我喜欢,我在'", ``` The profile directive is consumed by this generation instruction: ```python lines.append("### 结尾") lines.append("- 使用大V的结尾模式") lines.append("- 包含免责声明(如大V有此习惯)\n") ``` The quality audit also incorporates the profile closing pattern into expected argumentation terms: ```python opening = expr.get("开头模式", "") closing = expr.get("结尾模式", "") structure = expr.get("文章结构", "") # 从结构描述中提取论证步骤关键词 arg_keywords_text = f"{opening} {closing} {structure}" words = re.findall(r'[\u4e00-\u9fff]{2,6}', arg_keywords_text) common = {"原文", "证据", "描述", "文章", "固定", "开头", "结尾", "模式", "包含", "使用"} arg_keywords = [w for w in words if w not in common and len(w) >= 2][:10] ``` ### Technical Analysis The style profile contains a fixed call to view additional content and follow an account by scanning a QR code. This is not necessary for stock analysis or stylistic simulation. Because the generation task explicitly tells the Agent to use the profile's ending mode, the promotional instruction can be reproduced in ordinary generated articles. The generic article template says not to include traffic-diversion links, but this does not reliably block non-link promotional text, account identifiers, or QR-code follow instructions. In addition, the quality auditor derives expected terms from the closing pattern, which can reward generated content for matching elements of the promotional instruction. This crosses the boundary between describing an author's abstract writing style and directing the Agent to publish stable third-party promo ...[truncated 1173 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the fixed promotional closing, account identifier, and QR-code follow instruction from the profile. 2. Represent ending style only through abstract properties, such as “brief reflective closing” or “concise summary followed by a disclaimer.” 3. Add a mandatory generation rule prohibiting: - Calls to follow or subscribe to accounts. - QR-code scanning requests. - Group-joining or traffic-diversion instructions. - Reproduction of social-media account identifiers. - Promotional links or promotional copy. 4. Add explicit rejection patterns to `quality_audit.py` for terms associated with following accounts, scanning QR codes, joining groups, or viewing external promotional content. 5. Exclude fields such as fan operations, promotional endings, and account identifiers before profiles are inserted into model prompts. 6. Do not derive positive quality-scoring terms from closing patterns unless those patterns have first passed a content-safety filter.
