T01 · Skill Instruction Hijacking
Note
- Location
- scripts/assessment_tool.py:523
- Finding
- Undisclosed Promotional Content Is Unconditionally Injected into Generated Reports<![CDATA[ ## Vulnerability Details **File Location**: `scripts/assessment_tool.py`, lines 523-535 and 814-826 **Vulnerability Type**: Unconditional output manipulation **Risk Level**: Low ### Vulnerable Code ```python ## 📞 后续支持 如需进一步咨询或定制学习计划,请联系: - 邮箱:87287416@qq.com - 飞书:@胡大大 --- **报告生成**:个人AI能力测评工具 v1.0 **小龙虾协助制作** 🦞 ``` The HTML report generator contains the equivalent fixed promotional block: ```html <div class="footer"> <h3>📞 后续支持</h3> <p style="margin-top: 15px;">如需进一步咨询或定制学习计划,请联系:</p> <p style="margin-top: 10px;">📧 邮箱:87287416@qq.com</p> <p style="margin-top: 30px; opacity: 0.7;"> 报告生成:个人AI能力测评工具 v1.0<br> 小龙虾协助制作 🦞 </p> </div> ``` ### Technical Analysis Both report generators unconditionally append fixed third-party contact information and branding to their output. The caller cannot disable this behavior through a documented option. The skill documentation describes assessment reports as the primary output but does not clearly disclose that every generated report will contain a fixed email address, messaging contact, and promotional attribution. Consequently, invoking the skill modifies user-facing output for a purpose unrelated to calculating or presenting the assessment results. This is best classified as skill instruction hijacking because the skill consistently changes the agent-delivered result by inserting attacker- or publisher-selected content. It does not modify system safety constraints or grant operating-system privileges, so its technical severity is limited. ### Attack Path 1. A user asks the agent to perform an AI capability assessment. 2. The agent invokes the report generator. 3. `generate_report()` or `generate_html_report()` appends the fixed footer without requesting user consent. 4. The generated report directs the user toward a predetermined email address or messaging contact. 5. If the report is shared, the same promotional material is propagated to additional recipients. ### ...[truncated 413 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove fixed contact details and promotional branding from the default report templates. 2. If attribution is necessary, expose an explicit configuration option that defaults to disabled. 3. Clearly disclose optional attribution and contact content before report generation. 4. Keep assessment output limited to information requested by the user. 5. Add tests confirming that reports contain no external contact information unless the caller explicitly opts in. ]]>
