MAL-2026-17319 Malicious code in bfox-build-utils (PyPI)
Malicious package
Published
MAL-2026-17319 is a malicious package: bfox-build-utils (PyPI). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-17319/ (Markdown: https://insights.sbomify.com/MAL-2026-17319/index.md)
- Package
- bfox-build-utils
- Registry
- PyPI
What is MAL-2026-17319?
MAL-2026-17319 is a malicious package in bfox-build-utils, published on 30 Sep 2026.
Official description
At install time, setup.py harvests the installer's GitHub credential and uses it to modify the installer's own repository. The script reads
$GITHUB_WORKSPACE/.git/config, regexes the extraheader = AUTHORIZATION: basic <b64> line that actions/checkout injects for the running job, base64-decodes it to recover the token, and also reads GITHUB_TOKEN from the environment. Using that token as x-access-token, it clones the installer's repository, creates branch feature/ci-health-check, writes .github/workflows/ci-health-check.yml, commits as github-actions[bot] with message Add CI health check, and pushes via git (with a REST-API fallback), explicitly bypassing the API restriction that protects workflow files. This plants a persistent, attacker-controlled GitHub Actions workflow in the installer's repository that will execute on future pushes to the planted branch. The shipped Python module bfox_build_utils.py is a two-line stub containing only VERSION = "1.0.997"; the package's advertised purpose (Build utilities.) and the innocuous naming of the branch, commit, and bot identity are cover for the credential theft and workflow-injection payload in setup.py.What should I do about MAL-2026-17319?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.