Recommended action
Block this updateStatic evidence trips multiple high-signal indicators. Quarantine the release until the publisher validates the change or you can rule out the indicators below.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"high"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"high"}'Why flagged
What the scanner saw
Remote Payload: matched "curl "
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk high · score 119 · status changed
Related candidates
Linked campaigns and clusters
kostard
2 members · evidence strength 64Evidence
Static findings
18 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/examples/mechanical/5-finger-robot-hand.forge.js | matched "curl " | 12 |
| medium | Obfuscation Density | package/dist/assets/DocsPage-9U1hGjrg.js | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/dist/assets/index-CnZUgvOr.js | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/dist/assets/index-DPSc7OlC.js | high encoded/escaped-token density | 12 |
| medium | Large Javascript Payload | package/dist/assets/evalWorker-CtO7GsJR.js | 13328897 bytes | 10 |
| medium | Large Javascript Payload | package/dist-cli/forgecad.js | 4490869 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/reportWorker-Bz9tGiHb.js | 13585136 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/scalar-sampling-budget-Bmewod18.js | 14992964 bytes | 10 |
Show all 18 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/examples/mechanical/5-finger-robot-hand.forge.js | matched "curl " | 12 |
| medium | Obfuscation Density | package/dist/assets/DocsPage-9U1hGjrg.js | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/dist/assets/index-CnZUgvOr.js | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/dist/assets/index-DPSc7OlC.js | high encoded/escaped-token density | 12 |
| medium | Large Javascript Payload | package/dist/assets/evalWorker-CtO7GsJR.js | 13328897 bytes | 10 |
| medium | Large Javascript Payload | package/dist-cli/forgecad.js | 4490869 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/reportWorker-Bz9tGiHb.js | 13585136 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/scalar-sampling-budget-Bmewod18.js | 14992964 bytes | 10 |
| low | Install-time lifecycle script | package.json | prepare="npm run build:cli && npm run install-hooks" | 4 |
| low | Obfuscation | package/dist/assets/DocsPage-9U1hGjrg.js | matched "\\x00" | 3 |
| low | Obfuscation | package/dist/assets/index-CUSXSBYX.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/index-M5hNmgCH.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-BRdhoQy5.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-BVi4_OeB.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-Cp_dCC7i.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-DAzn2Fsa.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/vendor-react-Da3A2QmU.js | matched "\\u00C0" | 3 |
| low | Obfuscation | package/dist-skill/library/forgecad-image-replicator/scripts/compare_images.mjs | matched "Buffer.from(result.png.replace(/^data:image\\/png;base64" | 3 |
Manifest
Package metadata
Scripts105
bench:edge-finishesnode scripts/truck-edge-finish-parity-benchmark.mjsbench:geometry:nativecargo run --manifest-path geometry/Cargo.toml --release --features parallel --example server_parallel_bench -- --require-parallelbeta:dbbash scripts/beta.sh dbbeta:deploybash scripts/beta.sh deploybeta:helpbash scripts/beta.sh helpbeta:localbash scripts/beta.sh localbeta:logsbash scripts/beta.sh logsbeta:openbash scripts/beta.sh openbeta:refreshbash scripts/beta.sh refreshbeta:rollbackbash scripts/beta.sh rollbackbeta:setupbash scripts/beta.sh setupbeta:shellbash scripts/beta.sh shellbeta:smokebash scripts/beta.sh smokebuildnpm run build:solver && npm run build:geometry && npm run build:skill:forgecad && tsc && npm run build:sitemap && vite build && npm run build:clibuild:backendnpm run build:solver:if-missing && npm run build:geometry:if-missing && tsup apps/backend/src/server.ts --format esm --platform node --target node20 --out-dir dist-backend --clean --sourcemap && node scripts/copy-wasm-assets.mjs dist-backendbuild:binarynode scripts/build-binary.mjsbuild:binary:allnode scripts/build-binary.mjs --allbuild:clinpm run build:solver:if-missing && npm run build:geometry:if-missing && tsup cli/forgecad.ts --format esm --platform node --target node20 --out-dir dist-cli --clean --sourcemap --external typescript && node scripts/copy-cli-assets.mjs dist-clibuild:docsnode scripts/build-docs-site.mjsbuild:geometrynode scripts/geometry-build.mjs --releasebuild:geometry:devnode scripts/geometry-build.mjsbuild:geometry:if-missingnode scripts/geometry-build.mjs --release --if-missingbuild:geometry:nativenode scripts/geometry-build.mjs --native --releasebuild:geometry:native:parallelnode scripts/geometry-build.mjs --native --release --parallelbuild:hostednpm run build:solver && npm run build:geometry && npm run build:skill:forgecad && tsc && npm run build:sitemap && FORGE_HOSTED=true vite buildbuild:sitemapnode scripts/gen-sitemap.mjsbuild:skill:forgecadnode scripts/build-forgecad-skill.mjsbuild:solvernode scripts/solver-build.mjs --releasebuild:solver:devnode scripts/solver-build.mjsbuild:solver:if-missingnode scripts/solver-build.mjs --release --if-missing- …and 75 more.
Dependencies33
@fastify/cookie^11.0.2@fastify/cors^11.2.0@fastify/formbody^8.0.2@fastify/rate-limit^10.3.0@fastify/static^9.0.0@fontsource/inter^5.2.8@react-three/postprocessing^3.0.4argon2^0.44.0chokidar^4.0.0clipper-lib^6.4.2drizzle-orm^0.45.1fastify^5.8.4gifenc^1.0.3jsonwebtoken^9.0.3lz-string^1.5.0manifold-3d^3.4.0meshoptimizer^1.0.1mp4-muxer^5.2.1nanoid^5.1.7opencascade.js2.0.0-beta.b5ff984opentype.js^1.3.4pino^10.3.1pngjs^7.0.0polygon-clipping^0.15.7postgres^3.4.8postprocessing^6.39.0prom-client^15.1.3puppeteer-core^24.37.2react-router-dom^7.13.2resend^6.9.4- …and 3 more.