Back to skill

Security audit

Cookie Consent Banner

Security checks for vulnerabilities and agentic risk

Overview

The skill is a small React UI guide with no hidden code, but its cookie-consent example is incomplete and uses an unpinned third-party package.

Install only if you are comfortable adding the orbcafe-ui package to your project. Pin and review the dependency before use, and do not treat this skill as legal or privacy compliance guidance; a real cookie banner still needs consent categories, reject and preference controls, jurisdiction-specific behavior, and prevention of nonessential cookies before valid consent where required.

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:21
Finding
Unpinned Third-Party npm Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 21-23 **Vulnerability Type**: Unpinned and insufficiently verified third-party dependency **Risk Level**: Medium ```bash npm install orbcafe-ui # or pnpm add orbcafe-ui ``` ### Technical Analysis The installation instructions specify the `orbcafe-ui` package without an exact version, lockfile, integrity hash, or provenance-verification procedure. Consequently, the package manager resolves whichever release is current under the configured registry and dependency-resolution rules when the command is executed. This creates a supply-chain risk because the installed code can differ from the code originally reviewed. If the package, one of its transitive dependencies, its publisher account, or the configured package registry is compromised, following these instructions could install attacker-controlled code. npm-compatible package installation may also execute lifecycle scripts, allowing a malicious package version to run code during installation rather than only when imported by the application. The audited file does not demonstrate that `orbcafe-ui` is currently malicious. The issue is the unsafe, non-reproducible dependency installation procedure. ### Attack Path 1. An attacker compromises the package publisher, registry distribution channel, or a transitive dependency. 2. The attacker publishes a malicious or compromised release that satisfies the unversioned package request. 3. A developer follows the documented `npm install orbcafe-ui` or `pnpm add orbcafe-ui` command. 4. The package manager resolves and downloads the affected release because no reviewed exact version is required. 5. Malicious lifecycle scripts may execute during installation, or malicious package code may execute later when the application imports and uses `CMessageBox`. 6. The payload operates with the privileges of the developer, CI runner, build environment, or deployed application proc ...[truncated 704 chars]
Remediation
## Remediation Suggestions 1. Pin `orbcafe-ui` to an exact version that has been reviewed instead of resolving the latest available release: ```bash npm install --save-exact orbcafe-ui@<reviewed-version> # or pnpm add --save-exact orbcafe-ui@<reviewed-version> ``` 2. Commit the generated lockfile and require immutable or frozen-lockfile installation in CI: ```bash npm ci # or pnpm install --frozen-lockfile ``` 3. Verify package provenance, publisher identity, registry origin, and integrity metadata before approving a release. 4. Review the package and its transitive dependency tree for unexpected lifecycle scripts and known vulnerabilities. 5. Where operationally compatible, initially install or inspect dependencies with lifecycle scripts disabled, such as with `npm install --ignore-scripts`. 6. Configure an approved registry and package allowlist to reduce dependency-confusion and registry-substitution risks. 7. Run dependency installation and application builds in isolated, least-privileged environments without unnecessary production credentials. 8. Use automated dependency monitoring, but require review and testing before updating the pinned version or lockfile.
Vulnerability Patterns
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Missing User Warnings

Medium
Confidence
87% confidence
Finding
A skill that helps implement a cookie consent banner without any privacy or compliance caveats can lead developers to deploy misleading or non-compliant consent flows. In this context, the danger is not code execution but facilitating deceptive consent collection, invalid legal consent, or privacy violations if teams assume the component is sufficient for regulatory compliance.

Intent-Code Divergence

Low
Confidence
89% confidence
Finding
The file repeatedly states it demonstrates a cookie consent banner, but the example component is named `Feedback` and displays `message="Operation confirmed."` with a generic info box. That documentation framing contradicts the actual sample behavior, which does not present consent choices or cookie-specific handling.

Static analysis

No suspicious patterns detected.