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.
- Weekly downloads
- 938
- Versions published
- 529Mature · −50% score
- First published
- Oct 2015
- Publisher
- cedric.alfonsi
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":["[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"}'Why flagged
What the scanner saw
Obfuscation Density: high encoded/escaped-token density
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 24 · status changed
Evidence
Static findings
11 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Obfuscation Density | package/build/js/dist/api-vendors.js | high encoded/escaped-token density | 12 |
| medium | Remote Payload | package/.devcontainer/post-start.sh | matched "curl " | 12 |
| medium | Remote Payload | package/ci-scripts/bin/slack-status-messages.sh | matched "curl " | 12 |
| medium | Remote Dependency Spec | package.json | dependencies.react-list="github:passbolt/react-list#v0.8.18" | 12 |
Show all 11 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Obfuscation Density | package/build/js/dist/api-vendors.js | high encoded/escaped-token density | 12 |
| medium | Remote Payload | package/.devcontainer/post-start.sh | matched "curl " | 12 |
| medium | Remote Payload | package/ci-scripts/bin/slack-status-messages.sh | matched "curl " | 12 |
| medium | Remote Dependency Spec | package.json | dependencies.react-list="github:passbolt/react-list#v0.8.18" | 12 |
| low | Credential file access | package/build/js/dist/api-app.js | matched ".aws" | 5 |
| low | Credential file access | package/src/shared/components/Table/CellUris.js | matched ".SSH" | 5 |
| low | Credential file access | package/src/react-extension/components/Resource/DisplayResourceUrisBadge/DisplayResourceUrisBadge.js | matched ".SSH" | 5 |
| low | Credential file access | package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js | matched ".azure" | 5 |
| low | Credential file access | package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/SmtpProviders.data.js | matched ".aws" | 5 |
| low | Credential file access | package/src/react-extension/components/AuthenticationLogin/SsoLogin/SsoLogin.test.page.js | matched ".azure" | 5 |
| low | Credential file access | package/.github/workflows/storybook.yml | matched "GITHUB_TOKEN" | 3 |
Manifest
Package metadata
Scripts20
buildnpm run build-api-appbuild-api-appwebpack --config webpack-api.config.jsbuild:clean:allnpm run build:clean:css && rimraf ./build/css/*build:clean:cssrimraf ./src/css/*deploy-storybookstorybook-to-ghpages --remote githubdev:build:custom-themenpx grunt build_custom_themedev:storybook:buildNODE_OPTIONS=--max_old_space_size=2048 storybook builddev:storybook:install./scripts/installStorybookDependencies.shdev:storybook:startSTORYBOOK_DEV=true storybook dev -p 6006dev:watch:custom-themenpx grunt watch_custom_themei18n:externalizei18next -c ./i18next-parser.config.jslintnpm run lint:lockfile && npm run lint:eslintlint:eslinteslint src --max-warnings 0lint:eslint-fixeslint --fix srclint:lockfilelockfile-lint --path package-lock.json --allowed-hosts npm github.com --allowed-schemes "https:" "git+ssh:" --empty-hostname falsetestnpm run test:unittest:ci:coveragenpm run test:coverage -- --runInBandtest:coveragejest --no-cache ./src --coveragetest:storybooktest-storybooktest:unitjest --no-cache ./src
Dependencies24
debounce-promise^3.1.2downloadjs^1.4.7grapheme-splitter^1.0.4html5-qrcode^2.3.8i18next^25.4.0i18next-http-backend^3.0.5ip-regex^5.0.0jssha^3.2.0luxon^3.4.4memoize-one^6.0.0otpauth^9.1.4prop-types^15.7.2qrcode^1.5.0react^18.3.1react-color^2.19.3react-dom^18.3.1react-i18next^14.0.0react-listgithub:passbolt/react-list#v0.8.18react-router-dom^5.2.0react-transition-group^4.4.1uuid^14.0.0validator^13.15.26webextension-polyfill^0.10.0xregexp^5.1.2