Package evidence
@figma/[email protected]
Native Addon Gyp Action: binding.gyp runs a script or chains shell during node-gyp build (executes outside package.json lifecycle)
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
- 8
- First published
- Feb 2022
- Publisher
- jfirebaugh
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":["@figma/[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":["@figma/[email protected]"],"fail_on":"high"}'Why flagged
What the scanner saw
New Lifecycle Script Vs Previous: install added in 0.28.0-figma.4 vs 0.28.0-figma.3: "node lifecycleScripts/preinstall && node lifecycleScripts/install"
1 candidate cluster(s) currently reference this release.
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (2 events)
- available → available · risk high · score 125 · status available -> available, risk high -> high, score 90 -> 125
- new → available · risk high · score 90 · status changed
Related candidates
Linked campaigns and clusters
Native Addon Gyp Action — binding.gyp runs a script or chains shell during node-gyp build (executes outside package.json lifecycle)
44 members · evidence strength 90Native Addon Gyp Action — binding.gyp runs a script or chains shell during node-gyp build (executes outside package.json lifecycle)
44 members · max score 147Evidence
Static findings
3 static · 2 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | New Lifecycle Script Vs Previous | package.json | install added in 0.28.0-figma.4 vs 0.28.0-figma.3: "node lifecycleScripts/preinstall && node lifecycleScripts/install" | 40 |
| high | New Lifecycle Script Vs Previous | package.json | postinstall added in 0.28.0-figma.4 vs 0.28.0-figma.3: "node lifecycleScripts/postinstall" | 40 |
| high | Native Addon Gyp Action | package/binding.gyp | binding.gyp runs a script or chains shell during node-gyp build (executes outside package.json lifecycle) | 35 |
Show all 5 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | New Lifecycle Script Vs Previous | package.json | install added in 0.28.0-figma.4 vs 0.28.0-figma.3: "node lifecycleScripts/preinstall && node lifecycleScripts/install" | 40 |
| high | New Lifecycle Script Vs Previous | package.json | postinstall added in 0.28.0-figma.4 vs 0.28.0-figma.3: "node lifecycleScripts/postinstall" | 40 |
| high | Native Addon Gyp Action | package/binding.gyp | binding.gyp runs a script or chains shell during node-gyp build (executes outside package.json lifecycle) | 35 |
| low | Install-time lifecycle script | package.json | install="node lifecycleScripts/preinstall && node lifecycleScripts/install" | 5 |
| low | Install-time lifecycle script | package.json | postinstall="node lifecycleScripts/postinstall" | 5 |
Manifest
Package metadata
Scripts20
covnpm run cppcov && npm run filtercov && npm run mergecovcoverallscat ./test/coverage/merged.lcov | coverallscppcovmkdir -p test/coverage/cpp && ./lcov-1.10/bin/lcov --gcov-tool /usr/bin/gcov-4.9 --capture --directory build/Release/obj.target/nodegit/src --output-file test/coverage/cpp/lcov_full.infofiltercov./lcov-1.10/bin/lcov --extract test/coverage/cpp/lcov_full.info $(pwd)/src/* $(pwd)/src/**/* $(pwd)/include/* $(pwd)/include/**/* --output-file test/coverage/cpp/lcov.info && rm test/coverage/cpp/lcov_full.infogenerateJsonnode generate/scripts/generateJsongenerateMissingTestsnode generate/scripts/generateMissingTestsgenerateNativeCodenode generate/scripts/generateNativeCodeinstallnode lifecycleScripts/preinstall && node lifecycleScripts/installinstallDebugBUILD_DEBUG=true npm installlintjshint lib test/tests test/utils lifecycleScriptsmergecovlcov-result-merger 'test/**/*.info' 'test/coverage/merged.lcov' && ./lcov-1.10/bin/genhtml test/coverage/merged.lcov --output-directory test/coverage/reportmochamocha --expose-gc test/runner test/tests --timeout 15000mochaDebugmocha --expose-gc --inspect-brk test/runner test/tests --timeout 15000postinstallnode lifecycleScripts/postinstallrebuildnode generate && node-gyp configure buildrebuildDebugnode generate && node-gyp configure --debug buildrecompilenode-gyp configure buildrecompileDebugnode-gyp configure --debug buildtestnpm run lint && node --expose-gc testxcodeDebugnode-gyp configure -- -f xcode
Dependencies9
@axosoft/nan^2.18.0-gk.1@mapbox/node-pre-gyp^1.0.8fs-extra^7.0.0got^11.8.6json5^2.1.0lodash^4.17.14node-gyp^9.3.0ramda^0.25.0tar-fs^2.1.1