PkgRadar

Package evidence

safety==3.8.0

Py Runtime Subprocess: subprocess call — process spawning.

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.

Versions published
116Mature · −50% score
First published
Oct 2016

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 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":["safety==3.8.0"],"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":["safety==3.8.0"],"fail_on":"review"}'
Publisherunknown
Artifact bytes412,641
Previous versionnone
Published2026-05-26T18:24:55
SHA-25624b2cd7b873ee0dd4bc7f4f65933d2bfaf7041741f371449c12b5c8572ccb727

Why flagged

What the scanner saw

Py Runtime Subprocess: subprocess call — process spawning.

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

Availability ledger

available

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
mediumPy Runtime Subprocesssafety-3.8.0/safety/cli_util.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/util.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/events/utils/emission.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/scan/util.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/base.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/resolver.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/interceptors/windows.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/npm/main.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/pip/main.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/tool/poetry/main.pysubprocess call — process spawning.20
mediumPy Runtime Subprocesssafety-3.8.0/safety/utils/machine_id.pysubprocess call — process spawning.20