Senior-management briefing · 18–21 July 2026

bulk_extractor is now on a safer, more maintainable 2.2.0 path

Recent work converted a broad engineering audit into shipped reliability improvements, clearer ownership, and a prioritized remaining plan.

19
merged PRs
14
tracked issues closed
4
material workstreams remain open

Decision requested: continue funding targeted compatibility/testing work so downstream tools receive a dependable, documented extraction component.

What changed

We removed a fragile delivery boundary and addressed core correctness risks

One source tree

Former internal dependencies are vendored with provenance and built as a defined internal component. This removes recurring submodule/worktree failure modes.

Safer hostile-input handling

Bounds, ownership, short-read, image-name, packet, and PCAP failures were corrected and given focused tests.

More reliable delivery

CI/release workflows were consolidated; sanitizer and coverage paths are clearer and less duplicative.

Impact for users such as BitCurator: a simpler-to-build component with fewer known ways for malformed input or an operational error to produce unsafe or inconsistent behavior.

Delivery record

Closed work mapped to business outcomes

OutcomeExamples completedStatus
Memory/input safetysbuf bounds/ownership; E01 selection and short reads; packet/PCAP checksClosed
Operational reliabilityNotification shutdown on write failure; JPEG disable; explicit scanner selection; bannersClosed
Output integrityFeature-recorder contract and low-memory histogram behaviorClosed
Build/configurationExiv2-disabled build; scanner API documentation; CI warning/debt cleanupClosed

Full links to all 19 PRs and every closed issue are in RECENT_WORK_REPORT.md.

Evidence, not just activity

Focused regression tests now prove specific repaired contracts

Boundary contracts

Tests assert zero, end, and one-past-end buffer behavior and file-mapping ownership.

Bad-input handling

Fallback PCAP tests reject oversized, inconsistent, and truncated packets; E01 short-read paths are exercised.

End-to-end behavior

Tests cover shutdown, scanner selection, JPEG disable, plug-in loading, banner propagation, and histogram allocation failure.

This is stronger than a “program started” check: each test asserts the condition that previously failed.

Test-data limits

The existing corpus is valuable—but it is not a release guarantee

Data in use

Small, curated emails, Office/Outlook, archives, JPEG/EXIF, PDFs, Windows artifacts, network captures, E01 segments, and raw fragments.

What it establishes

Expected feature/offset presence, repeatable output comparison, and coverage of selected normal paths.

What it does not establish

Correct extraction everywhere; adversarial decoder safety; all scanners/platforms/options; Windows, Lightgrep, no-libpcap, fuzz, or large case-media behavior.

Legacy `regress.py --datacheck` checks expected features are present; it does not validate extracted content correctness.

Remaining work

Four funding priorities protect the value of the completed work

PriorityWhy it matters to users
Choose supported plug-in scopeFinish a versioned/tested ABI or remove unsupported behavior and claims.
Resolve Lightgrep scopePort and continuously test it, or retire a broken optional configuration.
Expand hostile-input assuranceAdd malformed corpus, fuzzing, no-libpcap, and Windows gates for the riskiest parsers.
Finish operational/documentation workReal disk-write failure test, scanner-specific boundaries, current manuals, and support-tool policy.

The core debt tracker remains open so these items are visible, owned, and not reintroduced as untracked risk.

Recommendation

Fund the next assurance increment

The recent investment has reduced integration and correctness risk. The next increment should make that improvement durable across the configurations and hostile-input cases that downstream forensic workflows depend on.

Protect

Keep the repaired core behavior covered by substantive tests.

Decide

Set explicit product scope for plug-ins and Lightgrep.

Assure

Fund malformed-input, platform, and release-quality validation.

Detailed engineering evidence and links: doc/RECENT_WORK_REPORT.md.