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
- 330
- Versions published
- 33Established · −30% score
- First published
- Nov 2025
- Publisher
- roomi-fields
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 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":["@roomi-fields/[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":["@roomi-fields/[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 8 · status changed
Evidence
Static findings
1 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/scripts/switch-account-language.sh | matched "curl " | 12 |
Manifest
Package metadata
Scripts26
accountsnode dist/cli/accounts.jsbuildtsc && npm run build:i18n && npm run build:chmod-binbuild:chmod-binnode -e "require('fs').chmodSync('dist/index.js', 0o755); require('fs').chmodSync('dist/stdio-http-proxy.js', 0o755);"build:i18nnode -e "require('fs').cpSync('src/i18n', 'dist/i18n', {recursive: true, filter: (s) => s.endsWith('.json') || require('fs').statSync(s).isDirectory()})"de-authnode dist/cli/de-auth.jsdevtsx watch src/index.tsdev:httptsx watch src/http-wrapper.tsdev:proxytsx watch src/stdio-http-proxy.tsdoctor:basicnode scripts/doctor.mjs --basicdoctor:httpnode scripts/doctor.mjs --httphelpnode dist/cli/help.jspreparehuskysetup-authnode dist/cli/setup-auth.jsstart:httpnode dist/http-wrapper.jsstart:proxynode dist/stdio-http-proxy.jstestnode --experimental-vm-modules node_modules/jest/bin/jest.jstest:cinode --experimental-vm-modules node_modules/jest/bin/jest.js --ci --coverage --reporters=defaulttest:coveragenode --experimental-vm-modules node_modules/jest/bin/jest.js --coveragetest:e2epowershell -ExecutionPolicy Bypass -File tests/e2e/run-e2e-tests.ps1test:e2e:basicpowershell -ExecutionPolicy Bypass -File tests/e2e/run-e2e-tests.ps1 -SkipBrowserTeststest:integrationnode --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPatterns=integrationtest:unitnode --experimental-vm-modules node_modules/jest/bin/jest.js --testPathPatterns=unittest:watchnode --experimental-vm-modules node_modules/jest/bin/jest.js --watchversion:checknode scripts/sync-version.mjs --checkversion:syncnode scripts/sync-version.mjswatchtsc --watch
Dependencies9
@modelcontextprotocol/sdk^1.0.0cors^2.8.5dotenv^16.4.0env-paths^3.0.0express^4.18.2globby^14.1.0otplib^12.0.1patchright^1.48.2zod^3.22.0