Back to skill

Security audit

ORBCAFE Layout + Navigation

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent ORBCAFE UI layout/navigation helper with ordinary frontend setup risks but no evidence of hidden, destructive, or data-exfiltrating behavior.

Install in a normal project sandbox and consider pinning dependency versions or using a reviewed lockfile before adopting it in production. Non-Chinese readers may need to translate the workflow text, and teams should choose their own locale rather than copying locale="zh" blindly.

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:15
Finding
Unpinned Third-Party Dependencies in Mandatory Installation Command## Vulnerability Details **File Location**: `SKILL.md`, lines 15–18 **Vulnerability Type**: Supply-chain risk from unpinned npm dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npm install orbcafe-ui @mui/material @mui/icons-material @mui/x-date-pickers @emotion/react @emotion/styled dayjs ``` ### Technical Analysis The mandatory installation command specifies package names without exact versions. No lockfile, package integrity hashes, or verified registry configuration is included in the audited project. Consequently, npm may resolve package versions that differ from those originally reviewed or expected. npm packages and their transitive dependencies can define lifecycle scripts that execute during installation with the privileges of the user running npm. Although no listed package was established as malicious during this audit, mutable dependency resolution creates a supply-chain exposure: a compromised maintainer account, malicious future release, dependency-confusion condition, or compromised transitive dependency could introduce executable code after the Skill itself has been reviewed. ### Attack Path 1. An attacker compromises a listed package, one of its transitive dependencies, or the relevant package-publishing account. 2. The attacker publishes a malicious version containing a lifecycle script or modified runtime code. 3. A user or Agent follows the mandatory installation instruction in `SKILL.md`. 4. npm resolves the attacker-controlled release because no exact versions or reviewed lockfile constrain resolution. 5. During installation, a malicious lifecycle script can execute in the local environment. Alternatively, malicious package code can execute when the generated application imports or invokes it. ### Impact Assessment Successful exploitation could execute code with the privileges of the account running npm. Depending on that account's permissions and environment, the attacker could r ...[truncated 391 chars]
Remediation
## Remediation Suggestions 1. Pin every direct dependency to an exact, reviewed version rather than allowing npm to select a mutable latest release. 2. Maintain and commit a reviewed `package-lock.json`, then use `npm ci` in automated and reproducible environments. 3. Verify lockfile integrity and dependency provenance during CI, including npm provenance information where available. 4. Configure an approved registry explicitly and enforce scoped-package registry mappings to reduce dependency-confusion risk. 5. Audit direct and transitive dependencies before upgrades, using dependency scanning and manual review of lifecycle scripts. 6. Where compatible with the installation workflow, use `npm ci --ignore-scripts` and explicitly run only reviewed build steps afterward. 7. Run dependency installation in a least-privileged, isolated environment without unnecessary secrets or host filesystem access.
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
Findings (2)

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
The workflow and several other instructional sections require the user to read Chinese, which effectively forces a specific language for core skill usage. The file does not provide an English alternative, opt-in, or justification for a Chinese-only locale, which matches the language/locale policy violation criteria.

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
The sample layout hard-codes `locale="zh"`, which is a natural-language/locale constraint shown without any indication that users can choose or override it. This can violate language/locale policy guidance when a skill or example implicitly enforces a specific language setting.

Static analysis

No suspicious patterns detected.