LAVA
What is LAVA?
LAVA lets investigators and analysts browse and explore output reports generated by the *LEAPP family of forensic tools.
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask lavabrew trust does. An older Homebrew that has no brew trust command can leave that part out.
ALEAPP
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask aleapp-guibrew trust does. An older Homebrew that has no brew trust command can leave that part out.aleapp-gui cask installs ALEAPP.app and links its command line as aleapp: started with no arguments it opens the window, and given arguments it runs as the command line. The separate brew install aleapp formula is deprecated and stays at its last release.
iLEAPP
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask ileapp-guibrew trust does. An older Homebrew that has no brew trust command can leave that part out.ileapp-gui cask installs iLEAPP.app and links its command line as ileapp: started with no arguments it opens the window, and given arguments it runs as the command line. The separate brew install ileapp formula is deprecated and stays at its last release.
RLEAPP
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask rleapp-guibrew trust does. An older Homebrew that has no brew trust command can leave that part out.rleapp-gui cask installs RLEAPP.app and links its command line as rleapp: started with no arguments it opens the window, and given arguments it runs as the command line. The separate brew install rleapp formula is deprecated and stays at its last release.
VLEAPP
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask vleapp-guibrew trust does. An older Homebrew that has no brew trust command can leave that part out.vleapp-gui cask installs VLEAPP.app and links its command line as vleapp: started with no arguments it opens the window, and given arguments it runs as the command line. The separate brew install vleapp formula is deprecated and stays at its last release.
DLEAPP
What is DLEAPP?
Parse desktop-application artifacts (Electron, Chromium, and friends) — plus any artifact that doesn't fit the platform-specific LEAPPs. If it doesn't belong in iLEAPP, ALEAPP, RLEAPP, or VLEAPP, it belongs here.
Highlights
- Prebuilt packages for Windows, macOS, and Linux, one program that is both the window and the command line, so no Python is needed
- Apple Silicon and Intel builds for macOS; x64 and arm64 for Windows and Linux
- Growing parser set — contributions welcome
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask dleapp-guibrew trust does. An older Homebrew that has no brew trust command can leave that part out.dleapp-gui cask installs DLEAPP.app and links its command line as dleapp: started with no arguments it opens the window, and given arguments it runs as the command line.
GLEAPP
What is GLEAPP?
Triage and analysis for large sets of images and video. GLEAPP ingests media from folders, full file system extractions and disk images, hashes and de-duplicates it, reads metadata, pulls video key frames, matches known-hash lists, and opens a local review gallery to work the backlog in.
It is a tool for authorized examiners. It ships no illegal-content hash database, downloads nothing, and performs no content classification: categorizing a file is always the examiner's decision.
Highlights
- Reads folders, full file system extractions, and E01 or raw disk images, walking each file system file by file, with optional recovery of deleted media
- Exact and visual de-duplication, EXIF and GPS metadata, video key frames, and known-hash matching (Project VIC, CAID-style, CSV, and the NSRL RDS)
- HTML contact sheet, CSV, JSON, KMZ, and a LAVA project as output
- Offline maps: import an area cut by the GLEAPP Map Downloader under Maps, Import, and GLEAPP itself never goes online
- Builds for Windows, macOS (Apple silicon and Intel), and Linux, so no Python is needed
brew trust leapps-org/leapps; brew tap leapps-org/leappsbrew install --cask gleappbrew trust does. An older Homebrew that has no brew trust command can leave that part out.gleapp cask installs GLEAPP.app. It does not link a command line.
GLEAPP Map Downloader
What is it?
GLEAPP never goes online, so its maps have to come from somewhere. The Map Downloader is the part that does: run it on a machine with internet access, pick an area and a level of detail, and it saves that area of the Protomaps planet basemap as one .pmtiles file. Copy the file to the offline machine and import it in GLEAPP under Maps, Import. Any viewer that reads PMTiles opens it too.
Privacy: Protomaps' server sees which part of the planet you read, which is the area you ask for. When the area itself is sensitive, cut a larger one around it, or cut it on a machine that is not tied to the case.
Highlights
- Pick a named region or an exact box, and a detail level from zoom 0 to 15: 10 shows highways and towns, 15 every street and building. Check the size first, then download
- Downloads only the tiles inside the area, read from the planet file with HTTP range requests, and an area too large for one file is refused before anything is downloaded
- A stopped or failed download leaves no file that looks whole
- The map data is OpenStreetMap's, under the Open Database License. The file carries the © OpenStreetMap credit, and a map shown anywhere else must credit it too. Not affiliated with Protomaps or the OpenStreetMap Foundation
- One Python file, standard library only, with a window and a command line. Executables for Windows, macOS and Linux (x64 and arm64). Since v0.2.0 the macOS build is an app in a disk image, signed with a Developer ID and notarized by Apple; the Windows and Linux builds are not code signed
Batch LEAPP
What is Batch LEAPP?
Point it at a directory and it finds every extraction inside, runs iLEAPP, ALEAPP, RLEAPP, or VLEAPP against each one in parallel, and builds a single report index linking every result — with SHA-256 hashing and a manifest for your case file.
Highlights
- One index.html linking every report and LAVA project
- SHA-256 manifest (CSV & JSON) for casework
- GUI and CLI — prebuilt for macOS and Windows
- Read the announcement post
Code signing policy
Status
The Windows builds are not signed yet. We are applying to SignPath Foundation's free code signing program for open source projects, and this policy applies to every Windows release of iLEAPP, ALEAPP, RLEAPP, VLEAPP, DLEAPP and GLEAPP signed under it.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Signed builds will be made from source by GitHub Actions in each tool's own repository, and each release will be signed only after an approver confirms it.
SignPath signs each tool's single-file program, the one executable in its portable zip. Third-party files packed inside it, such as Mandiant's Unified Log parser in iLEAPP and DLEAPP, are not signed on their own.
Team roles
- Committers and reviewers: abrignoni, Johann-PLW, stark4n6, JamesHabben
- GLEAPP committers and reviewers also include charpy4n6
- Approvers: abrignoni, Johann-PLW
Privacy
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
