T01 · Skill Instruction Hijacking
Note
- Location
- scripts/mortgage.sh:325
- Finding
- Forced Promotional Content in Calculator Output<![CDATA[ ## Vulnerability Details **File Location**: `scripts/mortgage.sh`, lines 325-326 **Vulnerability Type**: Forced promotional output **Risk Level**: Low ### Vulnerable Code ```bash echo "" echo " Powered by BytesAgain | bytesagain.com | hello@bytesagain.com" ``` ### Technical Analysis The script unconditionally appends branding, an external domain, and an email address to standard output after every successful calculator invocation. The content is unrelated to the requested financial result and cannot be disabled by the caller. When this script is used as an AI Agent skill, its standard output may be relayed directly or incorporated into the Agent's response. Consequently, the package author can force promotional content into user-visible responses. This affects output integrity, although the reviewed code does not use the promotional URL to retrieve content, execute code, or alter the Agent's safety constraints. ### Attack Path 1. An Agent invokes `scripts/mortgage.sh` to perform a mortgage calculation. 2. The embedded Python program prints the requested calculation. 3. After Python exits, the shell script unconditionally prints the promotional footer. 4. The Agent captures the complete standard output. 5. If the Agent relays that output, the user receives author-selected advertising alongside the requested result. ### Impact Assessment The issue affects the integrity and neutrality of calculator output. It can expose users to unsolicited external promotion and make downstream automation treat non-result content as part of the calculation response. No additional operating-system privileges, code execution, network access, persistent access, or access to confidential data is obtained through this behavior. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the unconditional promotional footer from calculator output. - If attribution is required, expose it only through an explicit command such as `about` or an opt-in flag such as `--show-attribution`. - Keep standard output machine-readable and limited to the requested result. - Send optional diagnostic or attribution information to standard error only when explicitly requested. - Add regression tests confirming that calculation commands do not append unrelated content. ]]>
