Back to skill

Security audit

booli-fpx

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed helper for querying public Booli property data through a browser-backed CLI, with some normal setup risk from installing and pairing that CLI.

Before installing, consider pinning @fetchproxy/cli to a reviewed version, limiting the Transporter extension's site access to booli.se, and revoking the fpx pairing when no longer needed. The skill should only be used for public Booli data and within Booli's terms.

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
SKILL.md:27
Finding
Unpinned Global Installation of a Third-Party CLI## Vulnerability Details **File Location**: `SKILL.md`, lines 27-29 **Vulnerability Type**: Supply-chain exposure through an unpinned third-party dependency **Risk Level**: Medium ```sh npm install -g @fetchproxy/cli # provides `fpx` fpx profile add booli --domain booli.se # only the fetch capability is needed fpx pair -p booli # prints a pair code → approve in Transporter ``` ### Technical Analysis The documented setup installs `@fetchproxy/cli` globally without specifying an exact version or validating package integrity. Consequently, installation resolves to whichever release is current when the command runs. npm packages may execute lifecycle scripts during installation, and the installed CLI subsequently runs with the privileges of the invoking user. The following commands also configure a persistent profile and pair the CLI with the Transporter browser extension. If a future package release, package maintainer account, or distribution path is compromised, malicious package code could execute during installation or later CLI invocations and potentially attempt to misuse the browser bridge. This finding does not establish that the current package is malicious. The risk arises from trusting a mutable, unpinned dependency and granting it access to a persistently paired browser transport. ### Attack Path 1. An attacker compromises the npm package, a maintainer account, or a future release of `@fetchproxy/cli`. 2. The user follows the documented command, which installs the latest package version globally without integrity verification. 3. Malicious lifecycle or CLI code executes with the invoking user's local privileges. 4. The user creates the `booli` profile and approves browser-extension pairing. 5. The compromised CLI attempts to access local user data, alter its global installation, or misuse the paired browser bridge within the permissions exposed by the extension and approved site access. ### Impact Assessment ...[truncated 595 chars]
Remediation
## Remediation Suggestions 1. Pin `@fetchproxy/cli` to an exact, reviewed version rather than installing the latest release: ```sh npm install -g @fetchproxy/cli@<reviewed-exact-version> ``` 2. Publish and verify the expected npm integrity hash or package archive checksum through a trusted channel. 3. Prefer a project-local dependency with a committed lockfile over a global installation, where operationally possible. 4. Review package provenance, publisher identity, lifecycle scripts, and release changes before upgrading. 5. Consider installing with lifecycle scripts disabled when the reviewed package does not require them: ```sh npm install --ignore-scripts @fetchproxy/cli@<reviewed-exact-version> ``` 6. Run the CLI under a minimally privileged user and limit the browser extension's site access to `booli.se`. 7. Document how to revoke the Transporter pairing and remove the profile when it is no longer needed. 8. Require explicit review and reapproval before changing the pinned version.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.