Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Versions published
- 35Mature · −50% score
- First published
- Mar 2025
- Publisher
- joostdecock
Effective trust discount applied: −50% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Review before promotingMixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.
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":["@freesewing/[email protected]"],"fail_on":"review"}'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":["@freesewing/[email protected]"],"fail_on":"review"}'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 review · score 10 · status changed
Evidence
Static findings
4 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/components/Account/Avatar.mjs | matched "cUrl " | 12 |
Show all 4 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/components/Account/Avatar.mjs | matched "cUrl " | 12 |
| low | Obfuscation | package/components/Account/Import.mjs | matched "atob(" | 3 |
| low | Obfuscation | package/components/Editor/components/menus/LayoutMenu.mjs | matched "\\u00A0" | 3 |
| low | Obfuscation | package/components/Editor/lib/export/plugin-tiler.mjs | matched "fromCharCode" | 3 |
Manifest
Package metadata
Scripts2
linteslint 'components/**/*.mjs' 'hooks/**/*.mjs' 'lib/**/*.mjs' 'context/**/*.mjs' 'config/**/*.mjs'prettiernpx prettier --write 'components/**/*.mjs' 'hooks/**/*.mjs' 'lib/**/*.mjs' 'context/**/*.mjs' 'config/**/*.mjs'
Dependencies23
@codemirror/lang-yaml^6.1.2@uiw/codemirror-themes-all^4.23.12@uiw/react-codemirror^4.23.8d3-drag3.0.0d3-selection3.0.0diff^7.0.0echarts^5.6.0echarts-for-react^3.0.2file-saver^2.0.5highlight.js^11.11.1html-react-parser^5.2.2jotai^2.12.1jotai-location^0.5.5luxon^3.5.0mustache^4.2.0pdfkit^0.16.0react-diff-viewer-continued^4.0.5react-dropzone^14.3.5react-zoom-pan-pinch^3.7.0svg-to-pdfkit^0.1.8use-local-storage-state^19.5.0web-worker^1.5.0yaml^2.7.0