Skip to content

NLPM audit findings: 2 bugs and 2 security improvementsΒ #20

@xiaolai

Description

@xiaolai

Automated audit: This issue was generated by NLPM, a natural language programming linter, running via claude-code-action. Please evaluate the findings on their merits.

Hi @ykdojo πŸ‘‹ β€” first, thank you for building and sharing this plugin publicly. The overall quality is impressive: 93/100 on NLPM's natural language scoring across 9 artifacts, with most skills scoring 95–100.

This issue summarizes the findings from an automated NLPM audit and links to the pull requests that address them.


About NLPM

NLPM is a natural language programming linter for Claude Code plugins. It scores NL artifacts (commands, skills, agents) against a 50-rule rubric and flags mechanical issues like missing frontmatter fields, broken cross-references, and hardcoded paths. It also runs a security scan against known risky patterns in executable artifacts.

Audit date: 2026-04-17 | Artifacts scored: 9 | Overall score: 93/100


Bugs Found (PR-worthy)

# File Issue PR
1 .claude/commands/upgrade-patches.md Missing allowed-tools frontmatter β€” Claude Code may prompt for Bash permission on every step PR #17
2 .claude/commands/upgrade-patches.md Hardcoded absolute path /Users/yk/Desktop/projects/safeclaw makes the command non-functional for other users PR #17

Security Improvements (Medium/Low severity)

# File Issue PR
1 scripts/setup.sh npm install -g cc-safe has no version pin β€” supply-chain risk if the package is ever compromised PR #18
2 scripts/setup.sh curl downloads context-bar.sh then immediately chmod +x with no integrity check β€” tampered download would execute on every Claude Code prompt PR #19

Note: Two HIGH-severity findings (curl-download-exec pattern and sudo npm) are separate from the PRs above. Those warrant private maintainer review before any public action. They are opt-in (only triggered when a user runs setup.sh), which reduces the blast radius, but the pattern is still worth addressing in a future iteration.


Pull Requests

  • PR #17 β€” fix(command): add allowed-tools and parameterize hardcoded path in upgrade-patches.md
  • PR #18 β€” fix(security): pin cc-safe to version 0.1.13 in setup.sh
  • PR #19 β€” fix(security): add SHA-256 checksum verification for curl-downloaded context-bar.sh

Feel free to close any PR that doesn't match your intent or contributing style β€” each diff is minimal and focused on a single issue. No hard feelings either way!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions