Back to skill

Security audit

bookmark-intelligence-free

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent bookmark-archiving purpose, but it asks users to handle X/Twitter session cookies while giving inaccurate safety and scoping assurances.

Review this carefully before installing. Use only in an isolated workspace, do not reuse or share the X/Twitter cookie values, restrict .env permissions, and avoid the global unpinned npm install unless you independently verify the bird package and version. The artifact does not show malicious code, but its credential handling and safety claims need correction.

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

Unpinned Global Installation of a Third-Party npm Package

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 134
Vulnerability Type: Unpinned and globally installed third-party dependency
Risk Level: Medium

Vulnerable Code

markdown
| bird not installed | `bird: command not found` | bird CLI is not installed globally | Run `npm install -g bird` |

Technical Analysis

The Skill instructs users to install the bird npm package globally without specifying an exact version, integrity hash, verified publisher, or authoritative source repository. Consequently, the code installed on a user's system may change independently of the reviewed Skill.

Global npm installation can execute package lifecycle scripts with the invoking user's privileges and makes the installed command available across the user's environment. This exceeds the minimum privilege needed for a self-contained bookmark-processing Skill; a project-local, pinned dependency would provide a narrower execution and modification scope.

The supply-chain risk is particularly significant because the same workflow asks users to store sensitive X session credentials, including auth_token and ct0, in a local .env file. A compromised, substituted, or malicious dependency executed from the project directory could attempt to read those credentials. The available artifact contains no package.json, lockfile, implementation scripts, or dependency integrity information, so the identity and behavior of the installed package cannot be verified.

The audit did not establish that the referenced package is currently malicious. The vulnerability is the unsafe dependency acquisition and installation practice.

Attack Path

  1. An attacker compromises the referenced npm package, gains control of a future release, or causes users to resolve an unintended package through registry or package-name confusion.
  2. A user follows the troubleshooting instruction and runs npm install -g bird.
  3. npm retrieves the muta ...[truncated 1280 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace the global installation instruction with a project-local dependency installed under the Skill directory.
  2. Pin the dependency to an exact, reviewed version rather than using an unconstrained package reference.
  3. Commit a lockfile and require integrity verification during installation.
  4. Document the package's official npm namespace, publisher, source repository, and expected checksum or provenance.
  5. Review package contents and lifecycle scripts before adoption. Disable installation scripts where they are unnecessary.
  6. Prefer bundling a small, audited implementation if only limited bookmark-fetching behavior is required.
  7. Run the dependency in a restricted environment with access only to required files and X endpoints.
  8. Prevent dependency processes from reading unrelated user files or making unrestricted outbound network requests.
  9. Keep X credentials in a permission-restricted credential store and expose them only to the specific process that requires them.
  10. Include the missing package.json, lockfile, implementation scripts, and endpoint policy in future audit artifacts so dependency behavior and credential handling can be verified.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill repeatedly claims 'no AI' and 'no AI backend', yet the dependency section states that an LLM API is required and provided by the agent platform. This contradiction obscures actual processing behavior and may cause users to believe their content is not being sent to an LLM when the platform may in fact process inputs through one.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill description does not clearly warn users before bookmark/account data is transmitted to X/Twitter during fetching. Even though contacting X is functionally expected, omitting a clear data-transmission notice reduces informed consent and may surprise users about what data leaves the local environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The setup flow requires extracting and storing X/Twitter authentication cookies, but the skill does not present this as an upfront warning before installation/use. Session cookies are highly sensitive credentials; burying this requirement increases the risk of uninformed credential exposure, unsafe handling, or accidental reuse in insecure environments.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document claims credentials 'will not leave your machine' while the skill explicitly uses those credentials to authenticate requests to X/Twitter for bookmark retrieval. This is a deceptive or inaccurate security claim that can mislead users about data flow and trust boundaries, causing them to expose sensitive session cookies without informed consent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The documentation broadens the skill from narrow bookmark analysis into generic file handling, API integration, and command execution capabilities. Overstating scope in a skill with read/exec/write permissions increases the chance that users or downstream agents will invoke it for riskier operations than expected, weakening the principle of least privilege.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Claiming that commands run in a 'safe sandbox' is unsupported by the manifest, which only declares ordinary exec capability with no demonstrated isolation guarantees. This can create a false sense of safety and encourage execution of setup or runtime commands that may access the host environment, local files, or network.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The repeated 'safe sandbox' statement reinforces a misleading security guarantee about command execution. Repetition increases the likelihood that users and agents will trust the exec pathway more than warranted and run commands involving sensitive credentials or local data.

Content

No source excerpt is available for this finding.