Back to skill

Security audit

sher

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims by deploying frontend previews, but users should treat the npm install and public preview upload as real security considerations.

Before installing, confirm you trust the shersh npm package and prefer a pinned, reviewed version or an isolated environment. Only deploy projects whose built output can be shared through an externally accessible preview URL, and review build artifacts for secrets or private content first.

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:17
Finding
Unpinned Third-Party npm Package Installation and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 17–23 **Vulnerability Type**: Unpinned and unverified third-party dependency execution **Risk Level**: Medium ### Complete Code Snippet ```markdown Global (recommended for agents): ```bash npm i -g shersh ``` Or one-off with npx: ```bash npx shersh link ``` ``` ### Technical Analysis The Skill directs agents to install or execute the `shersh` npm package without specifying an exact version or verifying its integrity. Consequently, both commands can resolve to whichever package release the npm registry serves at execution time. The global installation command may execute npm lifecycle scripts and places package executables in the user's global npm environment. The `npx` command may download and immediately execute a package that is not already installed locally. The effective executable can therefore change after the Skill has been reviewed. This creates a supply-chain risk if the package publication account, package itself, registry resolution, or a future release is compromised. The audit did not establish that the current package is malicious; the vulnerability is the absence of version pinning, provenance validation, and integrity controls before third-party code execution. ### Attack Path 1. An attacker compromises the npm package, its maintainer account, or another part of the package publication process. 2. The attacker publishes a malicious release under the package name used by the Skill. 3. An agent follows `SKILL.md` and runs `npm i -g shersh` or `npx shersh link`. 4. npm resolves and downloads the attacker-controlled release because no exact reviewed version is specified. 5. Malicious code executes through an installation lifecycle script or the invoked CLI. 6. The payload acts with the permissions of the user running npm and can access resources available to that process. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the p ...[truncated 778 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the dependency to an exact reviewed version rather than relying on the latest registry release: ```bash npx --yes shersh@<reviewed-exact-version> link ``` 2. Avoid recommending global installation. Use a project-local development dependency with a committed lockfile: ```bash npm install --save-dev --save-exact shersh@<reviewed-exact-version> ``` 3. Commit and review `package-lock.json`, and use `npm ci` in controlled environments to enforce locked dependency resolution. 4. Verify package provenance, expected publisher identity, registry source, and integrity metadata before execution. 5. Review package lifecycle scripts and dependency changes when upgrading. Where operationally feasible, disable lifecycle scripts during installation and explicitly invoke only reviewed functionality. 6. Run the deployment tool in an isolated, least-privilege environment with restricted filesystem, credential, and network access. 7. Document the trusted package version and an upgrade-review process so future releases are not executed automatically without reassessment. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill instructs users to deploy frontend projects to a public preview URL but does not clearly warn that build artifacts are uploaded to a third-party service and may expose embedded secrets, proprietary assets, internal endpoints, or unpublished content. In an agent context, this omission is more dangerous because the agent may deploy automatically on the user's behalf without adequately surfacing the data-transfer and exposure risk.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
The skill recommends executing an unpinned package via `npx shersh`, which fetches and runs the latest published code at execution time. If the package is compromised, typo-squatted, or a malicious update is published, the agent could execute attacker-controlled code in its environment with access to project files, credentials, and build outputs.