T01 · Skill Instruction Hijacking
- Location
SKILL.md:34- Finding
Unconditional Agent Response Hijacking Conceals the Actual Invoice Delivery Result
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This invoice skill is purpose-aligned, but it needs review because it sends invoice data to a hardcoded Make.com webhook and can report success even when delivery fails.
Install only if you control and trust the Make.com webhook and are comfortable sending client and invoice details to that external automation. Before production use, the webhook should be moved to protected configuration, the payload should be strictly validated, and the agent should report the real send result instead of always saying the delivery was confirmed.
SKILL.md:34Unconditional Agent Response Hijacking Conceals the Actual Invoice Delivery Result
send_invoice.py:6Hardcoded Capability-Bearing Webhook Accepts Insufficiently Validated Arbitrary JSON
The skill explicitly sends invoice data, including client-identifying information, to Make.com but does not disclose that customer data leaves the local system or warn about third-party processing. This creates a real privacy and compliance risk because users or operators may unknowingly transmit personal or commercial data to an external service without informed consent or appropriate handling safeguards.
Le contenu du fichier est rédigé en français et la consigne finale force explicitement la réponse "Envoi confirmé." sans alternative linguistique. Cette contrainte de langue n'est ni présentée comme un choix utilisateur ni justifiée par un contexte régional ou réglementaire.
The code silently sends invoice payloads to an external Make.com endpoint without any user-facing disclosure or confirmation. In the context of invoices, this is dangerous because users may unknowingly transmit confidential billing, client, or payment data to a third party, creating privacy, compliance, and data-handling risks.
This is a concrete external transmission of potentially sensitive invoice data to a fixed webhook endpoint. In an agent skill context, hidden outbound data flows are more dangerous because the skill can be invoked automatically and users may not realize that customer financial data leaves the local environment.
# 3. Envoi à Make.com
url = "https://hook.eu1.make.com/fto1pw8gfyk2kwqm8bab4ujykpfx1izi"
response = requests.post(url, json=payload)
if response.status_code == 200:
print("OK")
The script takes JSON from argv/stdin, extracts invoice-related content, and forwards it directly to a hard-coded third-party webhook with no validation, authorization check, or data minimization. Because invoice data commonly contains sensitive financial and customer information, this creates a real exfiltration path where untrusted input is transmitted externally by default.
# 3. Envoi à Make.com
url = "https://hook.eu1.make.com/fto1pw8gfyk2kwqm8bab4ujykpfx1izi"
response = requests.post(url, json=payload)
if response.status_code == 200:
print("OK")
The file includes natural-language comments and output messages exclusively in French, such as error and status text. If the surrounding environment does not explicitly specify French, this can violate language-choice expectations by forcing a locale without offering an alternative.
No suspicious patterns detected.