Back to skill

Security audit

Seo Content Brief

Security checks for vulnerabilities and agentic risk

Overview

The skill's SEO workflow is mostly coherent, but its setup instructions ask users to execute a mutable remote installer and optional unpinned installs, which need careful review before use.

Review the installer before running it, prefer a manual or pinned installation path with independent checksum or signature verification, and avoid the optional related-skill `npx` installs unless you can pin and audit the exact versions. Expect the skill to send search queries and extracted URLs through inference.sh-backed apps as part of normal SEO research.

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:14
Finding
Remote Installer Is Downloaded and Executed Without Prior Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Technical Analysis The Quick Start instructions download a mutable script from an external server and pipe it directly into a shell: ```bash curl -fsSL https://cli.inference.sh | sh && infsh login ``` The shell executes the HTTP response immediately, without giving the user an opportunity to inspect it or verify its signature or digest. Although the accompanying documentation states that the installer verifies the SHA-256 checksum of the CLI binary it downloads, that verification occurs only after the unverified installer itself has already started executing. It therefore does not establish the integrity or authenticity of the installer. If the domain, hosting infrastructure, CDN, TLS termination environment, or published installer is compromised, the response can be changed after this Skill has been reviewed. The effective payload is consequently not limited to the content in the audited project. Installing the CLI may be relevant to the declared SEO research functionality, but executing an unverified remote script is not the minimum privilege or minimum-risk installation method necessary to provide that functionality. ### Attack Path 1. A user or agent follows the Quick Start instruction. 2. `curl` retrieves the current response from `https://cli.inference.sh`. 3. An attacker who has compromised the upstream service or distribution infrastructure substitutes a malicious installer. 4. The response is passed directly to `sh` before its contents or integrity can be validated. 5. The malicious installer executes with all permissions of the invoking user. 6. The subsequent `infsh login` command may run an attacker-supplied CLI and expose authentication material entered during login. ### Impact Assessment Successful exploitation provides arbitrary command execution under the account that follows the i ...[truncated 591 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Remove the `curl | sh` installation pattern. - Require users to download a version-pinned release artifact as a separate step. - Publish and verify a cryptographic signature from a trusted, independently distributed signing key. - At minimum, compare the downloaded artifact against a pinned SHA-256 digest before execution; retrieving both the artifact and mutable checksum from the same compromised origin is insufficient by itself. - Allow the installer to be inspected before it is run. - Prefer a trusted package manager with version pinning and package-signature verification where available. - Run installation and authentication without elevated privileges and document the exact files, network destinations, and credentials the CLI accesses. - Separate installation from login so users can validate the installed binary before providing authentication material. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:274
Finding
Related Skills Are Installed Through Unpinned Third-Party References<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:274-276` **Vulnerability Type**: Insecure third-party dependency installation **Risk Level**: Medium ### Technical Analysis The document recommends installing additional Skills through `npx` using references that are not pinned to immutable versions or commit hashes: ```bash npx skills add inference-sh/skills@seo npx skills add inference-sh/skills@technical-blog-writing npx skills add inference-sh/skills@web-search ``` These commands depend on dynamically resolved package tooling and mutable upstream Skill content. The contents of those dependencies are not included in this project and were therefore outside the audited artifact. A future change or upstream compromise could cause users to install code or instructions different from what was reviewed. These related Skills are optional and are not required for the declared SEO content-brief workflow. Dynamically installing them therefore expands the supply-chain attack surface beyond the minimum dependencies necessary for the Skill's core functionality. ### Attack Path 1. A user follows one of the Related Skills installation commands. 2. `npx` resolves and obtains the required package tooling from its configured package source. 3. The installation process resolves the unpinned Skill reference from its upstream source. 4. An attacker compromises the package, publisher account, source repository, or referenced Skill content. 5. The user receives the attacker-controlled version because no immutable version, commit, or integrity value is required. 6. Malicious package code may execute during the command, or malicious Skill instructions may be installed and later acted upon by an agent. ### Impact Assessment The impact depends on the behavior of the dynamically obtained package and Skill content. If package tooling executes malicious code, it can obtain arbitrary command execution with the invoking user's permissions. If only malicious Skill ins ...[truncated 400 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Remove the optional installation commands unless the related Skills are necessary for the declared functionality. - Pin the `skills` CLI package to a reviewed, exact version rather than allowing `npx` to resolve mutable package state. - Pin each related Skill to an immutable commit hash or cryptographically verified release. - Use lockfiles and registry integrity metadata for package dependencies. - Audit every referenced Skill independently before recommending installation. - Disable package lifecycle scripts where supported and where they are not required. - Prefer downloading dependencies for inspection and integrity verification before installation. - Document the source, exact version, expected permissions, and update procedure for every third-party component. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

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

# Research target keyword
infsh app run tavily/search-assistant --input '{
Confidence
98% confidence
Finding
Piping a remotely fetched script directly into `sh` executes untrusted network content immediately, creating a classic supply-chain and remote code execution risk. Even with accompanying claims about checksum verification, the dangerous behavior occurs before the user can independently inspect or validate the script, and the SEO/content-brief context does not justify such a risky install pattern.

Vague Triggers

Medium
Confidence
96% confidence
Finding
This markdown file declares many trigger phrases in the description, including generic terms like "content brief," "keyword research," "content strategy," and "content planning." These are broad enough to match ordinary user requests outside this specific skill, and the file does not provide exclusion conditions or tighter activation constraints.

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.

Description-Behavior Mismatch

Low
Confidence
77% confidence
Finding
The manifest describes the skill as focused on SEO content briefs, keyword research, SERP analysis, and content structure. The included workflow also instructs users to generate an infographic image, which is a content asset creation capability rather than a core content-briefing activity.

Static analysis

No suspicious patterns detected.