Back to skill

Security audit

shortaaa

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned for FLUX image generation, but its install instructions ask users to execute mutable remote code and optional unpinned installers.

Review the installer source before running it, prefer a version-pinned and checksum-verified manual install, avoid the optional unpinned npx related-skill commands unless you trust that supply chain, and do not submit sensitive prompts or private image URLs.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:16
Finding
Remote Installer Is Downloaded and Executed Without Prior Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:16` **Vulnerability Type**: Remote payload retrieval and immediate shell execution **Risk Level**: High ### Vulnerable Code ```bash curl -fsSL https://cli.inference.sh | sh && infsh login ``` ### Technical Analysis The command pipes mutable content retrieved from `https://cli.inference.sh` directly into `sh`. The downloaded installer is therefore executed before the user or agent can inspect it or independently verify its integrity. The installation note at line 21 claims that the installer downloads an architecture-specific binary and verifies its SHA-256 checksum. However, this does not authenticate the installer itself. If the distribution origin, DNS/TLS trust chain, hosting infrastructure, or installer script is compromised, the script can replace the expected checksum, omit verification, or execute an unrelated payload. Direct remote execution is not required for the Skill's declared image-generation functionality. A manually downloaded, version-pinned, and independently verified CLI would provide the needed functionality with lower supply-chain risk. ### Attack Path 1. A user or agent loads the Skill and follows its Quick Start instructions. 2. `curl` retrieves the current contents of `https://cli.inference.sh`. 3. The remote service, hosting environment, or delivery path has been compromised, or the mutable script has otherwise been replaced. 4. The response is passed directly to `sh` without local inspection or pre-execution verification. 5. The substituted payload executes with all permissions available to the invoking user or agent. 6. The payload can read or modify accessible files, credentials, agent configuration, and user-installed executables, or retrieve and launch additional components. ### Impact Assessment Successful exploitation provides arbitrary command execution under the invoking account. The command does not explicitly request elevated privileges, so root-level ac ...[truncated 453 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the `curl | sh` installation pattern. 2. Publish versioned CLI artifacts and require an explicit, version-pinned download. 3. Publish SHA-256 checksums or cryptographic signatures through a trusted channel independent of the artifact host. 4. Download the artifact to a local file before executing or installing it. 5. Verify its signature or checksum locally and abort on any mismatch. 6. Provide manual inspection and installation steps, including the exact destination and permissions used. 7. Avoid elevated privileges and install the CLI into a user-controlled directory with minimal permissions. 8. Pin the expected installer or binary version so reviewed behavior cannot silently change. A safer workflow would separate download, verification, installation, and authentication into distinct commands. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:76
Finding
Related Skills Are Installed Through Unpinned Third-Party Components<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:76-82` **Vulnerability Type**: Unpinned third-party package and Skill installation **Risk Level**: Medium ### Vulnerable Code ```bash # Full platform skill (all 150+ apps) npx skills add inference-sh/skills@inference-sh # All image generation models npx skills add inference-sh/skills@ai-image-generation # Upscaling npx skills add inference-sh/skills@image-upscaling ``` ### Technical Analysis These commands invoke the `skills` package through `npx` without pinning the runner to a reviewed version. They also identify related Skills using mutable repository references rather than immutable commit hashes or authenticated release artifacts. As a result, execution and installation can resolve components whose contents differ from those present when this audit was performed. A compromised package publisher, package registry account, source repository, or upstream release could introduce malicious code or hostile Skill instructions. These related-Skill installation commands are optional and are not necessary for the declared FLUX image-generation workflow, increasing the supply-chain attack surface without being required for core functionality. ### Attack Path 1. An attacker compromises the package, registry, source repository, maintainer account, or mutable upstream reference used by one of the commands. 2. The attacker publishes a malicious package version or modifies the referenced Skill content. 3. A user follows the “Related Skills” instructions and runs an unpinned `npx skills add` command. 4. `npx` resolves the currently available runner and the installer retrieves mutable upstream Skill content. 5. Malicious package lifecycle behavior, installer behavior, or installed Skill instructions execute or become available to the agent. 6. The malicious component can act within the permissions granted to the process or influence later agent sessions when the installed Skill is used. ### Impact Ass ...[truncated 599 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the optional related-Skill installation commands if they are not essential to the declared functionality. 2. Pin the `skills` package invoked by `npx` to an exact reviewed version. 3. Pin each referenced Skill repository to an immutable, reviewed commit hash or signed release. 4. Use package lockfiles and registry integrity metadata where supported. 5. Verify release signatures or checksums before installation. 6. Disable or review package lifecycle scripts and other installation-time execution. 7. Document the exact content and permissions introduced by each related Skill. 8. Re-audit every pinned version before updating it rather than tracking mutable upstream references. ]]>
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 (6)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

```bash
curl -fsSL https://cli.inference.sh | sh && infsh login

infsh app run falai/flux-dev-lora --input '{"prompt": "a futuristic city at night"}'
```
Confidence
98% confidence
Finding
The command `curl -fsSL https://cli.inference.sh | sh` downloads and immediately executes remote script content without giving the user a chance to inspect it first. If the hosting domain, transport, or delivery pipeline is compromised, this becomes direct arbitrary code execution on the user's system; the nearby reassurance text does not eliminate that risk because it is unverifiable at execution time.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The trigger list includes broad terms like `flux`, `image`, and related generic phrases that can match ordinary conversation and cause the skill to activate unexpectedly. Over-broad activation increases the chance of unintended tool use, surprise third-party calls, and user data being sent to the external CLI in contexts where the user did not clearly request it.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The skill demonstrates sending `image_url` inputs to a third-party service without clearly warning users that referenced images and prompts may be transmitted to external infrastructure. This can expose private or sensitive images, internal URLs, or metadata if users assume processing is local or do not realize the privacy implications.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
The skill recommends running `npx skills add ...` without pinning a specific package version or commit. Because `npx` resolves and executes remote package code at install time, a future compromised or malicious package release could execute arbitrary code on the user's machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
This invocation again uses `npx skills add ...` without version pinning, which causes execution of whatever package version is current at runtime. If the upstream package, dependency chain, or registry account is compromised, users may run attacker-controlled code simply by following the skill instructions.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
An unpinned `npx` command introduces software supply-chain risk because the referenced package can change over time and is executed immediately. In a skill file, this is especially risky because users may copy-paste commands without reviewing what code will be installed and run.

Static analysis

No suspicious patterns detected.