# Install bulk_extractor with Homebrew, MacPorts, Nix, zypper

Stream-based forensics tool. Version 2.1.1 via Homebrew; verified 2026-05-13.

## Install

```sh
sudo av install brew:bulk_extractor
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bulk_extractor
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install bulk_extractor
```

  Evidence: MacPorts ports tree: security/bulk_extractor/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#bulk_extractor
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bu/bulk_extractor/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install bulk_extractor
```

  Evidence: openSUSE Tumbleweed package metadata: bulk_extractor from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:bulk_extractor
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bulk_extractor>
- **Version:** 2.1.1
- **Source summary:** Stream-based forensics tool
- **Homepage:** <https://github.com/simsong/bulk_extractor/wiki>
- **Repository:** <https://github.com/simsong/bulk_extractor>
- **Upstream docs:** <https://github.com/simsong/bulk_extractor#readme>
- **License:** MIT
- **Source archive:** <https://github.com/simsong/bulk_extractor/releases/download/v2.1.1/bulk_extractor-2.1.1.tar.gz>
- **Last updated:** 2026-05-13T00:05:26Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- bulk_extractor (cli)
- bulk_extractor (alias)

## Build dependencies

- pkgconf
- re2

## Uses from macOS

- expat
- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.1.1
- Package-manager updated: 2026-05-13
- Local data: ok
- Upstream repository: https://github.com/simsong/bulk_extractor
- info: No cached GitHub release or tag data was available.
## Project history and usage

bulk_extractor is a stream-based digital-forensics tool that scans raw media, disk images, files, and directories for structured artifacts without first depending on filesystem parsing. It is historically important because it made bulk data analysis a fast triage step in forensic workflows.

### Project history

bulk_extractor predates its current GitHub repository. The NEWS file includes 2010 release announcements for versions 0.4.2 through 0.7.0, with features such as context stop lists, compressed-data carving, crash protection, POSIX threading, ZIP/GZIP/PDF recovery, and hibernation-file extraction.

The `simsong/bulk_extractor` repository was created on 2012-04-03. The README describes the tool as a high-performance digital forensics exploitation tool that extracts email addresses, credit card numbers, JPEGs, JSON snippets, search terms, and other features, storing results in text files and histograms for inspection and downstream processing.

The README recommends citing Simson Garfinkel's 2013 Computers & Security paper, `Digital Media Triage with Bulk Data Analysis and bulk_extractor`, which formalized the technique and helped anchor the tool in academic and law-enforcement forensic practice.

### Adoption history

Adoption came from forensic triage needs: investigators could run bulk_extractor against disk images or memory artifacts and quickly get feature files, histograms, and leads without mounting or interpreting the filesystem first.

The project also included BEViewer for inspecting output, documented production downloads through GitHub releases, and kept packaging-friendly build instructions for Unix-like systems. Package managers such as Homebrew, MacPorts, Nix, and openSUSE carry it because forensic analysts and security researchers often need repeatable installs on analysis workstations.

### How it is used

Users point `bulk_extractor` at a disk image, file, directory, or other data source and review generated feature files and reports. It recursively examines decoded data, which lets it find artifacts in compressed, encoded, or carved content that simpler scanners miss.

The tool supports scanner selection, histograms, debugging environment variables, and VM-based build recipes. Modern 2.x development requires C++17 and uses submodules such as be13_api and DFXML.

### Why package nerds care

bulk_extractor is significant because it packages a research-grade forensic idea into a normal CLI: scan every byte, extract features, and produce plain text output. That combination makes it useful both in investigations and in scripted security pipelines.

For package nerds, it is also a classic example of a domain-specific tool with deep native-code build requirements, academic provenance, GUI adjuncts, and long-lived release history that still belongs in general-purpose package managers.

### Timeline

- 2010: 0.4.x through 0.7.0 release announcements document early stop-list, carving, threading, and crash-protection work.
- 2012: Public `simsong/bulk_extractor` GitHub repository is created.
- 2013: Computers & Security publishes the bulk data analysis and bulk_extractor paper cited by the project.
- 2024: 2.1.1 release notes document ongoing 2.x maintenance.
- 2026: The repository remains active as the development tree for current bulk_extractor work.

### Related projects

- bulk_extractor is related to BEViewer, DFXML, be13_api, forensic carving tools, disk-image analysis workflows, memory and hibernation-file analysis, and downstream feature-file processing scripts.

### Sources

- <https://api.github.com/repos/simsong/bulk_extractor>
- <https://github.com/simsong/bulk_extractor#readme>
- <https://github.com/simsong/bulk_extractor/blob/main/NEWS>
- <https://github.com/simsong/bulk_extractor/wiki>


## Security Notes

No matching local secret-handling manifest was found for bulk_extractor. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bulk_extractor
- **Version Scheme:** 0
- **Revision:** 3
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - bulk_extractor: normalized package name match | nixpkgs package indexes: pkgs/by-name/bu/bulk_extractor/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - bulk_extractor - 2.1.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: bulk_extractor from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bulk Email and URL extraction tool | https://github.com/simsong/bulk_extractor/wiki/Introducing-bulk_extractor
- MacPorts - bulk_extractor: normalized package name match | MacPorts ports tree: security/bulk_extractor/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [sleuthkit](https://www.automicvault.com/pkg/brew/sleuthkit/) - Shares av.db curated category or tags: cli, digital-forensics, disk-analysis, forensics, security.
- [foremost](https://www.automicvault.com/pkg/brew/foremost/) - Shares av.db curated category or tags: cli, digital-forensics, forensics, security.
- [regipy](https://www.automicvault.com/pkg/brew/regipy/) - Shares av.db curated category or tags: cli, digital-forensics, forensics, security.
- [xmount](https://www.automicvault.com/pkg/brew/xmount/) - Shares av.db curated category or tags: cli, digital-forensics, forensics, security.
- [hack-browser-data](https://www.automicvault.com/pkg/brew/hack-browser-data/) - Shares av.db curated category or tags: cli, data-extraction, forensics, security.
- [libewf](https://www.automicvault.com/pkg/brew/libewf/) - Shares av.db curated category or tags: cli, digital-forensics, security.
- [afflib](https://www.automicvault.com/pkg/brew/afflib/) - Shares av.db curated category or tags: cli, forensics, security.
- [binwalk](https://www.automicvault.com/pkg/brew/binwalk/) - Shares av.db curated category or tags: cli, forensics, security.

## Combined YAML source

View the package source record on GitHub. [combined/bulk_extractor.yml](https://github.com/automic-vault/db/blob/main/combined/bulk_extractor.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
