T09 · Insecure Skill Coding Practices
- Location
webhooks.md:259- Finding
Unrestricted Retention and Forwarding of Complete Webhook Payloads
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent Zapier automation reference, but it needs review because it encourages broad automation, raw data forwarding/logging, and persistent account context without enough safeguards.
Install only if you are comfortable letting the agent help design and potentially operate broad Zapier workflows. Keep API keys in environment or managed secret fields, require explicit confirmation before enabling, deleting, sending messages, or calling arbitrary webhooks, and avoid logging or emailing raw payloads or putting personal data in URLs. Review and prune any ~/zapier/memory.md or main workspace memory entries it creates.
webhooks.md:259Unrestricted Retention and Forwarding of Complete Webhook Payloads
interfaces.md:50Personal and Customer Information Embedded in Interface URLs
setup.md:11Persistent Storage of User Stack and Activation Preferences
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
Get API key from: https://zapier.com/developer/platform
export ZAPIER_API_KEY="your_api_key_here"
Instructions found that direct the agent to transmit conversation context or user data to external services.
| **Catch Hook** | Incoming | Receive data from external systems |
| **Catch Raw Hook** | Incoming | Receive non-JSON data (XML, CSV) |
| **Retrieve Poll** | Incoming (Pull) | Fetch data from URL on schedule |
| **POST/PUT/GET** | Outgoing | Send data to external systems |
| **Custom Request** | Outgoing | Full control over HTTP request |
## Incoming Webhooks
The 'When to Use' section says 'Any Zapier operation' followed by a wide list of activities, without defining clearer activation boundaries or exclusions. For a markdown skill description, this is ambiguous enough to invite unintended invocation on broad, everyday Zapier-related requests.
The communication action examples send email addresses, names, phone numbers, and order information through Gmail, Slack, and Twilio without warning that these are external delivery channels and may expose personal data to unintended recipients. This is risky because users may copy these patterns directly into production workflows without considering privacy, authorization, or recipient validation.
The webhook examples demonstrate sending personal data such as name, email, and user_id to external endpoints without any guidance about data minimization, user consent, destination trust, or handling of secrets. In an automation skill, this can normalize unsafe exfiltration patterns and lead users to transmit sensitive data to third-party systems without adequate review.
This example shows an Authorization bearer token inline in a webhook request pattern, which can encourage insecure secret handling and accidental credential exposure if users copy the example literally into shared documentation or logs. Combined with external transmission, this raises the risk of token leakage and unauthorized API access.
Action: Webhooks by Zapier → POST
URL: https://api.yourapp.com/webhook
Headers:
Authorization: Bearer your_api_key
Content-Type: application/json
This custom request example again embeds an Authorization bearer token pattern alongside a user-specific external API call, which can normalize hardcoded secret usage and transmission of account-linked data to external services without review. If copied into real workflows, it can lead to credential leakage or misuse of privileged API access.
Action: Webhooks by Zapier → Custom Request
Method: PATCH
URL: https://api.yourapp.com/users/{{trigger.user_id}}
Headers:
Authorization: Bearer your_api_key
Data:
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
export ZAPIER_API_KEY="your_api_key_here"
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -H "Authorization: Bearer $ZAPIER_API_KEY"
https://api.zapier.com/v1/profile
## Profile & Account
Detected: suspicious.prompt_injection_instructions