T08 · Insecure Dependencies
- Location
SKILL.md:279- Finding
Ambiguous Unscoped npx Commands Create a Dependency-Confusion Execution Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:62, 279-283;references/guide.md:37, 972-993, 1346
Vulnerability Type: Supply-chain package-name confusion
Risk Level: MediumVulnerable Code
The installation instructions identify a scoped npm package:
bash npm install @jeremiaheth/neolata-memHowever, the CLI instructions execute an unscoped package name:
bash npx neolata-mem store myagent "Important fact here" npx neolata-mem search myagent "query" npx neolata-mem decay --dry-run npx neolata-mem health npx neolata-mem clustersThe same mismatch appears throughout
references/guide.md:bash npm install @jeremiaheth/neolata-mem npx neolata-mem store kuro "Found XSS in login form" security web npx neolata-mem search kuro "web vulnerabilities" npx neolata-mem search-all "security issues" npx neolata-mem evolve kuro "Login form XSS has been patched" npx neolata-mem links abc123 npx neolata-mem traverse abc123 3 npx neolata-mem clusters 3 npx neolata-mem path abc123 def456 npx neolata-mem decay --dry-run npx neolata-mem decay npx neolata-mem health npx neolata-mem context kuro "database security"Technical Analysis
The documented library is
@jeremiaheth/neolata-mem, but the CLI examples passneolata-memtonpx. These are distinct npm package identifiers.If the expected CLI executable is not already available in the local project,
npxmay attempt to resolve the unscopedneolata-mempackage from the configured npm registry. An unrelated or malicious package controlling that unscoped name could therefore be downloaded and executed.This artifact contains documentation only and does not include the npm package implementation. Consequently, its claims regarding zero dependencies, absence of install scripts, SSRF validation, credential redaction, and other safeguards could not be independently verified during this audit.
Attack Path
- An attacker publishes or compromises the unscoped
neolata-mem...[truncated 1309 chars]
- An attacker publishes or compromises the unscoped
- Remediation
View remediation
Remediation Suggestions
-
Replace ambiguous commands with an explicit scoped package selection:
bash npm exec --package=@jeremiaheth/neolata-mem@0.8.4 -- neolata-mem health -
Prefer installing a pinned, verified package version and invoking its local executable:
bash npm install --save-exact @jeremiaheth/neolata-mem@0.8.4 ./node_modules/.bin/neolata-mem health -
Commit and enforce a lockfile with registry-resolved integrity hashes.
-
In CI or automation, use
npx --no-install neolata-mem ...after a verified installation so missing local binaries fail closed rather than triggering registry retrieval. -
Correct all affected commands in
SKILL.mdandreferences/guide.md, including troubleshooting examples. -
Include the package source in the audited artifact or pin it to a verifiable source revision so the claimed SSRF, credential-handling, path-validation, and webhook protections can be reviewed directly.
-
Publish package provenance and verify signatures or attestations where the npm environment supports them.
-
