Back to skill

Security audit

AdKit for Pinterest Ads: Campaigns, Ad Groups, Ads and Reporting

Security checks for vulnerabilities and agentic risk

Overview

ClawScan rates the Pinterest Ads skill benign with high confidence; its full scan found one low-probability alert for a Pinterest API URL that fits the stated purpose.

The scanner completed its review of the skill’s single Markdown file and reported complete coverage; the separate AIG scan also completed with no findings. The verdict is benign, not a guarantee of zero risk. Before installing, consider whether you’re comfortable with the skill’s stated Pinterest Ads purpose and the flagged Pinterest API connection.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 79)May include surrounding context.

}

text

- `endpoint` is a path relative to `https://api.pinterest.com/v5`. It must start with `ad_accounts/<accountId>/`.
- `action` is always `mutate`, also for reads.
- `description` is required. The user sees it when they review the draft.
- `payload` holds the query fields for a `GET`, or the request body for a `POST` or `PATCH`.