Skip to content

Lightweight USB storage wipe utility for Linux, provides NIST & DoD level wipe functionality

License

Notifications You must be signed in to change notification settings

OGMemDC/wipezero

Repository files navigation

WipeZero

wipezero logo

Lightweight USB storage wipe utility for Linux, provides NIST & DoD level wipe functionality

Overview

WipeZero quickly wipes any remenants of data from a USB storage device. You can select the level of data wipe to be performed using a pre-built profile, or you can set custom data wipe parameters.

The utility will create you a NIST data wipe report, and a cryptographically signed with hardware hash signature report if you so desire.

Installation

WipeZero was designed and developed on Ubuntu 25.10 Linux because that was my need at the time. I did add code for Mac & Windows platforms but I will admit it has not been thouroughly tested (other then on Ubuntu).

To install on Ubuntu Linux:

[bash shell]: $ # clone the git repository
$ git clone https://github.com/OGMemDC/wipezero.git
$ cd wipezero $ # run setup to install dependencies $ bash ./setup.sh $ # resolve any dependancy issues... $ bash ./install.sh

To install on other operating systems: write your own installer, I have not got to it yet ;-)

Running

WipeZero uses a CLI interface and long style command line parameters. The most important of which is --force. Due to the nature of the utility and the risk of data loss, the default operating mode is always a dry run unless the --force flag is used.

usage:  wipezero  [-h] [--force] [--profile {nist-clear,nist-purge,dod-short,dod custom}]                           [--passes PASSES] [--progress] [--gui] [--list] [--crypto-erase] [--secure-erase]
                          [--auto] [--verify] [--report] [--report-dir REPORT_DIR] [--pdf-report]                           [--hash-verify] [--gui-report] [--detect-fake-usb] [--forensic-verify]                           [path]

Advanced, cross-platform, multi-profile disk wipe utility for removable USB storage devices. Includes multiple reporting options and additional features such as listing removable USB storage devices and detecting fake removable USB storage devices.

Author: BlackHatOG Email: bitbltog@proton.me Date: December 2025

positional arguments:     path  -  Path to the USB storage device/directory/block/etc to be wiped

options:     -h, --help  -  show this help message and exit     --force  -  without this flag specified nothing gets deleted or wiped, just a dry-run     --profile  -  {nist-clear,nist-purge,dod-short,dod,custom} specify the wipe profile or a custom profile (default: nist-clear)     --passes PASSES  -  if you do not select a wipe profile then you can specify the number of wipe passes manually (default: 1)     --progress   -  display a progress bar with progress updates     --gui  -  display a message box that confirms delete     --list  -  display a list of automatically detected USB storage devices     --crypto-erase  -  Attempt hardware cryptographic erase (if supported)     --secure-erase  -  Attempt controller secure erase (if supported)     --auto  -  Automatically select safest erase method per device     --verify  -  Perform post-erase verification pass     --report  -  Generate NIST compliance report     --report-dir REPORT_DIR  -  Directory for reports (default: cwd)     --pdf-report  -  Generate a X.509 signed PDF report with hardware identification hashes     --hash-verify  -  Generate a unique hashcode and embed it in the report as part of the signature payload     --gui-report  -  display a gui report reader at the end     --detect-fake-usb  -  examine and display warning messages about suspect USB storage devices     --forensic-verify  -  forensic evidence level verification and reporting

Using Profiles

WipeZero "wipes" fragments of old data by filling the storage device with new data until the storage device is full, effectively overwriting whatever remenants are left on the device. Then deletes the data that was written to the device so that it is empty again.

Each time that the storage device is filled to capacity and deleted is called a "pass".

The data that is written to the device is called "fill character", it is common to use the character 1 (one) or 0 (zero), or to just use random data.

The following table outlines how each profile wipes the storage device by defining the number of passes and what fill character is used in each pass. Each profile has a different number of passes that are performed, and will contains different combinations of fill characters that are used on each pass.

PROFILE Pass:1 Pass:2 Pass:3 Pass:4 Pass:5 Pass:6 Pass:7
nist-clear zero
nist-purge zero random
dod-short zero one random
dod zero one random zero one random zero
custom

examples:

The following will wipe the device at /dev/dm-0 using the nist-clear profile and produce a NIST approved report: sudo wipezero --profile nist-clear --force --report --report-dir ~/wipezero/out/report.pdf /dev/dm-0

To wipe a USB storage device to DoD standards: sudo wipezero --profile dod --force --report --report-dir ~/wipezero/out/report.pdf /dev/dm-0

Custom Wipe Setting

The custom wipe setting is for when you want to perform a wipe that is not satisfied by one of the pre-built profiles.

A custom wipe uses the command line arguments --profile custom and --passes, when you perform a custom wipe WipeZero will use zero (0) as the fill character.

examples:

The following will wipe the device at /dev/dm-0 6 times and produce a NIST approved report: sudo wipezero --profile custom --passes 6 --report --report-dir ~/wipezero/out/report.pdf /dev/dm-0

Cryptographic and Secure Wipe

TODO: Write this section

Automatic Wipe

TODO: Write this section

Verification Methods

TODO: Write this section

Reporting

TODO: Write this section

Additional Features

TODO: Write this section

List Detected USB Devices

TODO: Write this section

Progress Bar

TODO: Write this section

GUI Confirmation

TODO: Write this section

GUI Report

TODO: Write this section

Detect Fake USB

TODO: Write this section

Contributing

TODO: Write this section

About

Lightweight USB storage wipe utility for Linux, provides NIST & DoD level wipe functionality

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published