VYPR

pypi · Malicious package advisory

Malware

bfox-build-utils

GHSA-rx43-29mc-6h3f

Malicious code in bfox-build-utils (PyPI)

Details

**Severity:** Critical

**Affected versions:** `= 1.0.997`

## Source: amazon-inspector (cae53348f8261653938b39ae3cb79101baff666c4216ecaeb635e34b42ba8293)
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.

---

Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/1d7dffbaf918be5795200293d47b24b5c7e63069/osv/malicious/pypi/bfox-build-utils/MAL-2026-17319.json))

**References:**
- https://github.com/ossf/malicious-packages/blob/1d7dffbaf918be5795200293d47b24b5c7e63069/osv/malicious/pypi/bfox-build-utils/MAL-2026-17319.json
- https://pypi.org/project/bfox-build-utils/1.0.997
- https://github.com/advisories/GHSA-rx43-29mc-6h3f

Compromised versions (1)

  • = 1.0.997

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.