# SBOM for scrawl-engine 2.1.2

> A simple yet powerful 2D game engine built on Bevy

The Python package scrawl-engine 2.1.2 ships 12 SBOM files (CycloneDX) inside its wheels, under `.dist-info/sboms/` ([PEP 770](https://peps.python.org/pep-0770/)).

- Package URL (PURL): `pkg:pypi/scrawl-engine@2.1.2`
- PyPI: https://pypi.org/project/scrawl-engine/2.1.2/
- Author: Streetartist
- License: MIT
- Requires Python: \>=3.8

## SBOMs

### scrawl\_engine-2.1.2-cp310-cp310-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/83b01e43-10c7-5fd1-9d33-bb80caf063ff/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp310-cp310-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/944d29b7-9727-5a75-9c42-cc33760b3d0f/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp311-cp311-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/5619e813-7bbc-58c2-b911-e76551255c51/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp311-cp311-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/21f4b3d9-3361-50d6-a304-bb2854cd7fa9/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp312-cp312-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/117427ac-5931-501c-b432-130d71ebb406/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp312-cp312-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/4abe30c4-937a-5b37-bb42-acf42ef6607e/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp313-cp313-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/526fcf02-bb16-563d-81a1-c3156939993c/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp313-cp313-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/50460308-d386-541f-8b7d-0315f4cb1cd6/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp38-cp38-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/9738c9fa-e8e6-5442-a01f-ce9768da8fcb/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp38-cp38-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/132dffbd-5d2a-5058-bb65-b292d5abccdb/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp39-cp39-macosx\_11\_0\_arm64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/6e1f80ad-cc4d-5770-8272-d0c23cac96a7/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 known vulnerabilities

### scrawl\_engine-2.1.2-cp39-cp39-win\_amd64.whl

- [scrawl\_engine-2.1.2.dist-info/sboms/scrawl-bridge.cyclonedx.json](https://pypi.sbomify.com/artifact/742cf18e-2922-5d82-a4d4-e0ee838a39fd/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 18 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 |
|---|---|---|---|---|
| [GHSA-36hh-v3qg-5jq4](https://osv.dev/vulnerability/GHSA-36hh-v3qg-5jq4) | high (8.7) | pyo3 0.23.5 (crates.io) | 0.29.0 | PyO3 has an Out-of-bounds Read in \`nth\` / \`nth\_back\` for \`PyList\` and \`PyTuple\` iterators |
| [RUSTSEC-2026-0194](https://osv.dev/vulnerability/RUSTSEC-2026-0194) | high (7.5) | quick-xml 0.39.2 (crates.io) | 0.41.0 | Quadratic run time when checking a start tag for duplicate attribute names |
| [RUSTSEC-2026-0195](https://osv.dev/vulnerability/RUSTSEC-2026-0195) | high (7.5) | quick-xml 0.39.2 (crates.io) | 0.41.0 | Unbounded namespace-declaration allocation in \`NsReader\` enables memory-exhaustion denial of service |
| [RUSTSEC-2026-0177](https://osv.dev/vulnerability/RUSTSEC-2026-0177) | medium (6.3) | pyo3 0.23.5 (crates.io) | 0.29.0 | Missing \`Sync\` bound on \`PyCFunction::new\_closure\` closures |
| [RUSTSEC-2025-0020](https://osv.dev/vulnerability/RUSTSEC-2025-0020) | low (2.9) | pyo3 0.23.5 (crates.io) | 0.24.1 | Risk of buffer overflow in \`PyString::from\_object\` |
| [RUSTSEC-2026-0190](https://osv.dev/vulnerability/RUSTSEC-2026-0190) | unknown | anyhow 1.0.102 (crates.io) | 1.0.103 | Unsoundness in \`Error::downcast\_mut()\` |
| [RUSTSEC-2026-0204](https://osv.dev/vulnerability/RUSTSEC-2026-0204) | unknown | crossbeam-epoch 0.9.18 (crates.io) | 0.9.20 | Invalid pointer dereference in \`fmt::Pointer\` impl for \`Atomic\` and \`Shared\` when the underlying pointer is invalid |
| [RUSTSEC-2026-0221](https://osv.dev/vulnerability/RUSTSEC-2026-0221) | unknown | event-listener 5.4.1 (crates.io) | 5.4.2 | \`event-listener\` allows \`!Send\` tags to cross thread boundaries via \`StackSlot\` |
| [RUSTSEC-2024-0384](https://osv.dev/vulnerability/RUSTSEC-2024-0384) | unknown | instant 0.1.13 (crates.io) | none listed | \`instant\` is unmaintained |
| [RUSTSEC-2026-0186](https://osv.dev/vulnerability/RUSTSEC-2026-0186) | unknown | memmap2 0.9.10 (crates.io) | 0.9.11 | Unchecked pointer offset in crate \`memmap2\` |
| [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-0293](https://osv.dev/vulnerability/RUSTSEC-2026-0293) | unknown | ringbuf 0.3.3 (crates.io) | 0.5.2 | Double free / use-after-free in \`Consumer::skip\` and \`Consumer::clear\` when an element's \`Drop\` panics |
| [RUSTSEC-2026-0206](https://osv.dev/vulnerability/RUSTSEC-2026-0206) | unknown | rustybuzz 0.14.1 (crates.io) | none listed | \`rustybuzz\` is unmaintained |
| [RUSTSEC-2026-0206](https://osv.dev/vulnerability/RUSTSEC-2026-0206) | unknown | rustybuzz 0.18.0 (crates.io) | none listed | \`rustybuzz\` is unmaintained |
| [RUSTSEC-2026-0192](https://osv.dev/vulnerability/RUSTSEC-2026-0192) | unknown | ttf-parser 0.20.0 (crates.io) | none listed | \`ttf-parser\` is unmaintained |
| [RUSTSEC-2026-0192](https://osv.dev/vulnerability/RUSTSEC-2026-0192) | unknown | ttf-parser 0.21.1 (crates.io) | none listed | \`ttf-parser\` is unmaintained |
| [RUSTSEC-2026-0192](https://osv.dev/vulnerability/RUSTSEC-2026-0192) | unknown | ttf-parser 0.24.1 (crates.io) | none listed | \`ttf-parser\` is unmaintained |
| [RUSTSEC-2026-0192](https://osv.dev/vulnerability/RUSTSEC-2026-0192) | unknown | ttf-parser 0.25.1 (crates.io) | none listed | \`ttf-parser\` is unmaintained |

## 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/scrawl-engine@2.1.2
```

Machine-readable copy of this page: https://pypi.sbomify.com/package/scrawl-engine/2.1.2.json

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/scrawl-engine/2.1.2