Back to skill

Security audit

Upstream Recon

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent GitHub research helper with no hidden payload, but users should understand it may run GitHub CLI lookups and should prefer a pinned or manual install path.

Install manually or use a pinned, trusted installer source if possible. Before running the skill, be aware it will query GitHub through `gh`, may use your existing GitHub CLI login, and should be used when you actually want repository reconnaissance before filing or commenting.

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
README.md:9
Finding
Unpinned Third-Party Installer Execution Through npx## Vulnerability Details **File Location**: `README.md`, lines 9-11 **Vulnerability Type**: Unpinned and unverified third-party installer execution **Risk Level**: Medium **Vulnerable Code**: ```bash npx skills add oss-skills/upstream-recon ``` ### Technical Analysis The documented installation procedure invokes the third-party `skills` npm package through `npx` without specifying an immutable package version or verifying its integrity. If the package is not already available locally, `npx` can retrieve it from the configured npm registry and execute its package-controlled code under the current user's account. Because neither the installer package nor the referenced skill source is pinned to a reviewed immutable release or commit, the code executed by this command can change after the project has been audited. Compromise of the npm package, its publisher account, the package registry path, or the referenced upstream source could therefore turn the documented installation command into a supply-chain delivery mechanism. The audit found no evidence that the current project intentionally distributes a malicious package or payload. The vulnerability is the unsafe trust model of the recommended installation path. ### Attack Path 1. An attacker compromises the npm package, its publisher account, or another source used by the `skills` installer. 2. The attacker publishes a modified release containing malicious installer or lifecycle behavior, or alters the mutable skill source resolved by the command. 3. A user follows the README and runs `npx skills add oss-skills/upstream-recon`. 4. `npx` retrieves and executes the mutable third-party package without an explicit reviewed version or integrity check. 5. The malicious installer runs with the invoking user's privileges and can alter files or install attacker-controlled skill content. ### Impact Assessment Successful exploitation could provide code execution with the privile ...[truncated 502 chars]
Remediation
## Remediation Suggestions - Pin the `skills` npm installer to a reviewed, explicit version rather than resolving the latest mutable release. - Pin the installed skill to an immutable commit hash or cryptographically verified release artifact where supported. - Publish expected checksums or signatures and instruct users to verify downloaded content before installation. - Use a lockfile and npm integrity metadata when incorporating the installer into automated workflows. - Recommend reviewing and manually copying the skill files as the safer installation option. - Document the authoritative npm package and source repository so users can detect typosquatting or source substitution. - Advise users not to execute the installer as root or another privileged account and to use an isolated environment when practical. A hardened command should use an explicitly reviewed installer version, for example: ```bash npx --yes skills@<reviewed-version> add oss-skills/upstream-recon@<immutable-reference> ``` The exact syntax should be validated against the installer's supported version and source-pinning features.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The activation description is broad enough that the skill may trigger in many normal repository-interaction scenarios, potentially causing the agent to run reconnaissance behavior unexpectedly. In a skill that performs GitHub analysis via `gh`, broad triggering increases the chance of unintended network activity, unnecessary data collection, and user actions being influenced by stale or irrelevant repo analysis.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The skill advertises very broad trigger conditions, including proactive use whenever a user is about to interact with a repository they do not maintain. That can cause the agent to invoke this skill in many ordinary development conversations, expanding the scope of data gathering and command execution beyond what the user explicitly requested and increasing the chance of unnecessary external queries or workflow steering.

Missing User Warnings

Low
Confidence
91% confidence
Finding
The README states that the skill uses the GitHub CLI to analyze issues, PRs, and maintainer behavior, but it does not clearly warn users that this involves network access and potentially transmits repository queries to GitHub. Even if the queried data is public, undisclosed network behavior reduces transparency and can surprise users in environments with privacy, logging, or policy constraints.

Static analysis

No suspicious patterns detected.