Back to skill

Security audit

Ai Image Gen Pro

Security checks for vulnerabilities and agentic risk

Overview

The image-generation skill is mostly coherent, but it includes unpinned install commands for related skills and under-explains external data handling.

Install only if you are comfortable using inference.sh for prompts and image URLs. Avoid sending confidential media or proprietary prompts unless approved, and do not copy the unpinned npx related-skill install commands without first verifying the source, version, and trust boundary.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:111
Finding
Unpinned Third-Party Package Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 111–127 **Vulnerability Type**: Unpinned executable dependency and mutable skill sources **Risk Level**: Medium ```bash # Full platform skill (all 150+ apps) npx skills add inference-sh/skills@infsh-cli # Pruna P-Image (fast & economical) npx skills add inference-sh/skills@p-image # FLUX-specific skill npx skills add inference-sh/skills@flux-image # Upscaling & enhancement npx skills add inference-sh/skills@image-upscaling # Background removal npx skills add inference-sh/skills@background-removal # Video generation npx skills add inference-sh/skills@ai-video-generation # AI avatars from images npx skills add inference-sh/skills@ai-avatar-video ``` ### Technical Analysis The documented commands invoke `npx skills` without pinning the `skills` package to a verified version or integrity hash. Depending on the local environment and cache state, `npx` can retrieve and execute package code from the configured npm registry when the command is invoked. The skill sources are also referenced without immutable commit identifiers or verified artifact hashes. Consequently, the content installed by these commands can change after this project has been reviewed. This creates a supply-chain trust boundary in which compromise of the npm package, package maintainer account, source repository, or referenced upstream content could introduce attacker-controlled installation logic or skill instructions. ### Attack Path 1. An attacker compromises the unpinned `skills` package, its publishing account, the referenced source repository, or another relevant upstream distribution channel. 2. The attacker publishes altered package code or modifies mutable skill content. 3. A user or agent follows one of the documented `npx skills add` commands. 4. `npx` retrieves and executes the available package version under the invoking user's account. 5. The package ...[truncated 850 chars]
Remediation
## Remediation Suggestions 1. Pin the `skills` npm package to a specific reviewed version rather than invoking an unspecified release, for example by using an exact version with lockfile enforcement. 2. Pin every referenced skill source to an immutable, reviewed commit or release artifact. 3. Verify package integrity through trusted checksums, registry integrity metadata, or cryptographic signatures before execution. 4. Prefer a download-and-review workflow that does not execute package lifecycle or installer code automatically. 5. Disable npm lifecycle scripts where they are unnecessary and supported by the installation workflow. 6. Execute installation in a restricted environment with minimal filesystem permissions, no unrelated credentials, and limited network access. 7. Maintain an allowlist of approved package versions, source commits, and hashes, and periodically audit them for ownership or integrity changes.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger list includes highly generic phrases such as 'image generation', 'generate image', 'ai art', and 'generative ai', which are likely to match many ordinary user requests. Overly broad activation criteria can cause the skill to be invoked unintentionally, leading users to externalize prompts or image URLs to third-party services without clear intent.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill encourages sending prompts and `image_url` values to inference.sh-backed apps but does not warn users that their text and image references are transmitted to external services. In a skill designed for creative generation, users may paste sensitive product concepts, internal visuals, or proprietary prompts, so this omission materially increases privacy and data-handling risk.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs users to run `npx skills add ...` without pinning a specific package version or commit. This allows the fetched package contents to change over time, creating a supply-chain risk where a compromised or malicious future release could be executed by the user implicitly via `npx`.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This `npx skills add ...` example relies on an unpinned remote package reference, so the code or metadata resolved at execution time may differ from what the author reviewed. If the upstream package, tag, or dependency chain is compromised, users could be induced to run attacker-controlled code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
An unversioned `npx skills` invocation introduces a time-of-use supply-chain hazard because the command may download and run different code in the future than it does today. In documentation intended for broad reuse, this increases exposure to malicious package updates or dependency hijacking.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The command at this line uses `npx` with a non-immutable reference, which can cause arbitrary upstream changes to be executed when users follow the example. This is a classic supply-chain weakness in installation instructions, especially for a skill that encourages command-line usage.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Because `npx skills add ...` is unpinned, users are asked to trust the latest state of a remote package and its dependencies at runtime. A malicious or hijacked update could alter behavior, install additional components, or execute code unexpectedly on the user's system.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This documentation line exposes users to mutable upstream content through `npx`, making the command non-reproducible and vulnerable to package compromise. The risk is elevated by the fact that users are likely to copy-paste the command directly from the skill documentation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The final `npx skills add ...` reference is also unpinned, preserving the same supply-chain exposure as the other examples. Over time, the command may resolve to different content than originally intended, making the documentation unsafe as a stable installation path.

Natural-Language Policy Violations

Low
Confidence
82% confidence
Finding
The manifest uses Chinese-only natural-language fields for the display name and description, with no indication that the skill is region-specific or that users can choose another language. Under the policy, a language constraint should be opt-in or clearly justified.

Static analysis

No suspicious patterns detected.