PkgRadar

Package evidence

@keepur/[email protected]

Obfuscation Density: high encoded/escaped-token density

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
217
Versions published
40
First published
Apr 2026
Publisher
may-keepur

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":["@keepur/[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":["@keepur/[email protected]"],"fail_on":"review"}'
Publishermay-keepur
Artifact bytes1,295,978
Previous version0.7.0
Published2026-05-18T09:55:32.678Z
SHA-256887d57ce9208fbf9f305f01bc061f3e4ebd953d7ddfa268997f4a95747a10ecc

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

review
Last checked
reviewRisk
79Score
0.8.0Version
Status history (1 event)
  1. newavailable · risk review · score 79 · status changed

Evidence

Static findings

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

SeverityKindPathDetailPoints
mediumObfuscation Densitypackage/pkg/mcp/background-task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/clickup.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/code-task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/github-issues.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/google.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/keychain.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/linear.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/quo.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/recall.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/resend.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/search-conversation.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/server.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/skill-author.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/slack.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/voice.min.jshigh encoded/escaped-token density12
mediumRemote Payloadpackage/service/deploy.shmatched "curl "12
mediumRemote Payloadpackage/install/migrate-0.2.shmatched "curl "12
Show all 19 findings (low-signal and informational)
SeverityKindPathDetailPoints
mediumObfuscation Densitypackage/pkg/mcp/background-task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/clickup.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/code-task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/github-issues.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/google.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/keychain.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/linear.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/quo.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/recall.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/resend.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/search-conversation.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/server.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/skill-author.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/slack.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/task.min.jshigh encoded/escaped-token density12
mediumObfuscation Densitypackage/pkg/mcp/voice.min.jshigh encoded/escaped-token density12
mediumRemote Payloadpackage/service/deploy.shmatched "curl "12
mediumRemote Payloadpackage/install/migrate-0.2.shmatched "curl "12
lowCredential file accesspackage/pkg/mcp/keychain.min.jsmatched "GITHUB_TOKEN"5

Manifest

Package metadata

Scripts28
  • buildtsc
  • bundlenpm run build && npx tsx build/bundle.ts
  • checknpm run typecheck && npm run lint && npm run format:check && npm run test
  • check:bundlenpm run bundle && node scripts/check-bundle-strings.mjs && node scripts/check-bundle-pack.mjs && node scripts/check-bundle-runtime.mjs
  • devnpx tsx src/index.ts
  • formatprettier --write "src/**/*.ts" "setup/**/*.ts"
  • format:checkprettier --check "src/**/*.ts" "setup/**/*.ts"
  • linteslint src/ setup/
  • lint:fixeslint --fix src/ setup/
  • migrate:agents:add-rolesnpx tsx scripts/migrate-agents-add-roles.ts
  • migrate:agents:legacynpx tsx setup/migrate-agents.ts
  • migrate:contacts-categoriesnpx tsx scripts/migrate-contacts-categories.ts
  • migrate:split-crm-contactsnpx tsx setup/migrate-split-crm-contacts.ts
  • postversiongit push --follow-tags
  • prepublishOnlynpm run bundle
  • reindexnpx tsx scripts/code-index.ts
  • setupnpx tsx src/cli.ts init
  • setup:constitutionnpx tsx setup/setup-constitution.ts
  • setup:instancenpx tsx setup/setup-instance.ts
  • setup:plistnpx tsx setup/generate-plist.ts
  • setup:pluginsnpx tsx setup/sync-plugins.ts
  • setup:seedsnpx tsx setup/setup-seeds.ts
  • startnode dist/index.js
  • testvitest run
  • test:coveragevitest run --coverage
  • test:watchvitest
  • typechecktsc --noEmit
  • updategit pull && npm install && npm run build
Dependencies17
  • @anthropic-ai/claude-agent-sdk^0.2.63
  • @anthropic-ai/sdk^0.82.0
  • @linear/sdk^76.0.0
  • @modelcontextprotocol/sdk^1.27.1
  • @qdrant/js-client-rest^1.17.0
  • @slack/socket-mode^2.0.5
  • @slack/web-api^7.14.1
  • better-sqlite3^12.8.0
  • brave-search-mcp^2.0.1
  • csv-parse^6.1.0
  • dotenv^17.3.1
  • mammoth^1.11.0
  • mongodb^7.1.0
  • pdf-parse^2.4.5
  • ws^8.19.0
  • xlsx^0.18.5
  • yaml^2.8.2