# SBOM for scriptmark 0.2.0

> Automated grading CLI for student programming assignments

The Python package scriptmark 0.2.0 ships 4 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/scriptmark@0.2.0`
- PyPI: https://pypi.org/project/scriptmark/0.2.0/
- License: GPL-3.0-or-later
- Requires Python: \>=3.10

## SBOMs

### scriptmark-0.2.0-cp312-cp312-macosx\_10\_12\_x86\_64.whl

PEP 740 attestation verified (GitHub, Acture/scriptmark, workflow release.yml).

- [scriptmark-0.2.0.dist-info/sboms/scriptmark-py.cyclonedx.json](https://pypi.sbomify.com/artifact/f96f81e0-83ef-5e5d-b518-6cca922cb42f/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 17 known vulnerabilities

### scriptmark-0.2.0-cp312-cp312-macosx\_11\_0\_arm64.whl

PEP 740 attestation verified (GitHub, Acture/scriptmark, workflow release.yml).

- [scriptmark-0.2.0.dist-info/sboms/scriptmark-py.cyclonedx.json](https://pypi.sbomify.com/artifact/bf201007-fe7d-549b-ad25-32cfad5f5530/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 17 known vulnerabilities

### scriptmark-0.2.0-cp312-cp312-win\_amd64.whl

PEP 740 attestation verified (GitHub, Acture/scriptmark, workflow release.yml).

- [scriptmark-0.2.0.dist-info/sboms/scriptmark-py.cyclonedx.json](https://pypi.sbomify.com/artifact/32965f79-3785-5921-8a0d-5237abd8dc9f/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 17 known vulnerabilities

### scriptmark-0.2.0-cp38-cp38-manylinux\_2\_17\_x86\_64.manylinux2014\_x86\_64.whl

PEP 740 attestation verified (GitHub, Acture/scriptmark, workflow release.yml).

- [scriptmark-0.2.0.dist-info/sboms/scriptmark-py.cyclonedx.json](https://pypi.sbomify.com/artifact/ca3d0bb0-892f-50e2-b543-a69eaae7366d/download): CycloneDX/1.5, `application/vnd.cyclonedx+json`, valid, 17 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 |
|---|---|---|---|---|
| [CVE-2026-115905](https://insights.sbomify.com/CVE-2026-115905/) | critical (10.0) | zip 8.5.0 (crates.io) | 9.0.5 | zip: Critical Parser Differential & Security Control Bypass via Dual-Header Inconsistencies (Zip Cloaking) Leading to Arbitrary File Overwrite & RCE |
| [RUSTSEC-2026-0369](https://osv.dev/vulnerability/RUSTSEC-2026-0369) | critical (9.1) | zip 8.5.0 (crates.io) | 9.0.0 | ZipStreamReader::extract() and ZipArchive::extract() apply Unix permissions through symlinks without confining the target |
| [RUSTSEC-2026-0176](https://osv.dev/vulnerability/RUSTSEC-2026-0176) | high (8.7) | pyo3 0.24.2 (crates.io) | 0.29.0 | 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.37.5 (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.37.5 (crates.io) | 0.41.0 | Unbounded namespace-declaration allocation in \`NsReader\` enables memory-exhaustion denial of service |
| [CVE-2026-115907](https://insights.sbomify.com/CVE-2026-115907/) | high (7.5) | zip 8.5.0 (crates.io) | 9.0.0 | zip: legacy Shrink/Reduce/Implode decoder: denial of service from attacker-controlled ZIP64 uncompressed size |
| [CVE-2026-115909](https://insights.sbomify.com/CVE-2026-115909/) | high (7.5) | zip 8.5.0 (crates.io) | 9.0.0 | zip: \`ZipArchive::extract\` aborts the process on a symlink entry with a large declared size |
| [CVE-2026-115908](https://insights.sbomify.com/CVE-2026-115908/) | high (7.4) | zip 8.5.0 (crates.io) | 9.0.0 | zip: Arbitrary file write outside the extraction directory, because ZipArchive::extract validates symlink targets lexically. |
| [CVE-2026-6654](https://insights.sbomify.com/CVE-2026-6654/) | high (7.3) | thin-vec 0.2.14 (crates.io) | 0.2.16 | Use-After-Free and Double Free in IntoIter::drop When Element Drop Panics |
| [RUSTSEC-2026-0367](https://osv.dev/vulnerability/RUSTSEC-2026-0367) | high (7.3) | zip 8.5.0 (crates.io) | 9.0.0 | Insecure Preservation of SUID/SGID Bits during ZIP Extraction Leading to Potential Privilege Escalation |
| [CVE-2026-115906](https://insights.sbomify.com/CVE-2026-115906/) | medium (6.5) | zip 8.5.0 (crates.io) | 9.0.0 | zip: AES Entry HMAC Authentication Bypass on Premature EOF |
| [RUSTSEC-2026-0177](https://osv.dev/vulnerability/RUSTSEC-2026-0177) | medium (6.3) | pyo3 0.24.2 (crates.io) | 0.29.0 | Missing \`Sync\` bound on \`PyCFunction::new\_closure\` closures |
| [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-0097](https://osv.dev/vulnerability/RUSTSEC-2026-0097) | unknown | rand 0.9.2 (crates.io) | 0.9.3 | Rand is unsound with a custom logger using \`rand::rng()\` |
| [RUSTSEC-2026-0249](https://osv.dev/vulnerability/RUSTSEC-2026-0249) | unknown | smartstring 1.0.1 (crates.io) | none listed | smartstring is unmaintained |
| [RUSTSEC-2026-0386](https://osv.dev/vulnerability/RUSTSEC-2026-0386) | unknown | tokio 1.51.0 (crates.io) | 1.51.6 | \`AsyncFd::new\` and related constructors violate I/O safety |
| [RUSTSEC-2026-0368](https://osv.dev/vulnerability/RUSTSEC-2026-0368) | unknown | zip 8.5.0 (crates.io) | 9.0.0 | zip: \`ZipArchive::extract\` creates symbolic links whose attacker-controlled targets are outside the destination directory |

## 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/scriptmark@0.2.0
```

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

---
From pypi-tea by sbomify: https://pypi.sbomify.com/package/scriptmark/0.2.0