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.
Release files for securitytide-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| securitytide_cli-0.1.0.tar.gz | 18.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| securitytide_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / securitytide_cli-0.1.0.tar.gz
| Download URL | securitytide_cli-0.1.0.tar.gz |
|---|---|
| Size | 18.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4a1d742fdb1526942197715f6f777c034329cffc81b8a3918fe5ff6c5bd2285
|
|
BLAKE2b-256 checksum How to use checksums |
35022a8ac4b78b80e50eed7eab3127b2316a4bd1cf8d17474035d50ce6c843e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / securitytide_cli-0.1.0-py3-none-any.whl
| Download URL | securitytide_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c38697b32be6e585ab265f59b546d4426e3eeab7fdb4906e4df9e64be47a91ec
|
|
BLAKE2b-256 checksum How to use checksums |
abc610ee6038151bb6bb25f0f77e6892f0d9dd4e1adce3c57d3ca75f3458bb7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|