Back to skill

Security audit

Sticker Pack Skill

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small, user-run image generator that sends a prompt and Neta token to the documented Neta/TalesOfAI image API and returns an image URL.

Install only if you are comfortable sending sticker prompts, optional reference IDs, and a Neta API token to api.talesofai.com. Use a limited-purpose token where possible and avoid putting sensitive prompts or reusable tokens in shared terminals, logs, or shell history.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill invokes a script that sends user prompts and an API token to an external Neta service, which is a network capability, but the manifest declares only `tools: Bash` and does not explicitly disclose or permission that network use. This creates a transparency and trust problem: users may supply prompts, reference IDs, and tokens without clear notice that data will leave the local environment and be transmitted to a third party.

Description-Behavior Mismatch

Medium
Confidence
98% confidence
Finding
The skill metadata claims it uses the Neta AI API, but the implementation sends prompts and the provided token to different domains under talesofai.com. This mismatch is security-relevant because users may disclose credentials and content under false assumptions about the recipient service, creating a trust-boundary violation and possible credential exfiltration to an unexpected third party.

External Transmission

Medium
Category
Data Exfiltration
Content
async function main() {
  // Submit the image generation task
  const createRes = await fetch("https://api.talesofai.com/v3/make_image", {
    method: "POST",
    headers,
    body: JSON.stringify(body),
Confidence
93% confidence
Finding
This request transmits user-supplied prompt data and the x-token credential to an external service. External transmission is expected for an image-generation skill, but in this case it is dangerous because the destination conflicts with the stated API provider, so sensitive inputs and credentials are sent off-platform to an unexpected endpoint.

External Transmission

Medium
Category
Data Exfiltration
Content
async function main() {
  // Submit the image generation task
  const createRes = await fetch("https://api.talesofai.com/v3/make_image", {
    method: "POST",
    headers,
    body: JSON.stringify(body),
Confidence
93% confidence
Finding
This request transmits user-supplied prompt data and the x-token credential to an external service. External transmission is expected for an image-generation skill, but in this case it is dangerous because the destination conflicts with the stated API provider, so sensitive inputs and credentials are sent off-platform to an unexpected endpoint.

External Transmission

Medium
Category
Data Exfiltration
Content
await new Promise((resolve) => setTimeout(resolve, 2000));

    const pollRes = await fetch(
      `https://api.talesofai.com/v1/artifact/task/${taskUuid}`,
      { headers }
    );
Confidence
89% confidence
Finding
The polling request repeatedly contacts the same unexpected external service using the authentication header, extending exposure of the token and confirming task identifiers to that provider. While polling is functionally normal for async jobs, it compounds the undisclosed third-party communication and broadens the amount of metadata leaked externally.

Static analysis

No suspicious patterns detected.