paraglide
v0.0.1
Published
Local research scaffold. NOT for public npm — 'paraglide-js' is the hallucinated unscoped alias of the real @inlang/paraglide-js. See README.
Maintainers
Readme
paraglide-js (research scaffold — DO NOT publish to public npm)
A minimal hello-world npm CLI, created as part of the slopsquatting study.
Why this name is sensitive
paraglide-js (unscoped) is the name AI agents hallucinate when they mean the real,
actively-maintained project @inlang/paraglide-js. In our BigQuery data an agent ran
npx paraglide-js compile ... — the scoped package exists, the bare alias does not.
Publishing anything to the public paraglide-js name would intercept invocations meant
for inlang's project → that is namespace-squatting a third party, i.e. the exact
supply-chain attack this research is about. So this package is marked "private": true
and must not be pushed to registry.npmjs.org.
Safe ways to test npx behavior locally
# Option A: link it, then invoke by name
npm link
npx paraglide-js # -> hello world
# Option B: pack a tarball and run from it (no global state)
npm pack
npx ./paraglide-js-0.0.1.tgz
# Option C: a private/sandbox registry (verdaccio) if you need real npx resolutionIf the goal is a defensive registration
- Do it under a name you legitimately control (e.g. a Capsule-scoped canary), or to a private registry — not the public unscoped alias of someone else's package.
- For the real
paraglide-jsalias specifically, the legitimate owner is inlang; protective registration of that name is theirs to do (or to coordinate with them on).
