Back to skill

Security audit

Pitch Deck Visuals

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly aligned with pitch-deck visual generation, but its setup asks users to run a mutable remote installer directly in a shell before logging in.

Review before installing. Prefer a manual or version-pinned `infsh` installation with independently verified checksums or signatures, run login separately after installation is verified, and avoid sending confidential fundraising data to remote rendering or Python execution services unless that is acceptable for your deck.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:14
Finding
Unverified Remote Installer Executed Directly by Shell## Vulnerability Details **File Location**: `SKILL.md`, line 14 **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: High **Complete Code Snippet**: ```bash curl -fsSL https://cli.inference.sh | sh && infsh login ``` ### Technical Analysis The installation instruction retrieves mutable shell-script content from `https://cli.inference.sh` and pipes it directly into `sh`. The downloaded script is therefore executed with the privileges of the invoking user before the user can inspect it. The project does not pin an installer version, expected cryptographic digest, or trusted signing key. Although the documentation states that the installer verifies the checksum of the downloaded CLI binary, that claim does not independently authenticate the bootstrap script itself. A compromised origin server, distribution infrastructure, DNS or network path, or installer deployment could change the effective code after this Skill has been reviewed. Installing the external CLI supports the declared image-generation functionality, but direct pipe-to-shell execution is not the minimum-risk mechanism required to provide that functionality. Downloading a versioned artifact, verifying it independently, and obtaining explicit approval before installation would achieve the same objective without immediately executing mutable remote instructions. ### Attack Path 1. An attacker compromises or gains control over the installer endpoint, its hosting infrastructure, or a relevant software-distribution account. 2. The attacker replaces the installer response with malicious shell commands. 3. A user or agent follows the documented Quick Start command. 4. `curl` retrieves the attacker-controlled response and sends it directly to `sh`. 5. The shell executes the payload with the invoking user's permissions. 6. The payload can access resources available to that account and may tamper with the subsequently executed `infsh log ...[truncated 802 chars]
Remediation
## Remediation Suggestions 1. Remove the direct `curl | sh` installation pattern. 2. Publish versioned CLI artifacts through a trusted package registry or release channel. 3. Pin the required CLI version rather than installing an automatically changing latest release. 4. Download the installer or binary to a local file without executing it: ```bash curl --proto '=https' --tlsv1.2 -fL -o infsh.example \ https://dist.inference.sh/path/to/versioned/artifact ``` 5. Verify the artifact using an expected SHA-256 digest pinned in the reviewed Skill, or preferably a cryptographic signature validated with a trusted public key. Do not retrieve both the artifact and its sole trust value from the same mutable channel without an independent trust mechanism. 6. Require explicit user review and approval before executing or installing the downloaded artifact. 7. Install only to a user-controlled directory with no elevated privileges and document the files and permissions created. 8. Separate installation from `infsh login` so authentication occurs only after installation integrity has been verified. 9. Document a manual installation procedure and a supported package-manager alternative. 10. Consider making CLI installation an explicit prerequisite rather than allowing the Skill to initiate software installation during normal use.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

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

# Generate a slide background
infsh app run infsh/html-to-image --input '{
Confidence
98% confidence
Finding
`curl -fsSL https://cli.inference.sh | sh` downloads and immediately executes a remote script, creating a classic supply-chain and arbitrary code execution risk. Even if the project currently behaves as described, users are trusting live network content at execution time, so compromise of the domain, CDN, TLS termination, or upstream publishing pipeline could lead to code execution on the user's machine.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The manifest description advertises triggers such as "startup pitch," "pitch presentation," and "startup presentation," which are broad natural-language phrases that could overlap with everyday requests for general presentation help. The file does not provide exclusion conditions or negative examples to narrow when this skill should activate versus other presentation-related skills.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
The skill presents itself as visual-design guidance, but its implementation materially expands scope by invoking external services for HTML rendering and remote Python execution. That mismatch can cause users or orchestrators to grant capabilities they would not expect from a presentation-design skill, increasing exposure to remote code/data handling and unexpected side effects.

Context-Inappropriate Capability

Medium
Confidence
82% confidence
Finding
The manifest scope emphasizes slide-by-slide framework, visual design rules, and data presentation for investor decks. Generating synthetic team headshots via `falai/flux-dev-lora` is a separate image-generation capability that is not clearly necessary for the stated purpose and extends beyond normal pitch deck guidance.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
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.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
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.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
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.

Intent-Code Divergence

Low
Confidence
76% confidence
Finding
The install note narrowly characterizes the setup as simple OS detection, binary download, and checksum verification with no elevated permissions or background processes. However, the documented one-line quick start includes `infsh login`, which initiates an authentication flow and therefore does more than the note suggests, creating a documentation-to-command mismatch.

Static analysis

No suspicious patterns detected.