PkgRadar

Package evidence

[email protected]

Install Lifecycle Suppresses Failure: prepare="husky || exit 0"

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.

Publisher
GitHub ActionsTrusted automation · −70% score

Effective trust discount applied: 70% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.

Recommended action

Block this update

Static 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"}'
Artifact bytes779,153
Previous version1.5.1
Published2026-05-21T17:17:57.940Z
SHA-25686f1800e396cf7b0d630118c218220a8c848c5e7b806094ae6177767bc88a7a6

Why flagged

What the scanner saw

Install Lifecycle Suppresses Failure: prepare="husky || exit 0"

Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.

Availability ledger

available

high
Last checked
highRisk
30Score
1.6.0Version
Status history (1 event)
  1. newavailable · risk high · score 30 · status changed

Related candidates

Linked campaigns and clusters

Repeated static TTPstale

Install Lifecycle Suppresses Failure — prepare="husky || exit 0"

2 members · evidence strength 56

Evidence

Static findings

4 static · 0 from release diff · showing high-signal first.

SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonprepare="husky || exit 0"20
Show all 4 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonprepare="husky || exit 0"20
lowInstall-time lifecycle scriptpackage.jsonprepare="husky || exit 0"4
lowObfuscationpackage/tools/cli/lib/ui.jsmatched "\\u001B"3
lowObfuscationpackage/src/shared/scripts/skf-scan-skill-md-structure.pymatched "\\x00"3

Manifest

Package metadata

Scripts27
  • docs:buildnode tools/build-docs.js
  • docs:devnpm run --prefix website docs:dev
  • docs:fix-linksnode tools/fix-doc-links.js --write
  • docs:previewnpm run --prefix website preview
  • docs:validate-driftnode tools/validate-docs-drift.js
  • docs:validate-linksnode tools/validate-doc-links.js
  • format:checkprettier --check "**/*.{js,cjs,mjs,json,yaml}"
  • format:fixprettier --write "**/*.{js,cjs,mjs,json,yaml}"
  • linteslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0
  • lint:fixeslint . --ext .js,.cjs,.mjs,.yaml --fix
  • lint:mdmarkdownlint-cli2 "**/*.md"
  • preparehusky || exit 0
  • qualitynpm run format:check && npm run lint && npm run lint:md && npm run test:schemas && npm run test:install && npm run test:cli && npm run test:workflow && npm run test:python && npm run test:knowledge && npm run validate:schemas && npm run validate:skills && npm run validate:refs && npm run docs:validate-drift
  • skf:installnode tools/cli/skf-cli.js install
  • skf:statusnode tools/cli/skf-cli.js status
  • skf:uninstallnode tools/cli/skf-cli.js uninstall
  • skf:updatenode tools/cli/skf-cli.js update
  • testnpm run test:schemas && npm run test:install && npm run test:cli && npm run test:workflow && npm run test:python && npm run test:knowledge && npm run validate:schemas && npm run validate:skills && npm run validate:refs && npm run lint && npm run lint:md && npm run format:check
  • test:clinode test/test-cli-integration.js
  • test:installnode test/test-installation-components.js
  • test:knowledgenode test/test-knowledge-base.js
  • test:pythonuv run --with pytest --with pyyaml --with jsonschema pytest test/test-compute-score-contract.py test/test-skf-preflight.py test/test-skf-skill-inventory.py test/test-skf-validate-output.py test/test-skf-validate-frontmatter.py test/test-skf-manifest-ops.py test/test-skf-rebuild-managed-sections.py test/test-skf-severity-classify.py test/test-skf-structural-diff.py test/test-skf-detect-tools.py test/test-skf-forge-tier-rw.py test/test-skf-emit-result-envelope.py test/test-skf-qmd-classify-collections.py test/test-skf-merge-ccc-exclusions.py test/test-skf-resolve-package.py test/test-skf-extract-public-api.py test/test-skf-render-quick-metadata.py test/test-skf-validate-brief-inputs.py test/test-skf-emit-brief-result-envelope.py test/test-skf-write-skill-brief.py test/test-skf-detect-workspaces.py test/test-skf-recommend-scope-type.py test/test-skf-detect-language.py test/test-skf-description-guard.py test/test-skf-detect-scripts-assets.py test/test-skf-hash-content.py test/test-skf-validate-brief-schema.py test/test-skf-check-workspace-drift.py test/test-skf-update-active-symlink.py test/test-skf-build-change-manifest.py test/test-skf-provenance-gap-dispatch.py test/test-skf-resolve-authoritative-files.py test/test-skf-scan-manifests.py test/test-skf-pair-intersect.py test/test-skf-enumerate-stack-skills.py test/test-skf-compare-file-hashes.py test/test-skf-load-provenance.py test/test-skf-scan-skill-md-structure.py test/test-skf-disqualify-candidates.py test/test-skf-chain-reachability.py -v
  • test:schemasnode test/test-agent-schema.js
  • test:workflownode test/test-workflow-state.js
  • validate:refsnode tools/validate-file-refs.js --strict
  • validate:schemasnode test/validate-agent-schema.js
  • validate:skillsnode tools/validate-skills.js --strict
Dependencies6
  • @clack/prompts^1.1.0
  • chalk^4.1.2
  • commander^14.0.0
  • figlet^1.8.0
  • fs-extra^11.3.0
  • js-yaml^4.1.0