PkgRadar

Package evidence

[email protected]

Install-time lifecycle script: postinstall="node scripts/postinstall-message.js"

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
127Established · −30% score
First published
Sep 2025
Publisher
fsscoding

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

Recommended action

Review before promoting

Mixed 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":["[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":["[email protected]"],"fail_on":"review"}'
Publisherfsscoding
Artifact bytes2,582,736
Previous version1.6.12
Published2026-05-27T02:26:12.665Z
SHA-2566a7ab58541ce00ba18b1b6de08c7d4528e2e095c1754bd35b08d4e11714b6732

Why flagged

What the scanner saw

Install-time lifecycle script: postinstall="node scripts/postinstall-message.js"

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

Availability ledger

available

review
Last checked
reviewRisk
3Score
1.6.13Version
Status history (2 events)
  1. availableavailable · risk review · score 3 · status available -> available, risk high -> review, score 51 -> 3
  2. newavailable · risk high · score 51 · status changed

Evidence

Static findings

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

No high-signal findings — see all findings below.

Show all 2 findings (low-signal and informational)
SeverityKindPathDetailPoints
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node scripts/postinstall-message.js"5
lowLarge Javascript Payloadpackage/bundle/fss-link.js3017216 bytes0

Manifest

Package metadata

Scripts34
  • authnpm run auth:npm && npm run auth:docker
  • auth:dockergcloud auth configure-docker us-west1-docker.pkg.dev
  • auth:npmnpx google-artifactregistry-auth
  • buildnode scripts/build.js
  • build-and-startnpm run build && npm run start
  • build:allnpm run build && npm run build:sandbox && npm run build:vscode
  • build:packagesnpm run build --workspaces
  • build:sandboxnode scripts/build_sandbox.js --skip-npm-install-build
  • build:vscodenode scripts/build_vscode_companion.js
  • bundlenpm run generate && node scripts/prebundle-sync-dist.js && node esbuild.config.js && node scripts/copy_bundle_assets.js
  • cleannode scripts/clean.js
  • debugcross-env DEBUG=1 node --inspect-brk scripts/start.js
  • formatprettier --experimental-cli --write .
  • generatenode scripts/generate-git-commit-info.js
  • linteslint . --ext .ts,.tsx && eslint integration-tests
  • lint:cieslint . --ext .ts,.tsx --max-warnings 0 && eslint integration-tests --max-warnings 0
  • lint:fixeslint . --fix && eslint integration-tests --fix
  • postinstallnode scripts/postinstall-message.js
  • preflightnpm run clean && npm ci && npm run format && npm run lint:ci && npm run build && npm run typecheck && npm run test:ci
  • preparenpm run bundle
  • prepare:packagenode scripts/prepare-package.js
  • prepublishOnlynode scripts/check-publish.js
  • release:versionnode scripts/version.js
  • startnode scripts/start.js
  • telemetrynode scripts/telemetry.js
  • testnpm run test --workspaces --if-present
  • test:cinpm run test:ci --workspaces --if-present && npm run test:scripts
  • test:e2ecross-env VERBOSE=true KEEP_OUTPUT=true npm run test:integration:sandbox:none
  • test:integration:allnpm run test:integration:sandbox:none && npm run test:integration:sandbox:docker && npm run test:integration:sandbox:podman
  • test:integration:sandbox:dockerGEMINI_SANDBOX=docker npm run build:sandbox && GEMINI_SANDBOX=docker vitest run --root ./integration-tests
  • …and 4 more.
Dependencies48
  • @google/genai1.13.0
  • @iarna/toml^2.2.5
  • @modelcontextprotocol/sdk^1.15.1
  • @mozilla/readability^0.6.0
  • axios^1.11.0
  • chalk^5.3.0
  • cheerio^1.1.2
  • command-exists^1.2.9
  • diff^9.0.0
  • dotenv^17.1.0
  • exceljs^4.4.0
  • fs-extra^11.3.1
  • glob^13.0.6
  • highlight.js^11.11.1
  • ink^6.1.1
  • ink-big-text^2.0.0
  • ink-gradient^3.0.0
  • ink-link^4.1.0
  • ink-select-input^6.2.0
  • ink-spinner^5.0.0
  • ink-text-input^6.0.0
  • jsdom^27.0.0
  • lowlight^3.3.0
  • mime-types^3.0.1
  • open^10.1.2
  • p-limit^7.1.1
  • pdf-to-img^6.0.0
  • proper-lockfile^4.1.2
  • qrcode-terminal^0.12.0
  • react^19.2.0
  • …and 18 more.
Optional dependencies7
  • @lydell/node-pty1.1.0
  • @lydell/node-pty-darwin-arm641.1.0
  • @lydell/node-pty-darwin-x641.1.0
  • @lydell/node-pty-linux-x641.1.0
  • @lydell/node-pty-win32-arm641.1.0
  • @lydell/node-pty-win32-x641.1.0
  • node-pty^1.0.0