Download the ZIP for your processor: x64 for most PCs, ARM64 for Snapdragon laptops. Compare its SHA-256.
Extract the whole ZIP (right-click, Extract All). Then double-click Start-TMAegis-GUI.cmd for the local GUI, or use PowerShell as below.
To apply fixes, open PowerShell as Administrator: right-click Start and choose Terminal (Admin) or Windows PowerShell (Admin).
The commands use the file name shown above. Use the name of the file you downloaded if it differs.
SmartScreen
The binaries are not code-signed yet, so Windows may show "Windows protected your PC". After you have checked the SHA-256, choose More info, then Run anyway.
Choose Apple silicon for M1 and newer Macs, Intel for older ones (Apple menu, About This Mac).
Extract the archive in Terminal and remove the quarantine flag that your browser added.
The commands use the file name shown above. Use the name of the file you downloaded if it differs.
Gatekeeper
macOS may say the developer cannot be verified because the binary is not code-signed or notarized yet. The xattr command above clears the flag; do it only after you have checked the SHA-256.
Choose x64 for most servers and PCs, ARM64 for ARM servers and 64-bit Raspberry Pi systems.
Extract into a folder, keep the rules directory next to the binary and run it with sudo.
Not sure which one? Run cat /etc/os-release. Debian, Ubuntu and systems with debian in ID_LIKE use .deb; Fedora, RHEL, Rocky Linux, AlmaLinux and openSUSE use .rpm.
The commands use the file name shown above. Use the name of the file you downloaded if it differs.
Install options
6 options
Builds for FreeBSD, IBM AIX, Oracle Solaris and Linux on IBM Z (s390x) and RISC-V. They use the same rules and commands as the other systems.
Experimental builds
These builds are compile-checked only: they have never been run on real hardware. Try them on a test system first and stay with read-only scans and --dry-run until you trust the results. Tell us what works and what does not. Report a result
mkdir tmaegis && tar -xzf tmaegis_0.1.0_freebsd_amd64.tar.gz -C tmaegis && cd tmaegis
# as root (su, doas or sudo):
./tmaegis scan --auto-detect
./tmaegis apply --auto-detect --dry-run
mkdir tmaegis && tar -xzf tmaegis_0.1.0_freebsd_arm64.tar.gz -C tmaegis && cd tmaegis
# as root (su, doas or sudo):
./tmaegis scan --auto-detect
./tmaegis apply --auto-detect --dry-run
Pick the file for your system and processor, and compare its SHA-256.
Unpack it into a folder and keep the rules directory next to the binary. On AIX and Solaris, unpack with gzip as shown, because their tar cannot read .tar.gz by itself.
Run it as root (su, doas or sudo). A scan without root reports the checks that need root as failed.
The commands use the file name shown above. Use the name of the file you downloaded if it differs.
Install options
1 option
Container image
Multi-arch: linux/amd64 and linux/arm64Not checked
ghcr.io/tmaegis/tmaegis:0.1.0
The registry could not be checked just now. If docker pull says the image is not found, it is not published for this release yet: use a download from the other tabs.
Copy-ready command
shell
docker pull ghcr.io/tmaegis/tmaegis:0.1.0
docker run --rm ghcr.io/tmaegis/tmaegis:0.1.0 --help
The rules are inside the image and the entrypoint is tmaegis, so everything after the image name goes straight to the tmaegis command.
Scan an exported device configuration
Mount the folder that holds the exported file read-only and point --device-config at it. The container never connects to the device.
The image is built on a minimal base: it has no shell and no cloud or Kubernetes command-line tools. Run host, cloud and Kubernetes scans with the archive or a package on a machine where those tools are installed.
Scanning the host from a container is not supported
A container sees only its own file system and processes. Mounting the host into it (--pid=host -v /:/host:ro) is not supported, and the results would not describe your machine. Install the archive or a package on the host instead.
You need Git, Go 1.27 or newer and make.
shell
git clone https://github.com/tmaegis/tmaegis.git
cd tmaegis
make build
./bin/tmaegis scan --auto-detect
make build-all cross-compiles for Linux, Windows and macOS.
One binary, every platform
The same single file scans, reports and fixes on every system. Nothing is installed on the machines you check, and every fix can be undone.
One download
tmaegis · tmaegis.exe
A single static binary with the rules next to it. The same commands on Windows, macOS, Linux and the Unix systems.
Windows
macOS
Linux
FreeBSD
AIX
Solaris
Docker
01Scan
Detects what is installed and runs only the checks that apply. Read-only: nothing changes.
02Report
Findings ranked by severity, as HTML, PDF, Excel, SARIF or JSON.
03Fix
Preview with --dry-run, then apply. A snapshot is taken first and every change is verified.
Dead-man's switch
After a fix, TMAegis waits for you to confirm that the system still works (60 seconds by default).
You confirm: the change stays.
No confirmation in time, or a check fails: everything is rolled back from the snapshot.
Rollback works the same way on every system: tmaegis rollback restores any snapshot by hand.
Test your device
Find the system you want to check. Each card says where to run TMAegis, what to export or sign in to first, and the exact scan command.
What runs where
One tool for every platform
The same tmaegis download covers all 96 platforms. It runs on Windows, macOS or Linux; what changes is where you run it and what it reads.
Network devices: an exported file
TMAegis never connects to a router, switch or firewall. You export the configuration as text, copy the file to your computer and scan it there.
Remote scans over SSH: planned
Scanning or hardening other machines over SSH or WinRM is not available yet. It is planned, with no date. Today, run TMAegis on each machine, or scan exported files.
Some systems have nothing to install
Phones, Intune profiles, printers, mainframes and some SaaS tenants cannot run TMAegis. For those it prints a checklist to work through by hand.
96 systems shown
Apache Cassandra
cassandra · 21 rules: 14 automated, 7 manual
This machine
Where to run it:On the database server, as root or Administrator, with the database's own client on the PATH and an administrative database login.
Where to run it:On the AIX, Solaris or FreeBSD system, as root.
An experimental build for this system is in each release: compile-checked only, not yet run on real hardware. Try it on a test system first; if a release lacks it, build it from source with Go. Experimental downloads
Where to run it:On the AIX, Solaris or FreeBSD system, as root.
An experimental build for this system is in each release: compile-checked only, not yet run on real hardware. Try it on a test system first; if a release lacks it, build it from source with Go. Experimental downloads
Where to run it:On the AIX, Solaris or FreeBSD system, as root.
An experimental build for this system is in each release: compile-checked only, not yet run on real hardware. Try it on a test system first; if a release lacks it, build it from source with Go. Experimental downloads
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal length 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
# in clish, on each gateway and management server
set clienv rows 0
show configuration
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal pager 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal length 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal length 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal length 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Most Cisco Secure Firewall settings are managed in the Management Center (FMC); those checks are on the checklist.
Export the configuration
device cli
show running-config # on the FTD CLI (the > prompt)
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
terminal length 0
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
shell
# in the BIG-IP advanced shell (bash)
for c in "auth password-policy" "auth source" "auth remote-user" "auth radius" "sys httpd" "sys sshd" "sys global-settings" "cli global-settings" "sys snmp" "net self"; do tmsh list $c all-properties; done > f5-bigip.txt
tmsh list sys ntp >> f5-bigip.txt
tmsh list sys syslog >> f5-bigip.txt
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
config global # only on units with VDOMs enabled
show full-configuration
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
show full-configuration
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
show running-config
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
show configuration | display set | no-more
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
In the web interface:System > Configuration > Backups > Download configuration
shell
# or, from the OPNsense shell:
cat /conf/config.xml
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
device cli
set cli pager off
set cli config-output-format set
configure
show
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Export the configuration
In the web interface:Diagnostics > Backup & Restore > Download configuration as XML
shell
# or, from the pfSense shell:
cat /cf/conf/config.xml
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Where to run it:On any computer that can reach the array's management address over SSH, to export the settings; then scan the file.
The checks read the Purity//FA CLI output in name=value form (--nvp). One file may hold the output of all the commands.
Export the configuration
shell
for c in "purearray list --ntp" "purepolicy password list" "purelog syslog list" "puresnmp list" "puresmtp list" "pureds list" "purealert watcher list"; do ssh pureuser@<array> "$c --nvp"; done > flasharray.txt
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Commands and menus differ between versions: check your version's documentation.
Where to run it:On any computer. Copy the exported file there; TMAegis does not connect to the device.
Sophos Firewall has no plain-text configuration export, so most checks are reviewed in the web admin console.
Export the configuration
In the web interface:Backup & firmware > Import export > Export full configuration
Save the complete output as a text file (for example with your terminal's session log), copy it to the computer that runs TMAegis and put its path after --device-config.
Commands and menus differ between versions: check your version's documentation.
Scan command
tmaegis scan --target sophos --include-manual
Try it now with a sample file
The current rules for this system are checklist items, so the sample file only shows what an export looks like.
Everything ships in the same archive. Use the parts you need.
Command line and local GUI
The tmaegis binary scans, fixes and rolls back. tmaegis gui opens the same engine in a window that listens only on your own machine and works offline.
shell
tmaegis scan --auto-detect
tmaegis gui
On Windows, double-click Start-TMAegis-GUI.cmd in the extracted folder to open the GUI.
Server dashboard
tmaegis-server collects the reports of many hosts in one place. Start it with Docker Compose from the source repository; scans send their report with --push-url.
Every archive contains the YAML rules in the rules folder. They are plain files you can read, compare and extend; point the scanner at another folder with --rules-dir.
# FreeBSD
sha256 tmaegis_0.1.0_freebsd_amd64.tar.gz
# Solaris
digest -a sha256 tmaegis_0.1.0_solaris_amd64.tar.gz
# AIX (or any system with OpenSSL)
openssl dgst -sha256 tmaegis_0.1.0_aix_ppc64.tar.gz
grep <file name> checksums.txt
Only trusted sources
Download only from www.tmaegis.dev or from github.com/tmaegis/tmaegis/releases. This website does not host the files; every Download button goes to GitHub Releases.
Compare the hash
If the SHA-256 of your file differs from the one shown here and in checksums.txt, delete the file and do not run it.
Not code-signed yet
The binaries are not code-signed. Windows SmartScreen and macOS Gatekeeper may warn about them. That is expected, and the SHA-256 check is how you confirm the file is genuine.
Found a problem?
Report vulnerabilities privately, not in a public issue. The security policy explains how.
TMAegis is free and open source under the Mozilla Public License 2.0. You can use it at work and for your clients, and read, change and share the source code.
The names TMAegis and tmaegis and the TM Cyber-Shield logo are trademarks of the project founders and are not covered by the licence. The trademark policy explains what you may do without asking.