T08 · Insecure Dependencies
- Location
README.md:10- Finding
Unpinned Third-Party Installer and Skill Source
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a purpose-aligned coloring-page generator that uses a disclosed third-party AI API, with ordinary privacy, token-handling, and install-supply-chain risks to consider.
Install only from a source/version you trust, prefer a pinned or verified release where available, and treat prompts, reference UUIDs, and the Neta token as data sent to a third-party service. Use a short-lived/revocable Neta token and avoid putting confidential or regulated material in prompts.
README.md:10Unpinned Third-Party Installer and Skill Source
coloringpagegenerator.js:3API Token Passed Through Process Command-Line Arguments
The README states the skill is powered by a third-party API but does not clearly warn users that their prompts, and potentially reference-image identifiers, are transmitted to an external service. This creates a privacy and data-handling risk because users may enter sensitive personal, proprietary, or regulated content assuming local processing.
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.
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 phrase "Use when someone asks to generate or create coloring page generator images" is loosely worded and does not define clear trigger boundaries. Terms like "generate" or "create" are common in everyday requests and the file provides no negative examples or constraints to distinguish when this skill should or should not activate.
The install command uses npx skills add blammectrappora/coloring-page-generator without pinning a specific package version. This can cause users to fetch and execute whatever version is current at install time, increasing supply-chain risk if the upstream package is later compromised or changed maliciously.
This code sends the user-supplied token in the x-token header to a remote API, which is a sensitive credential transmission. While the script requires the token argument, there is no comment, docstring, or user-facing notice explaining that the token and prompt will be sent to external services.
The script packages the prompt into rawPrompt and posts it to an external endpoint for processing. Although this is part of the tool's function, there is no explicit disclosure in the file that user-provided content leaves the local system and is sent to a third-party service.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
};
}
const makeRes = await request('POST', 'https://api.talesofai.com/v3/make_image', body);
let taskUuid;
if (typeof makeRes === 'string') {
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
};
}
const makeRes = await request('POST', 'https://api.talesofai.com/v3/make_image', body);
let taskUuid;
if (typeof makeRes === 'string') {
No suspicious patterns detected.