Back to skill

Security audit

Hooked

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Hooked video-generation API guide, with expected external API use but no hidden code, persistence, or deceptive behavior.

Install only from a trusted source, prefer pinned or verified installation where available, and avoid sending secrets, regulated data, or confidential business material in video prompts, scripts, product URLs, images, or webhooks unless you are comfortable sharing it with Hooked for processing.

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
README.md:18
Finding
Unpinned Third-Party Installer and Skill Source## Vulnerability Details **File Location**: `README.md`, lines 18-20 **Vulnerability Type**: Unpinned third-party installation dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add hooked-so/hooked-skill ``` ### Technical Analysis The documented installation command uses `npx` to obtain and execute the `skills` package without specifying a verified version. It also identifies the Skill through a mutable repository reference rather than an immutable commit or signed release. Consequently, the components installed or executed when this command is run can differ from those reviewed during this audit. If the npm package, its dependency chain, its publishing account, or the referenced repository is compromised, the installation process could deliver modified instructions or execute malicious installer behavior under the invoking user's account. The audited artifact itself contains no bundled dependencies, lifecycle scripts, or executable source code. The risk specifically arises from the mutable external supply chain used by the documented installation procedure. ### Attack Path 1. An attacker compromises the unversioned `skills` npm package, one of its dependencies, its publisher account, or the `hooked-so/hooked-skill` upstream repository. 2. The attacker publishes a malicious package version or changes the mutable repository content. 3. A user follows the documented command: ```bash npx skills add hooked-so/hooked-skill ``` 4. `npx` retrieves the currently available installer rather than a previously audited, pinned version. 5. The installer retrieves the current repository content rather than an immutable reviewed revision. 6. Malicious installation code may run with the user's privileges, or altered Skill instructions may be installed and subsequently loaded by the user's AI agent. ### Impact Assessment Successful exploitation could permit arbitrary actions within the privileges of the user running the installation c ...[truncated 507 chars]
Remediation
## Remediation Suggestions 1. Pin the `skills` npm package to a reviewed exact version: ```bash npx skills@X.Y.Z add hooked-so/hooked-skill ``` 2. Pin the Skill source to an immutable commit hash or cryptographically signed release instead of a mutable repository branch. 3. Publish checksums or signatures for released Skill artifacts and document how users can verify them before installation. 4. Use npm lockfiles and integrity metadata where applicable to constrain transitive dependencies. 5. Document a manual installation option that downloads a specific release artifact, verifies its checksum, and installs only the reviewed `SKILL.md`. 6. Avoid recommending elevated execution and explicitly instruct users not to run the installer with administrator or root privileges. 7. Establish release signing, protected branches, mandatory review, and multi-factor authentication for npm and repository publisher accounts.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

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.

Vague Triggers

Medium
Confidence
91% confidence
Finding
This markdown file includes generic example invocations like "Create a 30-second product video" and "What avatars do you have?" that resemble ordinary conversation rather than narrowly scoped skill triggers. The README does not define explicit activation boundaries, required command forms, or negative examples, which could lead to unintended invocation in agents that infer skill use from natural language descriptions.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill explicitly sends user-provided prompts, scripts, product URLs, images, and optionally webhook URLs to a third-party service, but the description does not warn users that their content will leave the local agent environment. This creates a privacy and consent gap, especially if users provide sensitive business, personal, or proprietary material for video generation.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. List avatars to find a good fit
curl -X GET "https://api.hooked.so/v1/avatar/list" \
  -H "x-api-key: $HOOKED_API_KEY"

# 2. Create a video
Confidence
84% confidence
Finding
This skill is designed to communicate with an external API, and the example workflow confirms that requests are sent to api.hooked.so using an API key. External transmission is expected for this integration, but it still represents a real security/privacy risk because user content and metadata may be disclosed to a third party without sufficient warning or consent controls.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. List avatars to find a good fit
curl -X GET "https://api.hooked.so/v1/avatar/list" \
  -H "x-api-key: $HOOKED_API_KEY"

# 2. Create a video
Confidence
84% confidence
Finding
This skill is designed to communicate with an external API, and the example workflow confirms that requests are sent to api.hooked.so using an API key. External transmission is expected for this integration, but it still represents a real security/privacy risk because user content and metadata may be disclosed to a third party without sufficient warning or consent controls.

External Transmission

Medium
Category
Data Exfiltration
Content
-H "x-api-key: $HOOKED_API_KEY"

# 2. Create a video
curl -X POST "https://api.hooked.so/v1/project/create/script-to-video" \
  -H "x-api-key: $HOOKED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
Confidence
91% confidence
Finding
The POST example sends user script content to the external video-generation API, which may include sensitive personal, commercial, or confidential information. In this skill context, such transmission is core functionality, but it becomes dangerous if the agent sends user data without clear notice, consent, or data minimization.

External Transmission

Medium
Category
Data Exfiltration
Content
}'

# 3. Check status (poll until completed)
curl -X GET "https://api.hooked.so/v1/video/vid_abc123" \
  -H "x-api-key: $HOOKED_API_KEY"

# 4. Download when ready
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.