unsloth/.github/workflows
Daniel Han 55ab255305 CI: scan all unsloth deps + transitive closure, no install
The previous Security audit only covered Studio's backend requirements.
The unsloth pip package itself ships its own dep set via pyproject.toml
(typer/pydantic/pyyaml/nest-asyncio core, plus the huggingfacenotorch
extras: transformers/peft/accelerate/trl/datasets/diffusers/etc.) -- a
malicious upload to any of those would slip past us today. Build a
combined dep list from pyproject.toml + the six Studio requirements
files and feed it to both pip-audit and scan_packages.

Add scan_packages.py at scripts/scan_packages.py so the scanner ships
with the repo and CI does not depend on a network fetch at job time.

Pass --with-deps to scan_packages so the pre-install pattern scan
walks the full transitive closure -- supply-chain attacks usually land
several hops down (litellm 1.82.7 was a dep of a dep for most users;
top-level-only scanning would have missed it).

No installation in either job. pip-audit's -r mode resolves through
PyPI metadata, scan_packages downloads sdist/wheel archives raw and
inspects them without running install hooks. An attacker who has
compromised a transitive dep cannot execute code in this workflow.
2026-05-06 23:08:36 +00:00
..
lint-ci.yml CI: add codespell + shellcheck to Lint CI; add Security audit workflow 2026-05-06 21:21:59 +00:00
mlx-ci.yml ci(mlx): fix path filter that pointed at a non-existent file 2026-05-06 12:13:21 +00:00
release-desktop.yml Fix Studio desktop tray installer and titlebar and bux fixes (#5179) 2026-04-30 08:40:39 -07:00
security-audit.yml CI: scan all unsloth deps + transitive closure, no install 2026-05-06 23:08:36 +00:00
stale.yml chore: Update outdated GitHub Actions version (#3936) 2026-01-27 07:19:38 -08:00
studio-backend-ci.yml CI(lint): split Python lint into a multi-language Lint CI workflow 2026-05-06 21:08:44 +00:00
studio-frontend-ci.yml CI: scope GITHUB_TOKEN permissions and unblock ~60 skipped tests 2026-05-06 11:52:21 +00:00
studio-inference-smoke.yml CI: pass GH_TOKEN to install/update steps to dodge GitHub API rate limits 2026-05-06 13:20:45 +00:00
studio-tauri-smoke.yml CI: scope GITHUB_TOKEN permissions and unblock ~60 skipped tests 2026-05-06 11:52:21 +00:00
studio-ui-smoke.yml CI: pass GH_TOKEN to install/update steps to dodge GitHub API rate limits 2026-05-06 13:20:45 +00:00
studio-update-smoke.yml CI: pass GH_TOKEN to install/update steps to dodge GitHub API rate limits 2026-05-06 13:20:45 +00:00
wheel-smoke.yml CI: scope GITHUB_TOKEN permissions and unblock ~60 skipped tests 2026-05-06 11:52:21 +00:00