Get started with macOS Fingerprint in 5 minutes!
cd macos_fingerprint
pip install -e .For GUI support:
pip install -e ".[gui]"macos-fingerprint create -o my-baseline.jsonThis creates a fingerprint of your current system state.
Try installing or removing an app, changing a setting, etc.
macos-fingerprint compare -b my-baseline.jsonYou'll see:
- Summary of changes (Critical, High, Medium, Low severity)
- Detailed list of what changed
macos-fingerprint compare -b my-baseline.json -o report.html --format htmlOpen report.html in your browser for a beautiful visual report.
Monitor your personal Mac for unauthorized changes:
# After fresh setup
macos-fingerprint create -o ~/secure/baseline.json --encrypt --password [secure-password]
# Weekly check
macos-fingerprint compare -b ~/secure/baseline.json --encrypted --password [secure-password]Track your dev environment:
# Initial state
macos-fingerprint create -o dev-env-baseline.json
# After brew install/npm install/etc
macos-fingerprint compare -b dev-env-baseline.json -o changes.html --format htmlBefore and after system maintenance:
# Before changes
macos-fingerprint create -o pre-maintenance.json
# After changes
macos-fingerprint create -o post-maintenance.json
# Manual comparison if needed
macos-fingerprint compare -b pre-maintenance.jsonIf you installed GUI support:
macos-fingerprint-gui- Go to "Scan" tab → Click "Create New Fingerprint"
- Wait for scan to complete
- Go to "Compare" tab → Click "Compare with Baseline"
- View results in the text area
- Critical: Security-related changes (FileVault, Gatekeeper, SSH config)
- High: System-level changes (kernel extensions, launch agents, user accounts)
- Medium: Configuration changes or removals
- Low: Minor changes (new apps, minor config)
Comparison Summary:
Total Changes: 5
Critical: 0
High: 1
Medium: 2
Low: 2
Found 5 changes.
[HIGH] LaunchAgentsCollector
[MEDIUM] InstalledAppsCollector
[MEDIUM] NetworkConfigCollector
[LOW] HomebrewCollector
[LOW] PrintersCollector
By default, these sensitive fields are hashed (one-way SHA-3):
- IP addresses
- MAC addresses
- SSH known_hosts entries
- ARP cache
- WiFi network details (BSSIDs)
You can still detect changes, but actual values are protected.
macos-fingerprint create -o baseline.json --no-hashAll fingerprint files are created with 0600 permissions (owner read/write only).
- Create Baseline After Setup: Create your baseline right after setting up a new Mac or after major configuration
- Regular Checks: Run comparisons weekly or after any system changes
- Encrypted Baselines: For sensitive systems, always use encryption
- HTML Reports: Use HTML format for sharing with team or documentation
- Version Control: Consider storing baseline fingerprints in version control (encrypted!)
Some collectors may fail without sudo. This is expected - the tool works without elevated privileges.
Make sure you installed with GUI support: pip install -e ".[gui]"
v2.0 cannot read v1.0 fingerprints. Create a new baseline.
- Read the full README.md for detailed documentation
- Check MIGRATION.md if upgrading from v1.0
- See CONTRIBUTING.md to contribute
- GitHub Issues: Report bugs or request features
- Documentation: See README.md
# Day 1: Fresh Mac setup
macos-fingerprint create -o day1-baseline.json
# Week 1: Regular check
macos-fingerprint compare -b day1-baseline.json
# Month 1: Major update coming
macos-fingerprint create -o pre-update.json
# ... perform macOS update ...
macos-fingerprint compare -b pre-update.json -o update-changes.html --format html
# Month 1: New baseline after update
macos-fingerprint create -o month1-baseline.jsonHappy fingerprinting! 🔒