T08 · Insecure Dependencies
- Location
references/sdk-guide.md:10- Finding
Unpinned Third-Party Packages and Skill Content
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a legitimate Sendivent API reference, but it exposes production messaging, deletion, and webhook-secret workflows without enough safeguards.
Review this skill before installing if you will use it with production credentials. Prefer sandbox keys, pin install/package versions, avoid logging webhook signing secrets, and require explicit confirmation plus a lookup/read-back step before deleting contacts, removing push tokens, deleting webhooks, or sending real notifications.
references/sdk-guide.md:10Unpinned Third-Party Packages and Skill Content
references/sdk-guide.md:258Webhook Signing Secret Exposed Through Process Logs
DELETE /v1/contacts/{identifier} is a destructive endpoint that accepts a flexible identifier and is presented without guardrails such as confirmation, validation constraints, or safer lookup patterns. In an agent workflow, ambiguous or attacker-influenced parameters could cause deletion of the wrong contact or intentional removal of records, resulting in irreversible data loss.
### Delete contact
`DELETE /v1/contacts/{identifier}`
Hard delete (GDPR compliant). Returns `{ "success": true, "deleted": true }`.
DELETE /v1/contacts/{identifier}/push-tokens removes a device token based on a user-supplied identifier and token value, with no documented validation or confirmation safeguards. In agent use, parameter confusion or malicious prompting could unregister the wrong device, causing message delivery disruption or denial of service for push notifications.
`POST /v1/contacts/{identifier}/push-tokens` — Register token: `{ "token": "ExponentPushToken[...]" }`
`DELETE /v1/contacts/{identifier}/push-tokens` — Remove token: `{ "token": "..." }`
---
DELETE /v1/webhooks/{uuid} removes webhook configuration and is exposed in a skill that may be driven by natural-language requests, yet the documentation provides no warning, approval step, or operational safeguards. Deleting a webhook can silently disable delivery-status monitoring and downstream automations, creating significant integrity and availability impact.
- `GET /v1/webhooks` — Get webhook config
- `PATCH /v1/webhooks/{uuid}` — Update (url, enabled_events, is_active)
- `DELETE /v1/webhooks/{uuid}` — Remove webhook
### Payload format
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
Update existing contact. Only provided fields are changed.
### DELETE /v1/contacts/{identifier}
Hard delete (GDPR). Returns `{ "success": true, "deleted": true }`.
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
Body: `{ "token": "ExponentPushToken[...]" }`
### DELETE /v1/contacts/{identifier}/push-tokens
Body: `{ "token": "..." }`
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
Update: `url`, `enabled_events`, `is_active`, `description`.
### DELETE /v1/webhooks/{uuid}
Soft delete webhook endpoint.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
The trigger list includes broad phrases like 'notification api' and 'sendivent api' that could cause the skill to activate for generic notification-related requests rather than explicit user intent to use this product. Over-broad invocation increases the chance the agent routes sensitive messaging, contact, or webhook tasks to this skill unexpectedly, which is especially risky because the skill exposes outbound communication and deletion operations.
The skill enables outbound multi-channel messaging using contact identifiers, payload data, and third-party providers, but does not explicitly warn that personal data may be transmitted to external services such as email, SMS, Slack, WhatsApp, or Telegram providers. This omission can lead users or agents to disclose PII without sufficient awareness, consent, or data-handling controls.
The skill documents hard deletion of contacts and mentions GDPR compliance, but does not prominently warn that the operation is permanent and may remove user data irreversibly. In an agent setting, omission of an explicit destructive-action warning raises the risk of accidental deletion through automation or ambiguous user requests.
The markdown documents a DELETE /v1/contacts/{identifier} endpoint as a hard delete under GDPR, which is a destructive and potentially irreversible operation affecting user data. There is no accompanying warning about permanence, recovery limitations, or the need for caution before use.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Webhooks are managed via the REST API. Use fetch or any HTTP client:
const response = await fetch("https://api.sendivent.com/v1/webhooks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.SENDIVENT_API_KEY}`,
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Webhooks are managed via the REST API. Use fetch or any HTTP client:
const response = await fetch("https://api.sendivent.com/v1/webhooks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.SENDIVENT_API_KEY}`,
The example prints data.webhook.signing_secret and tells the reader to save it, but does not warn that this value is a secret that must be stored securely and never logged or exposed. In documentation, this omission can lead developers to copy insecure handling patterns, causing webhook verification secrets to leak and enabling forged webhook delivery events.
The GET /v1/deliveries/{uuid}/trace endpoint is described as returning a full delivery trace with content snapshot, which may expose message contents or other sensitive delivery metadata. The documentation does not warn users that this endpoint can reveal potentially sensitive notification content and should be handled accordingly.
No suspicious patterns detected.