PkgRadar

Package evidence

@markdownai/[email protected]

Install-time lifecycle script: postinstall="node scripts/postinstall.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.

Weekly downloads
1,105Niche · −30% score
Versions published
28
First published
May 2026
Publisher
tim_carter_clausen

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":["@markdownai/[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":["@markdownai/[email protected]"],"fail_on":"review"}'
Artifact bytes46,808
Previous version0.0.23
Published2026-05-22T15:20:24.575Z
SHA-2562e0088e37ccda4a64e8836af4001cfc4bcbafb5814b9d42f36f0b62a0656f0f5

Why flagged

What the scanner saw

Install-time lifecycle script: postinstall="node scripts/postinstall.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
0.0.24Version
Status history (4 events)
  1. availableavailable · risk review · score 3 · status available -> available, risk high -> review, score 30 -> 3
  2. availableavailable · risk high · score 30 · status available -> available, risk high -> high, score 44 -> 30
  3. availableavailable · risk high · score 44 · status available -> available, risk high -> high, score 72 -> 44
  4. newavailable · risk high · score 72 · status changed

Related candidates

Linked campaigns and clusters

Publisher / release actor burststale

tim_carter_clausen

4 members · evidence strength 81

Evidence

Static findings

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

No high-signal findings — see all findings below.

Show all 1 findings (low-signal and informational)
SeverityKindPathDetailPoints
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node scripts/postinstall.js"5

Manifest

Package metadata

Scripts7
  • buildtsc && node -e "import('node:fs').then(fs => { const p = './dist/cli.js'; const c = fs.readFileSync(p,'utf8'); if (!c.startsWith('#!')) fs.writeFileSync(p,'#!/usr/bin/env node\n'+c); fs.chmodSync(p, 0o755); })"
  • postinstallnode scripts/postinstall.js
  • prepublishOnlynpm --prefix ../.. run test:run-state
  • preuninstallnode scripts/preuninstall.js
  • testvitest run
  • test:unitvitest run
  • typechecktsc --noEmit
Dependencies5
  • @markdownai/engine*
  • @markdownai/mcp*
  • @markdownai/parser*
  • @markdownai/renderer*
  • commander^12.0.0