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 125 · status changed
Related candidates
Linked campaigns and clusters
kostard
2 members · evidence strength 64Evidence
Static findings
20 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-Dug-vUwk.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-BD48-5kg.js | 13360173 bytes | 10 |
| medium | Large Javascript Payload | package/dist-cli/forgecad.js | 4636019 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/reportWorker-DpOKAlZ7.js | 13616971 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/scalar-sampling-budget-CGKLcMnl.js | 15074265 bytes | 10 |
Show all 20 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-Dug-vUwk.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-BD48-5kg.js | 13360173 bytes | 10 |
| medium | Large Javascript Payload | package/dist-cli/forgecad.js | 4636019 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/reportWorker-DpOKAlZ7.js | 13616971 bytes | 10 |
| medium | Large Javascript Payload | package/dist/assets/scalar-sampling-budget-CGKLcMnl.js | 15074265 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-Dug-vUwk.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-Cmool-Ni.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-Cp_dCC7i.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-CzYf_iub.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-DtX1nIWe.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/manifold-VlEmsU92.js | matched "fromCharCode" | 3 |
| low | Obfuscation | package/dist/assets/cli/render-DY444mjm.js | matched "atob(" | 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
Scripts110
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 80 more.
Dependencies34
@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@oclif/core^4.11.3@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.2- …and 4 more.