PkgRadar

Package evidence

@hasna/[email protected]

Install Lifecycle Suppresses Failure: postinstall="mkdir -p $HOME/.hasna/emails 2>/dev/null || true"

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
2,049Niche · −30% score
Versions published
106
First published
Mar 2026
Publisher
andreihasna2

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

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":["@hasna/[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":["@hasna/[email protected]"],"fail_on":"high"}'
Publisherandreihasna2
Artifact bytes6,366,490
Previous version0.6.11
Published2026-06-12T12:45:32.815Z
SHA-256698fd24ab6c415331832d339d2298077e6b419afdb9a6eec138506d3c938adec

Why flagged

What the scanner saw

Install Lifecycle Suppresses Failure: postinstall="mkdir -p $HOME/.hasna/emails 2>/dev/null || true"

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

Availability ledger

available

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonpostinstall="mkdir -p $HOME/.hasna/emails 2>/dev/null || true"20
Show all 17 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonpostinstall="mkdir -p $HOME/.hasna/emails 2>/dev/null || true"20
lowCredential file accesspackage/dist/doctor-4ycyych3.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/mcp/doctor-6571fgt5.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/cli/doctor-ag5gdw93.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/server/doctor-npm6v407.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/mcp/gmail-sync-4w1xpb04.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/cli/gmail-sync-5sq521bw.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/mcp/provision-creds-06rhjk7g.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/cli/provision-creds-12tvcqt3.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/provision-creds-gyy7yq92.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/server/provision-creds-gyy7yq92.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/mcp/ses-469vahvh.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/ses-469vahvh.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/cli/ses-dd2jkafa.jsmatched "AWS_ACCESS_KEY"5
lowCredential file accesspackage/dist/server/ses-pnd5cmcs.jsmatched "AWS_ACCESS_KEY"5
lowInstall-time lifecycle scriptpackage.jsonpostinstall="mkdir -p $HOME/.hasna/emails 2>/dev/null || true"5
lowLarge Javascript Payloadpackage/dist/cli/ui-runtime-bundle.js3241776 bytes0

Manifest

Package metadata

Scripts14
  • buildbun run clean && bun run build:cli && bun run build:tui-runtime && bun run build:mcp && bun run build:server && bun run build:lib && bun run build:pg-migrations && bun run build:types
  • build:clibun build src/cli/index.tsx --outdir dist/cli --target bun --packages external --splitting
  • build:libbun build src/index.ts src/storage.ts --outdir dist --target bun --packages external --splitting
  • build:mcpbun build src/mcp/index.ts --outdir dist/mcp --target bun --packages external --splitting
  • build:pg-migrationsbun build src/db/pg-migrations.ts --outdir dist/db --target bun --packages external --splitting
  • build:serverbun build src/server/index.ts --outdir dist/server --target bun --packages external --splitting
  • build:tui-runtimebun run scripts/build-tui-runtime.ts
  • build:typestsc --emitDeclarationOnly --outDir dist
  • cleanrm -rf dist
  • dev:clibun run src/cli/index.tsx
  • dev:mcpbun run src/mcp/index.ts
  • dev:servebun run src/server/index.ts
  • postinstallmkdir -p $HOME/.hasna/emails 2>/dev/null || true
  • testbun test
Dependencies23
  • @aws-sdk/client-iam^3.1020.0
  • @aws-sdk/client-s3^3.1020.0
  • @aws-sdk/client-ses^3.1020.0
  • @aws-sdk/client-sesv2^3.0.0
  • @aws-sdk/client-sns3.1017.0
  • @aws-sdk/client-sqs3.1017.0
  • @aws-sdk/client-sts3.1017.0
  • @aws-sdk/credential-provider-ini^3.972.27
  • @hasna/connectors^1.3.34
  • @hasna/contacts^0.6.19
  • @hasna/domains^0.0.20
  • @modelcontextprotocol/sdk^1.12.1
  • @opentui/core0.3.2
  • @opentui/react0.3.2
  • chalk^5.4.1
  • commander^13.1.0
  • googleapis^171.4.0
  • mailparser^3.9.6
  • marked14.1.4
  • pg^8.13.3
  • react19.2.0
  • resend^4.0.0
  • zod^3.24.2