kaos-nlp-transformers v0.2.0a8

License: Apache-2.0 Runtime: Python 3.13+ Released: 2026-09-26 Repository

Changes since last sweep

No signal changes detected since 2026-11-06.

Trust scorecard

Composite: 6/9 green
Build passing
Latest CI conclusion: success
Tests: PR + compat + min-deps
PR lanes: success; compat: success; min-deps: failure
Security scans + dependency advisories
security-light: success; security-full: failure; 20 open advisories (OSV.dev): 1 critical, 2 high, 9 moderate, 5 low, 3 unknown
Updates merged promptly
3 open PR(s), 3 from Dependabot; oldest 19 day(s) old
Signed release artifacts
PEP 740 attestation verified for 6/6 artifacts
License clean
Wheel license: Apache-2.0
SBOM published
SBOM published — 348 components
Branch protection
GitHub reports main as protected; admin-only rule details were not available to the sweep token
SECURITY.md + CODEOWNERS
SECURITY.md + CODEOWNERS present

CI matrix

Environment pytestruff tybandit pip-audit
linux-x64 / py3.14
linux-x64 / py3.14t
linux-x64 / py3.15
macos-arm64 / py3.13
windows-x64 / py3.13

Security

Open advisories
20 across 348 locked dependencies (OSV.dev)
Maintenance notices
RUSTSEC-2024-0436 (paste, unmaintained) · informational, not counted as advisories
Fixed in 90d
not tracked
Open Dependabot PRs
3
Suppressions (total)
not inspected (sibling clone absent)
AdvisoryPackageSeveritySummary
GHSA-6q48-6c7w-9gw2 certifi 2026.4.22 critical certifi bundles emSign root CAs with compromised intermediate CA keys
GHSA-27vj-qcqg-25rc fsspec 2026.4.0 high fsspec: Server-Side Template Injection in ReferenceFileSystem leads to Remote Code Execution
GHSA-v4x8-3wr5-3wq8 filelock 3.29.0 high filelock ReadWriteLock: SQLite reopens the lock database by name, so a planted symlink or journal file makes the lock user's process overwrite or unlink its own files
GHSA-42vr-xj54-vc7v pyjwt 2.14.0 moderate PyJWT: Unauthenticated RecursionError DoS in pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / verify_signature=False)
GHSA-69hj-f68j-2879 filelock 3.29.0 moderate filelock: UnixFileLock truncates and chmods any regular file another user renames or hard-links onto the lock path
GHSA-8mx5-7m5m-r77g filelock 3.29.0 moderate filelock: WindowsFileLock ignores mode: a 0o600 lock file and the ReadWriteLock database inherit the directory ACL
GHSA-c8m5-c952-6cm4 rustls 0.23.45 moderate Rustls: Session Debug formatting exposes TLS master secrets and resumption PSKs
GHSA-cwqr-hh33-gh44 filelock 3.29.0 moderate filelock ReadWriteLock: a crafted lock database makes every acquire stall or hang regardless of timeout
GHSA-fq56-3cx3-fjxp filelock 3.29.0 moderate filelock: SoftFileLock stale-lock break removes a live lock file on a reused inode number and admits two holders
GHSA-j8f7-rjxc-mr56 filelock 3.29.0 moderate filelock: ReadWriteLock follows a symlink at the lock path into SQLite
GHSA-rfpc-qcw5-3pc4 filelock 3.29.0 moderate filelock: SoftFileLock removes a live holder's marker when another user forges the PID in a writable marker
GHSA-x33g-cr3x-6449 pyjwt 2.14.0 moderate PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion
GHSA-567q-5qvw-pf92 filelock 3.29.0 low filelock: On Windows an oplock on a soft lock's marker holds SoftFileLock.acquire() past its timeout and blocks the stale break
GHSA-9vhv-jxww-xfm5 filelock 3.29.0 low filelock: ReadWriteLock on Windows acts on SQLite side files another local user places beside its database
GHSA-h2v8-394m-p7vv rustls 0.23.45 low Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication.
GHSA-vp88-798v-h67f rustls 0.23.45 low rustls: ECH rejection can expose buffered application data to authenticated outer server before `ech_required` alert
GHSA-w44r-93j7-qv28 rustls 0.23.45 low rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a classical X25519 share
RUSTSEC-2026-0381 webpki-roots 1.0.9 unknown Bundled root certificates allow trust in distrusted emSign intermediates
RUSTSEC-2026-0382 rustls-webpki 0.103.15 unknown Certificate verification may accept distrusted intermediates
RUSTSEC-2026-0386 tokio 1.53.1 unknown (unsound) `AsyncFd::new` and related constructors violate I/O safety

Suppressions are markers that silence a linter, type-checker, or security scanner. See security.html for the full ledger across the org.

Supply chain

Direct deps
—
Transitive deps
—
SBOM
CycloneDX (mirror) · CycloneDX (GitHub Release)

Governance + velocity

Maintainers
2
Commits 90d
11
Releases 90d
2

Code surface area

Python source (LoC)
4,362 across 19 files
Python tests (LoC)
4,771 across 44 files
Rust source (LoC)
3,705 across 23 files
Rust tests (LoC)
6 across 1 files
Source lines of code
12,844 LoC

Counts non-blank, non-comment lines (sloc). Excludes .venv, target, dist, build, __pycache__, _site, and lockfiles (uv.lock, Cargo.lock). Tests are paths whose ancestors contain tests, test, or benches. Authorship: this codebase is AI-assisted — lines were generated with Claude (Anthropic) and human-reviewed before commit. We count what's in git; we do not claim humans typed every character.

Evidence

Download JSON

Methodology

How these eight checks are scored Each check is collected by an automated workflow against public sources only (GitHub API, OSV, Sigstore transparency log, package registry metadata). No self-attestation is accepted. A check is green when the underlying signal is present and meets a documented threshold, yellow when partial, red when failing, and gray when the collector has not yet implemented the probe. See methodology.html for thresholds and source URLs.