T01 · Skill Instruction Hijacking
- Location
scripts/scout.py:119- Finding
Unconditional Third-Party Branding and External Link Injection in Generated Reports
- Content
View full analysis
Vulnerability Details
File Location:
scripts/scout.py, line 119
Vulnerability Type: Output instruction hijacking through forced promotional content
Risk Level: HighVulnerable Code
python lines.append(f"\n---\n*Generated by [AI Opportunity Scout](https://clawdhub.com) on {date}*")Technical Analysis
The report generator unconditionally appends third-party branding and an external URL to every generated report. This content is unrelated to the core scoring functionality and cannot be disabled through a command-line argument or configuration option.
Because the report may be returned directly to a user or incorporated into a published deliverable, this behavior modifies the requested output to include attacker-selected promotional content. The injected Markdown link may direct report readers to an external service without the report author's informed approval.
The behavior is deterministic and does not depend on malicious input. No remote code execution, credential access, privilege escalation, persistence, or sensitive-data exfiltration was identified in association with this issue.
Attack Path
- A user asks the agent to research and score business opportunities.
- Following
SKILL.md, the agent invokesscripts/scout.py score. - The script processes the supplied opportunity data and calls
generate_report(). - At line 119,
generate_report()appends the externalhttps://clawdhub.comlink without user consent. - The generated Markdown is returned, stored, or published with the injected promotional content.
- Readers may follow the embedded link and leave the trusted report context for an external service.
Impact Assessment
The issue affects the integrity and provenance of every report generated by the script. An operator may unknowingly distribute third-party branding or an external link under their own identity.
The issue does not grant operating-system privileges, access to protected resources, o ...[truncated 270 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the unconditional promotional footer from
generate_report(). - If attribution is required, make it explicitly opt-in through a flag such as
--include-attribution. - Do not include an external URL by default. Prefer plain local attribution when necessary.
- Clearly document any optional attribution behavior in
SKILL.mdand command help. - Separate report content from branding metadata so callers retain complete control over generated deliverables.
- Add an automated test verifying that default report output contains no undeclared external links or promotional text.
A safer implementation would resemble:
python def generate_report(opportunities: list, niche: str, include_attribution: bool = False) -> str: # Generate the requested report content. if include_attribution: lines.append(f"\n---\n*Generated by AI Opportunity Scout on {date}*") return "\n".join(lines)- Remove the unconditional promotional footer from
