Back to skill

Security audit

ClawFi

Security checks for vulnerabilities and agentic risk

Overview

The skill itself is a coherent ClawFi market-data API contract, but its documented installer uses a mutable npm latest package to modify multiple agent skill directories.

Review the installer before running it. Prefer a pinned, reviewed package version or a manual copy of the reviewed skill file into the intended agent directory. Do not submit proprietary trading research, private account data, or sensitive source material to ClawFi until you have verified the service operator, retention policy, and deployment origin.

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:20
Finding

Unpinned npm Package Execution Through npx

Content
View full analysis

Vulnerability Details

File Location: README.md, line 20
Vulnerability Type: Supply-chain risk from executing an unpinned package release
Risk Level: Medium

Vulnerable Code Snippet:

bash
npx clawfi@latest install clawfi

Technical Analysis

The documented installation command instructs users to execute the release currently associated with the npm latest tag. This tag is mutable and does not identify a specific, previously reviewed package version.

The audited project contains only README.md and skill.md; it does not include the npm package manifest, lockfile, integrity hash, or installer implementation needed to verify the claim that the package only copies the Skill document. Consequently, the code ultimately executed by npx lies outside the reviewed artifact and may change after this audit.

This does not establish that the current npm package is malicious. It creates a supply-chain vulnerability because compromise of the publisher account, package registry, release pipeline, or a future release could convert the documented installation process into arbitrary local code execution.

Attack Path

  1. An attacker compromises the npm publisher account, package release process, or another component controlling the clawfi package.
  2. The attacker publishes a malicious package version and assigns it to the latest distribution tag.
  3. A user follows the README and runs npx clawfi@latest install clawfi.
  4. npx retrieves and executes the attacker-controlled package code.
  5. The malicious installer executes with the permissions of the invoking user and may access or alter resources available to that account.

Impact Assessment

Successful exploitation could provide arbitrary code execution under the installing user's account. Depending on that account's permissions and environment, an attacker could read or modify user files, access locally available credentials and agent conf ...[truncated 792 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace @latest with an explicitly reviewed and immutable package version.
  2. Provide the complete installer source and package manifest in the audited repository so its behavior can be reviewed.
  3. Publish and document npm integrity information or cryptographic release signatures, and require verification before execution.
  4. Pin dependencies and commit an appropriate lockfile for the installer implementation.
  5. Avoid elevated execution and instruct users not to run the installer with sudo or an administrator account.
  6. Where practical, offer a non-executable installation method that copies a reviewed skill.md directly into the appropriate directory.
  7. Protect package publication with phishing-resistant multi-factor authentication, restricted release tokens, provenance attestations, and controlled CI-based publishing.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 9)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 10)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 11)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 23)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 24)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 25)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · README.md (reported line 9)May include surrounding context.

md
The skill runs on these AI coding agents:

- **Cursor** — [Cursor](https://cursor.com) IDE. The skill is loaded from `~/.cursor/skills/clawfi/SKILL.md` and lets the Cursor agent read/write ClawFi context, observations, and signals.
- **Claude Code** — [Claude Code](https://claude.com/code) (Anthropic’s Claude in VS Code / JetBrains). The skill is loaded from `~/.claude/skills/clawfi/SKILL.md` so the agent can call the ClawFi API.
- **Codex** — [Codex](https://codex.com) (OpenAI’s coding agent). The skill is loaded from `$CODEX_HOME/skills/clawfi/SKILL.md` (default `~/.codex/skills/clawfi/SKILL.md`).

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The README instructs users to execute npx clawfi@latest install clawfi, which fetches and runs the latest published package without pinning to a specific reviewed version. If the npm package is compromised, hijacked, or a malicious version is published, users and agents could execute attacker-controlled code during installation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The publish/install guidance reinforces use of the moving latest tag for distribution, which increases supply-chain risk because consumers will execute whatever version is currently tagged. In the context of an agent skill installer that writes into agent skill directories, compromise could persistently affect agent behavior across supported platforms.

Content

No source excerpt is available for this finding.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

Scanner excerpt · skill.md (reported line 71)May include surrounding context.

md
## Trust & safety (for installers)

- This skill exposes **write** endpoints (observe, signal, source, knowledge/block). The agent may invoke it when the user asks for market data read/write. To require explicit user approval for every write, installers can set **`disableModelInvocation: true`** for this skill so the model cannot call it autonomously.
- **Install behavior:** The `clawfi` npm package only copies this SKILL.md to the agent’s skill directory; it does not run any code that contacts the ClawFi API or other networks. All API calls are made by the agent using this contract and the base URL from the manifest.

Static analysis

No suspicious patterns detected.