# SBOM for pyrefly 1.4.1

> A fast type checker and language server for Python with powerful IDE features

The Python package pyrefly 1.4.1 ships 11 SBOM files (CycloneDX) inside its wheels, under `.dist-info/sboms/` ([PEP 770](https://peps.python.org/pep-0770/)). Its wheels carry a verified PEP 740 attestation.

- Package URL (PURL): `pkg:pypi/pyrefly@1.4.1`
- PyPI: https://pypi.org/project/pyrefly/1.4.1/
- Requires Python: \>=3.8
- documentation: <https://pyrefly.org/en/docs/>
- homepage: <https://pyrefly.org>

## SBOMs

### pyrefly-1.4.1-py3-none-macosx\_10\_12\_x86\_64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/e3eb9b0a-9b6f-51f9-84e0-bfd6aa73d921/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-macosx\_11\_0\_arm64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/eaad71b6-5705-58c9-8f85-57b2a3d9a55f/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-manylinux2014\_aarch64.manylinux\_2\_17\_aarch64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/bfc19271-4bff-5e97-a50a-a66b7fa9fbd8/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-manylinux2014\_i686.manylinux\_2\_17\_i686.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/46489903-e236-54a6-a2b3-39e14434e75f/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-manylinux2014\_ppc64le.manylinux\_2\_17\_ppc64le.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/d8d0dae3-c326-56a7-8867-8eea224605be/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-manylinux2014\_x86\_64.manylinux\_2\_17\_x86\_64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/4981b8ff-961d-534a-8194-43199fa9816c/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-musllinux\_1\_2\_aarch64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/00ddd75d-a7cd-5a79-9187-704f3598eebc/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-musllinux\_1\_2\_x86\_64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/f9765e98-4702-57d8-8644-6669abb4399b/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-win32.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/604f91b9-d06b-5c98-90d6-560d27c3a7be/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-win\_amd64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/fd4fbe22-857f-5db5-9b9f-1ef3ac93a7f2/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

### pyrefly-1.4.1-py3-none-win\_arm64.whl

PEP 740 attestation verified (GitHub, meta/pyrefly, workflow publish\_to\_pypi.yml).

- [pyrefly-1.4.1.dist-info/sboms/pyrefly.cyclonedx.json](https://pypi.sbomify.com/artifact/297377f0-9d6a-5458-8d0f-873f27e8d092/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 20 known vulnerabilities

## Known vulnerabilities

Components listed in these SBOMs, matched against the [OSV database](https://osv.dev/) as of 2026-11-10.

| Vulnerability | Severity | Component | Fixed in | Summary |
|---|---|---|---|---|
| [RUSTSEC-2026-0385](https://osv.dev/vulnerability/RUSTSEC-2026-0385) | unknown | ctutils 0.4.2 (crates.io) | 0.4.4 | Non-constant-time mask generation and \`u128\` comparisons |
| [RUSTSEC-2024-0388](https://osv.dev/vulnerability/RUSTSEC-2024-0388) | unknown | derivative 2.2.0 (crates.io) | none listed | \`derivative\` is unmaintained; consider using an alternative |
| [RUSTSEC-2026-0306](https://osv.dev/vulnerability/RUSTSEC-2026-0306) | unknown | faster-hex 0.6.1 (crates.io) | 0.10.1 | \`hex\_decode\_unchecked\` AVX2 path reads past \`src\` |
| [RUSTSEC-2025-0057](https://osv.dev/vulnerability/RUSTSEC-2025-0057) | unknown | fxhash 0.2.1 (crates.io) | none listed | fxhash - no longer maintained |
| [RUSTSEC-2024-0436](https://osv.dev/vulnerability/RUSTSEC-2024-0436) | unknown | paste 1.0.15 (crates.io) | none listed | paste - no longer maintained |
| [RUSTSEC-2026-0386](https://osv.dev/vulnerability/RUSTSEC-2026-0386) | unknown | tokio 1.53.2 (crates.io) | 1.53.3 | \`AsyncFd::new\` and related constructors violate I/O safety |
| [RUSTSEC-2026-0391](https://osv.dev/vulnerability/RUSTSEC-2026-0391) | unknown | zstd 0.14.0 (crates.io) | 0.13.4, 0.14.3 | Data from an abandoned stream leaks into the next stream on a reused context |
| [RUSTSEC-2026-0395](https://osv.dev/vulnerability/RUSTSEC-2026-0395) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Use-after-free with \`CParameter::StableInBuffer\` |
| [RUSTSEC-2026-0396](https://osv.dev/vulnerability/RUSTSEC-2026-0396) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | \`Seekable\` reads a NULL or out-of-bounds seek table |
| [RUSTSEC-2026-0397](https://osv.dev/vulnerability/RUSTSEC-2026-0397) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | \`OutBuffer::around\_pos\` exposes uninitialized memory |
| [RUSTSEC-2026-0398](https://osv.dev/vulnerability/RUSTSEC-2026-0398) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | \`Seekable::decompress\` sets a \`Vec\` length beyond its capacity for offsets past the end |
| [RUSTSEC-2026-0399](https://osv.dev/vulnerability/RUSTSEC-2026-0399) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Use-after-free through \`init\_using\_cdict\` and \`init\_using\_ddict\` |
| [RUSTSEC-2026-0400](https://osv.dev/vulnerability/RUSTSEC-2026-0400) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Use-after-free of a dictionary after a one-shot call on a context with an open stream |
| [RUSTSEC-2026-0401](https://osv.dev/vulnerability/RUSTSEC-2026-0401) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Out-of-bounds read in \`train\_from\_buffer\` when sample sizes overflow |
| [RUSTSEC-2026-0402](https://osv.dev/vulnerability/RUSTSEC-2026-0402) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Heap buffer overflow in \`CCtx::try\_clone\` on a multithreaded context |
| [RUSTSEC-2026-0403](https://osv.dev/vulnerability/RUSTSEC-2026-0403) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Uninitialized memory exposed when streaming decompression of a legacy frame fails |
| [RUSTSEC-2026-0404](https://osv.dev/vulnerability/RUSTSEC-2026-0404) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Double free in \`DCtx::try\_clone\` |
| [RUSTSEC-2026-0405](https://osv.dev/vulnerability/RUSTSEC-2026-0405) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Out-of-bounds read with an out-of-range \`InBuffer::pos\` |
| [RUSTSEC-2026-0406](https://osv.dev/vulnerability/RUSTSEC-2026-0406) | unknown | zstd-safe 8.0.0 (crates.io) | 7.4.0, 8.2.0 | Use-after-free when changing a multithreaded context with an unfinished frame |
| [RUSTSEC-2026-0410](https://osv.dev/vulnerability/RUSTSEC-2026-0410) | unknown | zstd-sys 2.1.0+zstd.1.5.7 (crates.io) | 2.1.2 | WebAssembly allocator shim corrupts memory on allocation failure |

## Fetch it over TEA

This SBOM is served over the [Transparency Exchange API](https://github.com/CycloneDX/transparency-exchange-api) (TEA). With the `libtea` client:

```
pip install libtea
python -m libtea https://pypi.sbomify.com pkg:pypi/pyrefly@1.4.1
```

Machine-readable copy of this page: https://pypi.sbomify.com/package/pyrefly/1.4.1.json

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/pyrefly/1.4.1