securitytide
See your Linux host's security posture in one command.
Not another CPU-and-memory dashboard. securitytide shows you the things that
actually get a box owned: what's exposed to the network, who's failing to log in,
whether your firewall is even on, and how far behind you are on security patches —
scored, graded, and explained.
pip install securitytide-cli
securitytide
That's it. The dashboard opens at http://localhost:8787. No config, no agent to
register, no account.
What you get
A single posture score (0–100) with a letter grade, and — crucially — every point deduction is shown. Nothing is a black box. You see exactly why your box scored what it did and what to fix first.
- Exposed surface — every listening port, with the ones reachable beyond localhost flagged, and known-risky services (Redis, RDP, SMB, unauth Mongo…) called out.
- Failed logins — brute-force attempts in the last 24h, aggregated by source IP.
- Security services — is your firewall active? fail2ban? auditd? AppArmor?
- Pending patches — how many security updates you're behind (apt & dnf).
Prefer the terminal?
securitytide --once # one-shot posture report, no server
securitytide --once --json # machine-readable, pipe it anywhere
Drop securitytide --once in a cron job or a login MOTD and get your posture
every morning.
Safe by default
This tool maps your host's weak points, so it's built to keep that map to yourself:
- Localhost only. Binds to
127.0.0.1. It will not put itself on the network unless you pass an explicit flag and confirm at a prompt. - No shell. There is no terminal, no command execution, no write operations of any kind. It observes and reports — that's all.
- Read-only. Every system query is a fixed, read-only command. Nothing you send the API can make it run anything.
Need to view it from another machine? Tunnel over SSH — don't expose the port:
ssh -L 8787:127.0.0.1:8787 you@yourhost
# then open http://localhost:8787 on your laptop
Requirements
- Linux (uses
systemctl,journalctl, and your package manager where present) - Python 3.9+
Everything degrades gracefully — if a data source isn't available, that panel just shows less, it doesn't crash.
From one host to many
securitytide is deliberately scoped to one machine — yours. When you're
responsible for a fleet, the same posture view across every host, with AI-assisted
triage, alerting to Slack/email/PagerDuty, and CIS/NIST compliance reporting, is
Securitytide — the hosted upgrade. Same DNA, built for teams.
The free tool is complete on its own. You only need the cloud version when one host becomes a problem worth paying to solve.
License
Apache 2.0. Contributions welcome — issues and PRs especially around new posture checks and package-manager support.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file securitytide_cli-0.1.0.tar.gz.
File metadata
- Download URL: securitytide_cli-0.1.0.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4a1d742fdb1526942197715f6f777c034329cffc81b8a3918fe5ff6c5bd2285
|
|
| MD5 |
626a603f0a6d172047ea9fe1108a38ff
|
|
| BLAKE2b-256 |
35022a8ac4b78b80e50eed7eab3127b2316a4bd1cf8d17474035d50ce6c843e6
|
File details
Details for the file securitytide_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: securitytide_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c38697b32be6e585ab265f59b546d4426e3eeab7fdb4906e4df9e64be47a91ec
|
|
| MD5 |
313c9d82414fe490eb3918c0c2a6ff96
|
|
| BLAKE2b-256 |
abc610ee6038151bb6bb25f0f77e6892f0d9dd4e1adce3c57d3ca75f3458bb7f
|