Package evidence
skypilot-nightly==1.0.0.dev20260612
Py Install Time 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
- 906Mature · −50% score
- First published
- Nov 2022
- Publisher
- SkyPilot Team
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
Block this updateStatic 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":["skypilot-nightly==1.0.0.dev20260612"],"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":["skypilot-nightly==1.0.0.dev20260612"],"fail_on":"high"}'Why flagged
What the scanner saw
Py Install Time Subprocess: subprocess call — process spawning.
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk high · score 146 · status changed
Evidence
Static findings
34 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Py Install Time Subprocess | skypilot_nightly-1.0.0.dev20260612/setup.py | subprocess call — process spawning. | 60 |
| medium | Py Install Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/setup_files/setup.py | subprocess call — process spawning. | 60 |
| medium | Py Import Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/skylet/ray_patches/__init__.py | subprocess call with shell=True — passes argv to /bin/sh. | 48 |
| medium | Py Import Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/__init__.py | subprocess call — process spawning. | 32 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/batch/utils.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/client/sdk.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/server/server.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| medium | Remote Payload | skypilot_nightly-1.0.0.dev20260612/sky/utils/kubernetes/create_cluster.sh | matched "raw.githubusercontent.com" | 12 |
| medium | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/clouds/nebius.py | matched ".aws/" | 10 |
| medium | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/skylet/events.py | matched "AWS_ACCESS_KEY" | 10 |
Show all 34 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Py Install Time Subprocess | skypilot_nightly-1.0.0.dev20260612/setup.py | subprocess call — process spawning. | 60 |
| medium | Py Install Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/setup_files/setup.py | subprocess call — process spawning. | 60 |
| medium | Py Import Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/skylet/ray_patches/__init__.py | subprocess call with shell=True — passes argv to /bin/sh. | 48 |
| medium | Py Import Time Subprocess | skypilot_nightly-1.0.0.dev20260612/sky/__init__.py | subprocess call — process spawning. | 32 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/batch/utils.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/client/sdk.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | skypilot_nightly-1.0.0.dev20260612/sky/server/server.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| medium | Remote Payload | skypilot_nightly-1.0.0.dev20260612/sky/utils/kubernetes/create_cluster.sh | matched "raw.githubusercontent.com" | 12 |
| medium | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/clouds/nebius.py | matched ".aws/" | 10 |
| medium | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/skylet/events.py | matched "AWS_ACCESS_KEY" | 10 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/adaptors/cloudflare.py | matched "aws_access_key" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/adaptors/coreweave.py | matched "aws_access_key" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/adaptors/ibm.py | matched "aws_access_key" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/adaptors/vastdata.py | matched "aws_access_key" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/clouds/aws.py | matched ".aws/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/clouds/gcp.py | matched "GOOGLE_APPLICATION_CREDENTIALS" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/dashboard/out/_next/static/chunks/495.b679343852d2bf50.js | matched "id_rsa" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/logs/aws.py | matched "aws_access_key" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/aws/utils.py | matched "AWS_SECRET_ACCESS_KEY" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/azure/instance.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/docker_utils.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/gcp/config.py | matched "GOOGLE_APPLICATION_CREDENTIALS" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/kubernetes/instance.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/paperspace/utils.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/runpod/utils.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/scp/config.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/provision/vast/utils.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/server/requests/payloads.py | matched "AWS_ACCESS_KEY" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/skylet/providers/command_runner.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/ssh_node_pools/constants.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/utils/cluster_utils.py | matched ".ssh/" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/utils/debug_utils.py | matched "AWS_SECRET_ACCESS_KEY" | 5 |
| low | Credential file access | skypilot_nightly-1.0.0.dev20260612/sky/utils/git.py | matched ".ssh/" | 5 |
| low | Sdist Has Setup Py | manifest | Source distribution executes setup.py at install time. | 0 |