PkgRadar

Package evidence

planemo==0.75.44

Py Runtime Subprocess: subprocess call with shell=True — passes argv to /bin/sh.

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
161Mature · −50% score
First published
Feb 2015

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":["planemo==0.75.44"],"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":["planemo==0.75.44"],"fail_on":"review"}'
Publisherunknown
Artifact bytes519,455
Previous versionnone
Published2026-05-26T16:35:35
SHA-25696cba80a4c9e1f8940ef82806123d400a8f593ed526740e3347e31965b9bdc27

Why flagged

What the scanner saw

Py Runtime Subprocess: subprocess call with shell=True — passes argv to /bin/sh.

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

Availability ledger

available

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/tool_builder.pysubprocess call with shell=True — passes argv to /bin/sh.30
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/xml/validation.pysubprocess call with shell=True — passes argv to /bin/sh.30
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/database/postgres_singularity.pysubprocess call — process spawning.20
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/io.pysubprocess call — process spawning.20
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/shed2tap/base.pysubprocess call — process spawning.20
mediumPy Runtime Eval Execplanemo-0.75.44/planemo/autopygen/argument_parser_conversion.pyPython eval()/exec() called on a string.15
mediumRemote Payloadplanemo-0.75.44/planemo/commands/cmd_slurm_init.pymatched "github.com/natefoo/slurm-drmaa/releases/download"12
mediumRemote Payloadplanemo-0.75.44/planemo/github_util.pymatched "github.com/cli/cli/releases/download"12
mediumObfuscation Densityplanemo-0.75.44/planemo/reports/markdown-it.min.jshigh encoded/escaped-token density12
mediumRemote Payloadplanemo-0.75.44/planemo/shed2tap/base.pymatched "curl "12
Show all 11 findings (low-signal and informational)
SeverityKindPathDetailPoints
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/tool_builder.pysubprocess call with shell=True — passes argv to /bin/sh.30
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/xml/validation.pysubprocess call with shell=True — passes argv to /bin/sh.30
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/database/postgres_singularity.pysubprocess call — process spawning.20
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/io.pysubprocess call — process spawning.20
mediumPy Runtime Subprocessplanemo-0.75.44/planemo/shed2tap/base.pysubprocess call — process spawning.20
mediumPy Runtime Eval Execplanemo-0.75.44/planemo/autopygen/argument_parser_conversion.pyPython eval()/exec() called on a string.15
mediumRemote Payloadplanemo-0.75.44/planemo/commands/cmd_slurm_init.pymatched "github.com/natefoo/slurm-drmaa/releases/download"12
mediumRemote Payloadplanemo-0.75.44/planemo/github_util.pymatched "github.com/cli/cli/releases/download"12
mediumObfuscation Densityplanemo-0.75.44/planemo/reports/markdown-it.min.jshigh encoded/escaped-token density12
mediumRemote Payloadplanemo-0.75.44/planemo/shed2tap/base.pymatched "curl "12
lowCredential file accessplanemo-0.75.44/planemo/github_util.pymatched "GITHUB_TOKEN"5