SSN Exposure

Detect US Social Security Numbers with Zeek. This script only works with Zeek 3.0+.


Zeek Package Manager

This is a test for the new Zeek package manager. If you don't have the package manager and you don't want to work with early code please use the alternate
manual installation method.

zkg refresh
zkg install ssn-exposure

Alternate Manual Installation

cd <prefix>/share/zeek/site/
git clone git://
echo "@load ssn-exposure" >> local.zeek

After the ssn-exposure module is loaded, follow the configuration examples below. One or both of the following options must be done or the script won't do anything.


There are some configuration options that you will likely want to pay attention to. In particular, it's likely that you will want to configure the SsnExposure::prefixes variable unless you have a list of relevant SSNs for your organization in which case you will want to configure the SsnExposure::ssn_file variable to point to a file on disk with a list of SSNs that are relevant for you.


Prefix configuration

This method is more prone to false positives than the next method, but it's quick and easy to begin using after finding the relevant state prefixes from:

Configure likely state prefixes in local.zeek:

redef SsnExposure::prefixes += {
	[$state="Ohio",         $low=268, $high=302],
	[$state="Pennsylvania", $low=159, $high=211],

SSN list configuration

A list of "known SSNs" which will be used for validation after candidate values are extracted from the network.

Configure the SSN list file in local.zeek:

redef SsnExposure::ssn_file = "/var/data/ssn-list.txt";

Create the ssn-list.txt (or whatever file you referenced above):


This file will be reread everytime it changes at runtime so updates do not require a restart.

Package Version :