Open Source · v1.0.0

Know Your Perimeter
Before Attackers Do

Give Perimtr your network ranges and domains. It investigates, inventories findings, and tracks what changed since the last scan — so nothing slips through the cracks.

perimtr — assessment

Built for continuous perimeter monitoring

Six focused modules, a change-aware diff engine, and interactive reports — everything you need to keep an eye on what's exposed.

Reconnaissance

Six specialized modules scan ports, enumerate DNS, check HTTP headers, analyze certificates, detect vulnerabilities, and validate email security.

Change Detection

Every scan compares against the previous assessment. New ports, subdomains, vulnerabilities — you see exactly what changed and when.

Stealth Scanning

Rate-limited by default. Slow SYN scans and timed requests avoid triggering IDS/IPS or getting your IP blocked.

Interactive Reports

Self-contained HTML dashboards with severity charts, filterable tables, and tabbed navigation. No server required — just open the file.

LLM-Powered Analysis

Connect OpenAI, Anthropic, OpenRouter, or a local LLM for AI-generated executive summaries, risk scores, and prioritized remediation.

Plugin Architecture

Every module inherits from ReconModule. Add new capabilities by dropping a single Python file — no framework changes needed.

How It Works

A linear, idempotent pipeline — from configuration to a shareable HTML dashboard.

01

Configure

Define your networks, domains, and schedule in perimtr.yaml

02

Scan

Six modules run concurrently with rate limiting

03

Inventory

Findings stored as timestamped JSON — full history preserved

04

Compare

Diff engine detects new, removed, and changed findings

05

Analyze

LLM generates executive summary and risk score (or use built-in analysis)

06

Report

Interactive HTML dashboard with every finding, filter, and chart

Six modules. Every inch of your perimeter.

Each module is a self-contained Python class. Enable only what you need; results are unified in a single inventory.

Module What It Checks Key Detections
Port Scanner
Network ranges via SYN scan with nmap + socket fallback Open ports, new services, service versions
DNS Enumeration
crt.sh CT logs, brute-force, zone transfers, full records Subdomains, DNS changes, zone transfer vulnerabilities
HTTP Headers
HSTS, CSP, X-Frame-Options, cookies, TLS, Server header Missing security headers, info leakage, weak TLS
WHOIS & Certs
Domain registration, SSL certificates, key strength Expiring certs, weak keys, issuer changes
Vuln Checks
Databases, RDP, FTP, SNMP, SSH, SMTP relay Exposed databases, dangerous services, default credentials
Domain Security
SPF, DKIM, DMARC, DNSSEC, CAA records Email spoofing risk, DNS poisoning, unauthorized CAs

See what changed since the last scan

Perimtr compares every assessment against your previous baseline. New exposures surface instantly; fixes are verified automatically.

diff — acme-corp · 2026-04-16 vs 2026-04-09
  • New Port 3389 (RDP) opened on app1.acme.com
  • New Subdomain k8s.acme.com discovered
  • Resolved Anonymous FTP access removed
  • Changed Certificate issuer changed for acme.com

Up and running in under a minute

Clone the repo, install the package, and run the interactive setup. Perimtr will walk you through your first assessment.

Requires Python 3.10+. Optional: nmap for SYN scanning.

bash
git clone https://github.com/jph4cks/perimtr.git
cd perimtr
pip install -e .

# First run — interactive setup
perimtr

# Or with LLM support
pip install -e ".[llm]"

Plug in the model you already use

Perimtr speaks OpenAI, Anthropic, OpenRouter, and any OpenAI-compatible local server. Bring your own key — or run fully offline.

OpenAI

ChatGPT

Anthropic

Claude

OpenRouter

Any Model

Local LLMs

Ollama, vLLM
When no LLM is configured, Perimtr still generates reports with predefined recommendations based on findings. The LLM layer is the icing on the cake — it elevates reports with executive summaries, risk scoring, and actionable remediation steps.