PkgRadar

Package evidence

zenml==0.94.6

Py Runtime Base64 Decode: base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.

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
189Mature · −50% score
First published
Dec 2020
Publisher
ZenML GmbH

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":["zenml==0.94.6"],"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":["zenml==0.94.6"],"fail_on":"review"}'
PublisherZenML GmbH
Artifact bytes7,216,327
Previous versionnone
Published2026-06-02T10:47:56
SHA-2568d62a97c5a6e2baa1c24a9a168f0e7a87a363f32412845cf54b8f995d8ef1675

Why flagged

What the scanner saw

Py Runtime Base64 Decode: base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.

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

Availability ledger

available

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
highPy Runtime Base64 Decodezenml-0.94.6/src/zenml/integrations/gcp/service_connectors/gcp_service_connector.pybase64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.30
highPy Runtime Base64 Decodezenml-0.94.6/src/zenml/integrations/kubernetes/service_connectors/kubernetes_service_connector.pybase64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.30
mediumPy Custom Build Backendpyproject.tomlNon-standard PEP 517 build-backend `uv_build` — runs custom code at install time.15
mediumRemote Payloadzenml-0.94.6/src/zenml/zen_server/dashboard/assets/index-B1ovDZng.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadzenml-0.94.6/src/zenml/zen_server/dashboard/assets/page-DMfi1Cqq.jsmatched "raw.githubusercontent.com"12
mediumCredential file accesszenml-0.94.6/src/zenml/zen_stores/secrets_stores/gcp_secrets_store.pymatched "GOOGLE_APPLICATION_CREDENTIALS"10
Show all 14 findings (low-signal and informational)
SeverityKindPathDetailPoints
highPy Runtime Base64 Decodezenml-0.94.6/src/zenml/integrations/gcp/service_connectors/gcp_service_connector.pybase64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.30
highPy Runtime Base64 Decodezenml-0.94.6/src/zenml/integrations/kubernetes/service_connectors/kubernetes_service_connector.pybase64/hex decode combined with exec/subprocess — classic obfuscated payload pattern.30
mediumPy Custom Build Backendpyproject.tomlNon-standard PEP 517 build-backend `uv_build` — runs custom code at install time.15
mediumRemote Payloadzenml-0.94.6/src/zenml/zen_server/dashboard/assets/index-B1ovDZng.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadzenml-0.94.6/src/zenml/zen_server/dashboard/assets/page-DMfi1Cqq.jsmatched "raw.githubusercontent.com"12
mediumCredential file accesszenml-0.94.6/src/zenml/zen_stores/secrets_stores/gcp_secrets_store.pymatched "GOOGLE_APPLICATION_CREDENTIALS"10
lowCredential file accesszenml-0.94.6/src/zenml/integrations/aws/deployers/aws_deployer.pymatched ".aws/"5
lowCredential file accesszenml-0.94.6/src/zenml/integrations/aws/orchestrators/sagemaker_orchestrator.pymatched "aws_access_key"5
lowCredential file accesszenml-0.94.6/src/zenml/integrations/aws/service_connectors/aws_service_connector.pymatched "aws_access_key"5
lowCredential file accesszenml-0.94.6/src/zenml/integrations/label_studio/annotators/label_studio_annotator.pymatched "aws_access_key"5
lowCredential file accesszenml-0.94.6/src/zenml/integrations/s3/artifact_stores/s3_artifact_store.pymatched "aws_access_key"5
lowCredential file accesszenml-0.94.6/src/zenml/integrations/seldon/model_deployers/seldon_model_deployer.pymatched "aws_access_key"5
lowCredential file accesszenml-0.94.6/src/zenml/zen_server/dashboard/assets/Partials-E9-hY1UZ.jsmatched ".aws/"5
lowCredential file accesszenml-0.94.6/src/zenml/zen_stores/secrets_stores/aws_secrets_store.pymatched "aws_access_key"5