Repository navigation
Releases: trailofbits/brotli-checker
Releases · trailofbits/brotli-checker
Release list
v0.3.0
Immutable
release. Only release title and notes can be modified.
- Recognize compiler-independent Brotli decoder table signatures in binaries,
including stripped/LTO builds. Report recognition strength and table offsets
separately from patch state; encoder dictionaries alone do not qualify. - Scope ELF table evidence to load segments, report malformed-layout gaps, and
preserve bounded streaming/sparse access. Non-ELF table evidence is explicitly
file-content-only, without loader or execution claims. - Add 14 reviewed Go/Rust source fingerprints for analogous block-switch
error-handling fixes, with explicit implementation and upstream-fix provenance.
Do not infer the C advisory's memory-corruption impact for independent ports. - Collect bounded language-import, decoder API, and FFI source leads across
Python, JVM, .NET, Rust, Go, Ruby, PHP, and JavaScript/WASM integrations.
Preserve implementation uncertainty and distinguish native bindings from ports. - Extend dependency collection to Python setup/Pipfile/requirements variants,
Ruby, Composer, and .NET metadata; filter the new structured formats by
dependency fields rather than descriptive prose. - Expand source-call discovery names and add an ecosystem provider/reachability
guide with primary-source examples. Import aliases and dynamic providers still
require review; wrapper versions do not establish the native decoder version. - Expand the packaged ELF catalog from 336 to 432 references while preserving
every prior entry: add 72 scope-aware GCC references for x86-64/AArch64
function-section builds linked with garbage collection, plus 24 complete
LoongArch GCC 14 references. - Require all eight patch-bearing decoder roles and recognized emitted
helper/clone/cold sections for a scoped code match, while allowing linker GC
to discard unrelated public APIs. Record the reference scope and
function-to-fragment population in match evidence; missing roles remain
unknown. - Add opt-in QEMU runtime checks for the ELF build matrix, covering one-shot and
streaming decode, decoder versions, normal/stripped/sectionless artifacts,
linker-GC and missing-role controls, paired affected/fixed references, and
explicit candidate/packaged-profile compatibility reporting. - Report opaque SquashFS, Snap, AppImage, and ASAR payloads as coverage gaps,
preserving outer ELF evidence for AppImage without extraction. Route
Dockerfile/Containerfile variants and.bzlthrough dependency-lead analysis. - Report source-parser/grammar-provider failures as incomplete JSON evidence,
and normalize whitespace in explicitly supplied discovery symbols. - Validate MIPS instruction modes before raw disassembly; unsupported modes
remain incomplete rather than being interpreted as classic r2 instructions. - Write gzip catalogs with a fixed compression level and canonical header
metadata across supported Python versions. - Parallelize mutation CI by scanner module with an aggregate completeness and
score gate, and avoid repeated compiled-catalog parsing in mutation test setup.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Immutable
release. Only release title and notes can be modified.
- Expand packaged ELF decoder fingerprints to 336 profiles across x86-64, x86,
ARM/Thumb, AArch64, RISC-V64, PowerPC64LE, s390x, MIPS32/64 in both byte orders,
and LoongArch64. Coverage remains compiler/profile-specific. - Support ELF32/64 and both byte orders in code matching, metadata
inspection, and bounded disassembly triage, including split executable sections
and audited linker instruction rewrites. RISC-V32 and big-endian PowerPC64 are
parsed but have no packaged fingerprints. - Add reference catalog merging and deterministic gzip storage.
- Add checksum-pinned upstream known-answer fixtures and parameterized regression
tests. Downloaded dependencies stay outside git. Increase the mutation score
from 84.64% to 85.91% with matching timeouts, operators, and CLI exclusions.
v0.1.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Add Trailmark discovery and restore the mutation gate by @tob-scott-a in #9
Full Changelog: v0.1.0...v0.1.1
v0.1.0 (Initial Release)
Immutable
release. Only release title and notes can be modified.
Initial release of the brotli-checker.