Back to skill

Security audit

Pinterest

Security checks across malware telemetry and agentic risk

Overview

This Pinterest skill mostly does what it says, but it needs review because its helper script can install software at runtime and it handles account tokens and scraped media with limited guardrails.

Review before installing, especially if you will run the Python helper. Install dependencies deliberately in a controlled environment instead of relying on the script's automatic pip install. Use only read-only Pinterest scopes, protect tokens and app secrets, and send media or screenshots only when the user clearly requested that Pinterest content.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
Findings (12)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
except ImportError:
    print("Installing httpx...")
    import subprocess
    subprocess.check_call([sys.executable, "-m", "pip", "install", "httpx", "-q"])
    import httpx
Confidence
95% confidence
Finding
subprocess.check_call([sys.executable, "-m", "pip", "install", "httpx", "-q"])

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill invokes browser/network actions, references environment variables, and includes shell commands for OAuth/API access, yet declares no permissions. This creates hidden capability creep: a reviewer or orchestrator may allow the skill to run without realizing it can access network resources, environment secrets, and local command execution paths.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documented purpose is image search and sharing, but the file also instructs use of OAuth-backed API access to the user's Pinterest account, including listing boards and fetching board pins. That mismatch is dangerous because users and policy systems may approve the skill for harmless public browsing while it can also access authenticated personal account data.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
Installing a Python package at runtime is not necessary for the stated browsing function and causes unreviewed code to be fetched and executed on the host. In an agent skill context, that is risky because users or operators may not expect the tool to mutate the environment or run package-manager side effects during ordinary searches.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The skill description emphasizes searching and browsing Pinterest content, but the code also exposes commands to list the authenticated user's boards and board pins. This capability expansion increases access to private or account-scoped data beyond the apparent user-facing purpose, which can lead to over-collection or unintended disclosure if invoked by an agent.

Intent-Code Divergence

Medium
Confidence
84% confidence
Finding
The function is presented as searching pins, but it actually lists the authenticated user's own pins through the API. This misleading behavior is security-relevant because it can cause an orchestrating agent or user to believe it is querying public content while instead accessing account data tied to an OAuth token.

Vague Triggers

Medium
Confidence
78% confidence
Finding
The activation wording is broad enough to trigger on many generic requests for inspiration or images, increasing the chance the skill is selected in contexts where users did not intend Pinterest scraping or direct media transmission. Over-broad routing raises the risk of unnecessary browsing, content retrieval, and sharing of third-party material.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The skill repeatedly instructs sending fetched images and screenshots directly to the user without warning about copyright, third-party content handling, or accidental inclusion of unrelated page data in screenshots. In this context, screenshot-based sharing can expose extra on-page information, while direct retransmission of media may violate policy or user expectations.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The documentation explicitly endorses a web-scraping fallback for Pinterest search because the public API lacks that capability, but it provides no warning about terms-of-service violations, account bans, legal constraints, privacy issues, or operational risks. In a skill that fetches and sends Pinterest images to users, this increases the likelihood that implementers will deploy scraping in production without safeguards, creating compliance and abuse exposure.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The document instructs users to obtain and handle an App Secret and access tokens but does not explicitly warn that these are sensitive credentials that must not be shared, logged, or committed to source control. In setup documentation for an agent skill, that omission can lead to accidental credential disclosure and downstream account compromise.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
Telling users to export an access token as an environment variable without a warning can expose credentials through shell history, process inspection, shared terminal sessions, or accidental debugging output. While environment variables are common for local development, the lack of guidance increases the risk of inadvertent token leakage.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill silently runs pip with only a generic message, which means it performs an environment-changing subprocess without meaningful disclosure or approval. This is dangerous in agent environments because it can introduce supply-chain risk, alter host state, and surprise operators who expected a read-only Pinterest client.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.