Port Igniter
Get Started
Reef — containerized Linux host security monitoring

PortIgniter Reef

Host security monitoring that fits between a SIEM and a shell script.

Current version: 2026.10.28

Reef is a self-hosted Linux security stack in a handful of Docker containers. It includes reliable and proven scanners to keep an eye on file integrity, audit events, Lynis hardening, ClamAV and YARA malware scans, OpenSCAP benchmarks, and Grype vulnerabilities, plus always-on USB device and disk health monitoring, all wrapped up in one clean dashboard that turns raw tool output into ranked, deduplicated findings and sends you a notification when something matters. You get the visibility of a monitoring platform like Splunk or ELK without the licensing bill, and without the weeks of assembly that rolling your own from open-source parts demands.

Pricing Documentation

The middle ground you have been missing

High-end SIEMs are priced for enterprises and take a team to run. The raw open-source tools are excellent, but you are left wiring together collectors, parsers, schedulers, and a UI before you see a single finding. Reef ships that whole layer as one docker compose stack: a privileged agent runs the scans against your host, a worker parses the output into findings, and a lean web app is your reporting and notifications hub. There are no restrictions on the number of agents you can deploy! One price, no limits!

Mac agent support coming soon

Linux Only

Agent Requirements

Reef is built for modern Linux servers. The agent scans the host it runs on, so that host must be Linux running Docker with Docker Compose.

  • Linux (Tux) LinuxSupported
  • macOS macOSNot tested or supported
  • Windows WindowsNot supported, including Docker Desktop

Seven scanners, one dashboard

Each scanner answers a different question about the health of your host, and together they cover four goals: detect tampering, catch malware, harden and comply, and patch what matters first. Every scan runs on a predefined schedule or on demand, and Reef normalizes every result into a Finding with a severity rating, a plain-language explanation, and a status you manage for visibility and tracking.

File Integrity

Detect tampering

Did anything on disk change that shouldn't have?

Reef keeps a per-host baseline of hashes and attributes for the file-system paths that matter. Every re-scan compares the host against that baseline, so an unexpected edit to a config file or binary shows up as a finding instead of going unnoticed.

What it reports

  • New files
  • Files whose content changed
  • Removed files
  • Permission changes

Audit Events

Detect tampering

Who did what on this host, and is anyone watching?

Reef checks that auditd is running with a best-practice ruleset loaded, then reads new audit events incrementally from a checkpoint and classifies the ones that matter.

What it reports

  • Coverage gaps, per rule key
  • Account changes and sudo commands
  • Brute-force attempts
  • MITRE ATT&CK-tagged syscalls

Malware Signatures

Catch malware

Is a known piece of malware sitting on this host?

ClamAV sweeps the writable, higher-risk directories, such as /home, /root, /tmp, and /opt, and checks every file against its database of known malware signatures.

What it reports

  • A critical finding for each infected file

Works alongside the YARA scanner (4): ClamAV matches known files, and YARA matches patterns that signatures miss.

Malware Patterns

Catch malware

Does anything match the patterns of malicious code?

Where ClamAV matches files against known malware, YARA looks for the strings, byte sequences, and other indicators that families of malicious code have in common. Reef bundles its own rule set, so there is nothing to download or maintain, and new rules arrive with regular releases.

What it reports

  • A finding for each file that matches a rule

Works alongside the ClamAV scanner (3) for a second, independent look at the same directories.

System Hardening

Harden & comply

How hard is this host to break into?

Reef runs a full Lynis audit in the host's own namespace. Every warning and suggestion is enriched from an offline knowledge base, so you get a to-do list instead of raw tool output.

What it reports

  • Warnings and suggestions, each with what it means, why it matters, and how to fix it
  • An upstream documentation link for each item
  • A hardening index for the host

Compliance Benchmarks

Harden & comply

Does this host meet the benchmark I'm held to?

OpenSCAP evaluates the host against the CIS, STIG, PCI-DSS, or other SSG profile you pick. It runs in detection mode only and never auto-remediates, and it reads each rule's title, rationale, and fix text straight from the datastream it ran.

What it reports

  • A compliance percentage with pass, fail, and manual counts
  • Rule-by-rule results with rationale and fix text
  • A STIG Viewer 3 .cklb checklist export, ready for eMASS

Vulnerabilities

Patch what matters

Which vulnerabilities on this host are attackers actually using?

Syft catalogs a complete SBOM of the host, and Grype matches every package against known CVEs. Each match is cross-referenced against the CISA Known Exploited Vulnerabilities (KEV) catalog, so the ones being exploited right now rise to the top of the list.

What it reports

  • CVE findings for installed packages
  • A KEV badge on actively exploited CVEs
  • CVSS scores back-filled from a baked-in NVD index
  • The full package inventory in the scan summary
Reef dashboard: severity tiles, scan coverage, and recent scan activity

A dashboard, not a log firehose

The overview shows findings by severity, which scan types have current coverage, agent health, and recent scan activity. Drill into any scan to watch it run and see exactly what it produced.

Findings have a lifecycle you actually use: open, acknowledged, resolved, and suppressed. Repeat sightings are deduplicated and bump a "last seen" timestamp. When a later authoritative scan stops reporting a finding, Reef resolves it for you and reopens it if it comes back.

Need to hand results to someone else? Export any scan as an executive summary report in Markdown or plain text.

The whole UI is server-rendered with vanilla JavaScript. No framework, no build step, no client-side sprawl.

Reef OpenSCAP scan detail: CIS profile score, pass and fail counts, and checklist export

Compliance without the consultant

Pick a profile such as: cis_server_l1, stig, pci-dss, and more and Reef runs the OpenSCAP scan against your host. Each result gives you a compliance percentage and pass, fail, and manual counts.

Then, export it as a STIG Viewer 3 .cklb checklist ready for eMASS. Passes and failures are filled in for you; anything the scanner could not verify is left for a human to review.

When a fix will take time, group the related findings into a POA&M (Plan of Action & Milestones) with an owner, a due date, and milestones. Its timeline keeps your team's notes and automatically records every status change on its findings, including the ones a scan resolves or reopens. Reef sends a notice when a POA&M goes overdue, and you can export it as CSV.

Reef findings table with a KEV badge on an actively exploited CVE and a finding detail drawer

Focuses on what is actually being exploited in the wild

A CVE list is just noise until you know which entries matter today. Reef cross-references every Grype match against the CISA Known Exploited Vulnerabilities catalog and pins actively exploited ones to the top of the findings list with a badge, a dedicated filter, and a dashboard tile. Missing CVSS scores are back-filled from a baked-in NVD index, and the full package inventory is kept in the scan summary so you can see exactly what is installed.

Watching the hardware between scans

Scans run on a schedule, but some events can't wait for the next one. Alongside the scanners, the agent keeps a continuous, read-only watch on what is plugged into the host and on the health of its disks.

Reef USB and Disk Health endpoint monitoring

Disk health

Every 30 minutes the agent reads each drive's SMART data without waking drives that are in standby. Reef rates each disk OK, warning, or failing based on signs such as reallocated or pending sectors, NVMe media errors, worn-out endurance, failed self-tests, and high temperatures.

You get a notification only when a disk picks up a new problem, so a failing drive gets noticed before it takes your data with it.

USB & removable media

Every minute, Reef records the USB devices and removable media connected to the host. It reads the kernel log as well, so a device that is plugged in and pulled out between two checks still shows up in the history.

  • Automatic baseline Whatever is connected when monitoring starts is marked known, so day one is quiet.
  • Unrecognized device alerts Anything new raises a notification the moment it is attached.
  • BadUSB detection A known flash drive that suddenly also acts as a keyboard raises a critical alert and loses its known status until someone re-approves it.
  • Your allowlist Mark devices known or revoke them from the agent page, which also keeps the attach and detach history.

Built for locked-down networks

Air-gap friendly

The CISA KEV catalog, the NVD CVSS index, and current SCAP compliance content are all downloaded and baked into the image at build time. At scan time Reef makes no outbound calls for threat intelligence. A point-in-time snapshot refreshes on every image rebuild.

Isolated scanner

The privileged agent that touches your host has no database access and no application code. It authenticates with an API key, self-identifies by hostname, reads the host mounted read-only, and only ever ships raw tool output back. All parsing happens server-side.

Ollama

AI-interpreted results, on hardware you control

Point Reef at a dedicated Ollama instance and every finding gets a plain-language interpretation on top of the rule text: what likely caused it, how urgent it really is in context, and a suggested remediation path. Ask it about one finding from the detail drawer, or run it against an entire scan's results at once for a single narrative summary of what a scan pool turned up.

The model runs on infrastructure you own. Reef sends findings to the OLLAMA_URL you configure and nothing else - no finding data, host inventory, or scan output goes to a third-party API. That keeps AI interpretation inside the same no-outbound-calls posture as the rest of Reef, so it is a fit for air-gapped and locked-down networks, not just an add-on. Reef is fully tested against Llama and Qwen-family models served through Ollama.

Runs anywhere Linux and Docker do

No external database to stand up, no framework build step, no cloud dependency. Copy the example environment file, set three secrets, and bring the stack up.

Five lightweight containers

web Django on gunicorn: Contains the dashboard and web API
worker Celery: Parses raw scan output into findings and runs the notification rules
beat Celery scheduler: Enqueues scans, expires stale jobs, and flags offline agents
redis The task broker
agent The privileged scanner; its own image, no database, no app code

State lives in SQLite on a shared volume. web, worker and beat are the same image run in different roles. An optional Ollama container for AI interpretation is included as a compose profile.

Easy Installation process

# 1. start from the template and set three secrets
cp .env.example .env

# 2. Login to the PortIgniter Registry
docker login registry.portigniter.com

# 3. Start the stack
docker compose up -d

# 4. open the dashboard — the host agent
#    checks in within ~15 seconds
open http://localhost:8000/

Scheduled out of the box

Nightly file integrity, hourly audit, daily ClamAV, YARA, and CVE scans, plus weekly Lynis and OpenSCAP CIS benchmarks are seeded on first start. Edit them in the admin or run any scan on demand.

Notifications

Findings at or above your severity threshold, unrecognized USB devices, failing disks, and overdue POA&Ms raise an in-app notification and send an email copy, so you hear about a critical without watching the dashboard. The notification feed is searchable.

ENV Configuration

Every knob - scan paths, thresholds, retention, poll intervals - is an environment variable. There is nothing you need to edit inside the container.

Annual license, Standard Edition available now!

Reef Standard Edition is licensed at $100 USD per year and includes regular, monthly updates which include refreshed threat-intel snapshots, new and improved scanners, and dashboard enhancements. Standard is designed for smaller organizations that do not need a HA deployment. Since it's licensed under the MIT license, you can opt not to renew and still use the software indefinitely. Buy a license below, or get in touch to talk through a deployment for your environment.

Infrastructure Mascot

Standard

SQLite-based single Web deployment. For small organizations that need a simple Docker-based deployment to get up and running fast. No limits on agents, users, or scans!


License $100/year
MIT License
Unlimited Agents
All scanners
Docker Compose deployment

Buy a License

Pro

PostgreSQL-based multi Web deployment for organizations that need High Availability. Pro comes with a pre-made Helm chart for easy deployment to your Kubernetes cluster.


License $250/year
MIT License
Unlimited Agents
All scanners
Helm Chart for Kubernetes

Coming Soon

Top