Back to skill

Security audit

nobodybuilt

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for product-idea discovery, but it also guides agents into publishing, repo, and package-install actions with weak approval and supply-chain controls.

Review before installing. This skill is not clearly malicious, but only use it with intentional prompts, avoid sharing private screenshots or account data, and require explicit confirmation before any git push, repository creation, marketplace submission, npm install, npx execution, or authenticated publishing step. Prefer installing from a reviewed local file or pinned commit rather than the provided mutable-branch installer.

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 (2)

T08 · Insecure Dependencies

Warning
Location
install.sh:5
Finding

Unpinned Remote Skill Installation from a Mutable Repository Branch

Content
View full analysis
/dev/null mkdir -p "$SKILL_DIR" cp "$TMPDIR/nobodybuilt/SKILL.md" "$SKILL_DIR/nobodybuilt.md" ``` `README.md:76-81`: ```bash # One-liner — clone and install git clone https://github.com/KeWang0622/nobodybuilt.git && cp nobodybuilt/SKILL.md ~/.claude/skills/nobodybuilt.md ``` ### Technical Analysis The installation procedures clone the current default branch of a remote GitHub repository without pinning a reviewed commit or release. They do not verify a checksum, cryptographic signature, or expected Git commit before copying `SKILL.md` into the Agent's persistent Skill directory. Consequently, the content installed by a user can differ from the content reviewed during this audit. Although the currently audited `SKILL.md` contains no confirmed malicious payload, future modification or compromise of the upstream repository could replace it with attacker-controlled Agent instructions. The copied file is stored under `~/.claude/skills`, where it may be loaded in later Agent sessions. This makes the supply-chain trust decision particularly important because the installed artifact can influence future tool use and Agent behavior. ### Attack Path 1. An attacker compromises the upstream GitHub account, repository, default branch, or a maintainer credential. 2. The attacker changes `SKILL.md` to include malicious or deceptive Agent instructions. 3. A user runs `install.sh` or the README installation command. 4. Git retrieves the latest attacker-controlled default-branch content because no immutable commit is specified. 5 ...[truncated 955 chars]
Remediation
View remediation
" git clone --no-checkout "$REPO_URL" "$TMPDIR/nobodybuilt" git -C "$TMPDIR/nobodybuilt" checkout --detach "$EXPECTED_COMMIT" ``` 2. Publish signed releases and verify the release signature before installation. 3. Publish a SHA-256 digest for `SKILL.md` and fail closed if the downloaded file does not match: ```bash echo " $TMPDIR/nobodybuilt/SKILL.md" | sha256sum --check - ``` 4. Do not suppress all Git error output with `2>/dev/null`; users should be able to inspect certificate, repository, and checkout failures. 5. Update the README installation command to reference the same immutable release or commit used by the installer. 6. Show the exact source revision and destination before copying the Skill, and request confirmation when installation is performed by an Agent. 7. Document that files placed in `~/.claude/skills` persist across sessions and should be reviewed before activation. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:196
Finding

Unpinned npm CLI Installation and Execution During Marketplace Publishing

Content
View full analysis
/`. Auto-listed once people install. - **ClawHub** — Run: `npm i -g clawhub && clawhub publish ./ --version 1.0.0` (needs GitHub auth, account >= 1 week old) - **Skills Directory** — Submit at https://www.skillsdirectory.com/submit (GitHub sign-in) - **SkillsLLM** — Submit at https://skillsllm.com/submit - **Smithery** — Submit at https://smithery.ai/new or run: `npx @anthropic-ai/smithery deploy .` ``` `references/MARKETPLACES.md:14-18`: ```bash npm i -g clawhub # Authenticate with GitHub (account must be >= 1 week old) clawhub publish ./path-to-skill --version 1.0.0 ``` `references/MARKETPLACES.md:43-46`: ```markdown - **Submit URL:** https://smithery.ai/new - **How:** Web form (sign in with GitHub) or CLI: `smithery deploy .` - **CLI:** `npm i -g @anthropic-ai/smithery && smithery auth login && smithery deploy .` - **Approval:** Instant for MCP servers; skills indexed from GitHub ``` ### Technical Analysis The Skill recommends installing or executing npm packages without exact version pins or integrity constraints. Commands such as `npm i -g clawhub` and `npx @anthropic-ai/smithery deploy .` resolve the latest package version available at execution time. npm installation can execute package lifecycle scripts with the permissions of the current user. A global installation also creates persistent executables in the user's npm global prefix and gives the installed code a wider operational scope t ...[truncated 2191 chars]
Remediation
View remediation
publish ./ --version 1.0.0 npx --yes @anthropic-ai/smithery@ deploy . ``` 2. Verify package provenance, publisher identity, signatures where supported, and npm integrity metadata before recommending a version. 3. Prefer temporary or sandboxed execution over `npm i -g`. Avoid persistent global installation unless it is strictly required. 4. Run publishing tools in a restricted environment containing only the files intended for publication. 5. Display the exact command, package name, version, target directory, and destination service before execution. 6. Require explicit user confirmation immediately before authentication, deployment, publication, repository creation, or pushing code. 7. Use narrowly scoped, short-lived authentication tokens and avoid exposing unrelated GitHub or npm credentials. 8. Review package lifecycle scripts before installation and use `--ignore-scripts` when compatible with the package's documented operation. 9. Generate and inspect a publication manifest so users can verify which files will be uploaded. 10. Document cleanup procedures for cached credentials and any globally installed tools. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (21)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 66)May include surrounding context.

md
1. **GitHub** — `{domain} tool`, `{domain} cli`, `{domain} bot`, `"SKILL.md" {domain}`, `awesome-{domain}`

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · assets/banner.svg (reported line 17)May include surrounding context.

text
</linearGradient>
  </defs>

  <!-- Background -->
  <rect width="1280" height="640" fill="url(#bg)"/>

  <!-- Ambient glow orbs (solid radial circles, no filter needed) -->

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · assets/banner.svg (reported line 68)May include surrounding context.

text
<!-- "built" text with gradient -->
  <text x="640" y="395" text-anchor="middle" font-family="system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="130" font-weight="900" letter-spacing="-5" fill="url(#glow)">built</text>

  <!-- Underline accent bar -->
  <rect x="370" y="412" width="540" height="5" rx="2.5" fill="url(#glow)" opacity="0.5"/>

  <!-- Tagline -->

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The invocation examples and trigger phrases are broad enough that the skill could activate from vague prompts like 'surprise me' or 'what should I build' without strong scoping. In agent systems, loose activation boundaries can cause the wrong skill to run, leading to unnecessary external searches, collection of user-provided content, or unintended generation/publishing workflows.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The README says the skill can analyze user text, screenshots, photos, and social posts and then search multiple third-party platforms, but it provides no privacy notice about what data may be transmitted externally. This is risky because users may supply sensitive images or screenshots, and an agent could forward derived or raw data to outside services without informed consent.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README claims the skill can create repositories, push code, and publish to multiple platforms, which materially expands the implied authority of the agent from ideation into external side-effecting actions. In an agent environment, overstating these capabilities can normalize granting repository, CLI, or publishing permissions and increase the chance of unintended code publication or account actions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The README instructs users to run npx skills add owner/repo without pinning a version, which can execute whatever package version is current at invocation time. If the package is compromised, typosquatted, or publishes a malicious update, users may execute attacker-controlled code directly on their machine.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The image-based activation condition is open-ended and may trigger on arbitrary screenshots or photos without clear relevance checks. Because the skill then infers domain and acts automatically, this can lead to unintended processing of unrelated or sensitive visual input and overbroad downstream actions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The image-based activation condition is open-ended and may trigger on arbitrary screenshots or photos without clear relevance checks. Because the skill then infers domain and acts automatically, this can lead to unintended processing of unrelated or sensitive visual input and overbroad downstream actions.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This section expands the skill from ideation into operational actions like creating repos, pushing code, and publishing to third-party services. That materially increases risk because the agent may perform external side effects, disclose generated or local content, or publish artifacts before adequate user review and consent.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

The phrase 'no approval needed' normalizes immediate publishing actions and encourages the agent to proceed with third-party submissions without a strong approval gate. In this skill's context, that is especially risky because marketplace publication, auth flows, and distribution are external side effects that should always require explicit user consent.

Content

Scanner excerpt · SKILL.md (reported line 198)May include surrounding context.

md
**Marketplaces:** See [references/MARKETPLACES.md](references/MARKETPLACES.md) for the full guide. Walk the user through publishing step by step:

Immediate (no approval needed):
- **skills.sh** — Tell user to share install command: `npx skills add <owner>/<repo>`. Auto-listed once people install.
- **ClawHub** — Run: `npm i -g clawhub && clawhub publish ./ --version 1.0.0` (needs GitHub auth, account >= 1 week old)
- **Skills Directory** — Submit at https://www.skillsdirectory.com/submit (GitHub sign-in)

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The skill tells the agent/user to execute npx skills add <owner>/<repo> without pinning a version or verifying integrity. Unpinned npx execution can pull whatever package version is current at runtime, creating a supply-chain risk if the package is compromised or behavior changes unexpectedly.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The instruction npx @anthropic-ai/smithery deploy . executes a remote package without a pinned version. This exposes users to supply-chain compromise, typosquat/substitution risk, or unexpected package updates affecting deployment behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The installer silently clones remote content from GitHub and writes it into the user's agent skill directory without any prior warning, confirmation, integrity verification, or display of what will be installed. Even though the script is simple and not overtly malicious, this behavior is risky because a compromised repository, MITM-adjacent trust failure, or unexpected repository change could cause unreviewed skill content to be installed into a trusted local location.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/MARKETPLACES.md (reported line 5)May include surrounding context.

md
Use this reference when helping the user publish their skill in Phase 5.

## Quick-Publish Platforms (No approval needed)

### skills.sh (by Vercel)
- **How:** Skills auto-appear when users install them via `npx skills add <owner>/<repo>`

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The guide recommends invoking npx skills add <owner>/<repo> without pinning a package version, which can cause users to fetch and execute whatever version is current at install time. If the upstream package is compromised, typosquatted, or a malicious version is later published, this creates a supply-chain execution risk for anyone following the instructions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

This second unpinned npx skills reference has the same supply-chain risk: it instructs users to run a remote package by name without constraining the version. That leaves execution behavior dependent on the latest published artifact, increasing exposure to package compromise or unexpected malicious updates.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The manifest says the skill accepts images and analyzes screenshots, photos, or social posts to identify gaps. In this file, the actual documented workflow in 'How It Works' focuses on ideation, search across platforms, validation, and build/ship steps, without any concrete image-analysis behavior or processing path, creating a mild description-behavior mismatch in the available documentation.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The manifest justifies image input for screenshots of apps, real-world problems, or social posts to identify product gaps. The instruction that a 'photo of anything' should be used as creative inspiration broadens the capability into general visual brainstorming unrelated to concrete unmet-tool discovery, which weakens alignment with the skill's stated purpose.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.