T08 · Insecure Dependencies
- Location
README.md:9- Finding
Unpinned Package Execution in the Documented Installation Process
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it says, but it asks users to pass an API token on the command line and documents an unpinned install command, so it should be reviewed before installation.
Install only if you are comfortable sending prompts and reference IDs to the Neta/TalesOfAI API. Avoid putting real tokens directly on the command line in shared machines, CI logs, or shell history, and prefer a pinned or reviewed install source where possible. Do not submit private manuscripts, personal data, secrets, or regulated content unless the provider's terms and retention policy are acceptable to you.
README.md:9Unpinned Package Execution in the Documented Installation Process
childrenbookillustrationgenerator.js:10API Token Exposed Through Command-Line Arguments
The README instructs users to install and run tooling via npx skills without pinning a specific version. This can cause users to execute whatever package version is current at install time, increasing supply-chain risk if the package is compromised or a breaking/malicious release is published. In a skill-distribution context, this is more dangerous because the README directly encourages copy-paste execution from a package registry.
The skill declares Bash usage and instructs users to invoke a script that requires an API token and clearly interacts with an external service, but it does not declare any tool scope or network permissions. This creates a transparency and governance gap: the agent may perform networked actions without explicit permission boundaries, making review and least-privilege enforcement harder.
The skill description and usage text do not clearly warn users that their prompts and any reference-image inputs may be sent to an external image-generation API. This is a real privacy and data-handling issue because users may submit copyrighted, personal, or sensitive creative material without informed consent about third-party processing.
The activation condition, 'Use when someone asks to generate or create children book illustration ai generator images,' is broad and ambiguous, which can cause the skill to trigger in situations the user did not clearly intend. Overbroad activation increases the chance of unnecessary external API use, token exposure in execution flow, or unintended transmission of user content to a third party.
The install command uses npx skills add blammectrappora/children-book-illustration-generator without a pinned version, so consumers may fetch whatever package version is current at install time. If the upstream package is changed, compromised, or typosquatted, users could install malicious code or altered skill behavior without notice.
The hardcoded external endpoint at api.talesofai.com confirms that content is transmitted to a remote service outside the local trust boundary. In this skill's context, that behavior is core functionality rather than obviously malicious, but it still creates privacy, compliance, and token-handling risk if users are unaware or if sensitive prompts are submitted.
async function main() {
console.error(`Generating children's book illustration (${size} ${chosen.width}x${chosen.height})...`);
const createRes = await fetch("https://api.talesofai.com/v3/make_image", {
method: "POST",
headers,
body: JSON.stringify(body),
The hardcoded external endpoint at api.talesofai.com confirms that content is transmitted to a remote service outside the local trust boundary. In this skill's context, that behavior is core functionality rather than obviously malicious, but it still creates privacy, compliance, and token-handling risk if users are unaware or if sensitive prompts are submitted.
async function main() {
console.error(`Generating children's book illustration (${size} ${chosen.width}x${chosen.height})...`);
const createRes = await fetch("https://api.talesofai.com/v3/make_image", {
method: "POST",
headers,
body: JSON.stringify(body),
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
for (let attempt = 0; attempt < 90; attempt++) {
await new Promise((r) => setTimeout(r, 2000));
const pollRes = await fetch(`https://api.talesofai.com/v1/artifact/task/${taskUuid}`, {
headers,
});
The README describes sending user prompts and optional reference identifiers to an external image-generation API but does not clearly warn users that their inputs will be transmitted to a third-party service. This creates a privacy and data-handling risk because users may include sensitive story content, personal data, or proprietary reference assets without realizing they leave the local environment. The skill context increases relevance because creative prompts and reference IDs may correspond to unpublished manuscripts or private materials.
No suspicious patterns detected.