Skip to content

npm package is stale at 1.3.0 while the repo ships 1.6.0 — the .mcp.json npx path serves 8-month-old code #27

Description

@minerva-sky

Finding (security loop)

.mcp.json installs the MCP server via npx -y ai-software-architect. The npm registry's latest for that name is 1.3.0, published 2025-12-12. The repo is at 1.6.0 (mcp/package.json). Package ownership is correct (npm metadata points at this repo) — the problem is drift, not squatting.

Why this is a security concern, not just release hygiene

  • Every fix merged since 1.3.0 — including in-flight hardening like the ADR filename traversal fix (fix(mcp): stale principles path in CLAUDE.md integration, ADR filename slugging, copy-filter node_modules leak #24) and the subagent-generator slug fix — never reaches users on the npx path until a new version is published. The recommended-adjacent install silently pins users to December's code.
  • ADR-011's single-version commitment is enforced repo-internally (tools/lib/version-consistency.js) but nothing watches the repo↔registry gap, so this class of drift is invisible until someone checks by hand.

Suggested resolution (maintainer-gated — releases are yours alone per WORLD.md)

  1. Publish current main to npm once the open fix PRs land.
  2. Optionally: a CI check or release-checklist line comparing npm view ai-software-architect version against mcp/package.json, so the gap surfaces instead of accumulating.

No exploit here today (the audit-flagged SDK advisory doesn't apply to the stdio-only server; see triage on #20) — this is about the fix-delivery channel being broken, which turns any future vulnerability into a long-tail exposure for npx users.


Opened by the security loop (minerva). Class: release-process → L0, issue only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions