tpt-security-test

Go

Open-source security assessment and compliance audit platform. Scan, audit, and report for SOC 2, ISO 27001 & HIPAA — CLI + web UI.

0 stars0 forks0 watchersMIT License
auditclicompliancecompliance-automationcybersecuritydevsecopsgolanghipaahtmxiso27001nucleiopen-sourcepenetration-testingpentestsecuritysecurity-auditsecurity-automationsecurity-toolssoc2vulnerability-scanner

Languages

Go95.5%HTML4.3%Dockerfile0.2%
README

TPT Security Platform

An open-source security assessment and compliance audit platform. Scan targets, audit your infrastructure via APIs, browse results in the built-in web UI, and generate HTML/PDF/JSON reports mapped to SOC 2, ISO 27001, and HIPAA controls.

# Start the web UI + API server
tpt serve

# Run a scan (web UI updates live)
tpt scan example.com --framework soc2,iso27001

# Audit your AWS account
tpt audit --provider aws --framework soc2,hipaa

# Generate a shareable PDF report
tpt report <job-id> --format html,pdf

Web UI

tpt serve starts a browser dashboard at http://localhost:4242 — dark-mode, no build step required.

DashboardJob detailFinding detail
All scan/audit jobs, open finding counts, framework coverageSeverity breakdown, filter by status, full findings tableExpandable evidence, remediation advice, compliance controls, inline status update

The web UI uses HTMX for live updates (finding details expand inline, status changes save immediately) with Tailwind CSS + DaisyUI for styling.

Features

Scanning (tpt scan)

  • Nuclei (embedded SDK) — template-based vulnerability detection
  • Naabu — port scanning with compliance-aware severity
  • OWASP ZAP — web app scanning via REST API (--zap-url)
  • TLS inspector — cert expiry, weak ciphers, legacy protocol detection (--scope tls)
  • Email security — SPF, DKIM, DMARC DNS checks (--scope email)
  • Gitleaks — hardcoded secrets in source trees (--secrets-dir)
  • govulncheck / osv-scanner — dependency CVEs (--deps-dir)
  • Dalfox — active XSS and open redirect detection

File import (tpt import)

  • Nessus (.nessus), Burp Suite XML, OpenVAS/GVM XML

Internal audit (tpt audit)

CategoryProviders
CloudAWS · GCP · Azure · DigitalOcean · Hetzner · Cloudflare · Vercel · Supabase · Wasabi · Backblaze
IdentityOkta · Azure AD / Entra · Google Workspace · Auth0 · Keycloak · Active Directory / LDAP
VCSGitHub · GitLab · Bitbucket · Gitea / Forgejo
InfrastructureLinux (SSH) · Kubernetes

Compliance frameworks

  • SOC 2 Type II (Trust Services Criteria)
  • ISO/IEC 27001:2022 (Annex A)
  • HIPAA Security Rule (45 CFR §164.308 / §164.312)

Reporting (tpt report)

  • HTML — self-contained, executive summary + control coverage matrix + findings detail
  • PDF — go-pdf/fpdf, severity grid, tables
  • JSON — machine-readable for compliance platform integrations
  • AI-enhanced remediation advice (Anthropic / OpenAI / Grok / OpenRouter) with static fallback

REST API (tpt serve)

  • GET /api/jobs · GET /api/jobs/{id}/findings · GET /api/jobs/{id}/report
  • PATCH /api/findings/{id}/status — retest tracking

Installation

From source

git clone https://github.com/tpt-security/tpt.git
cd tpt
go build -o tpt ./cmd/tpt
./tpt --help

Requires Go 1.22+. No CGO — builds on all platforms.

Docker

docker compose up -d
# API available at http://localhost:4242

Quick start

# Scan a target and map to SOC 2 + ISO 27001
tpt scan example.com --framework soc2,iso27001 --scope web,network,tls

# Import an existing Nessus export
tpt import scan.nessus --framework soc2 --target "Internal network Q1"

# Audit your AWS account
tpt audit --provider aws --aws-profile prod --framework soc2,hipaa

# Audit a self-hosted Keycloak instance
tpt audit --provider keycloak \
  --keycloak-url http://keycloak.internal:8080 \
  --keycloak-realm master \
  --keycloak-token <admin-token>

# Audit Linux server over SSH
tpt audit --provider linux \
  --linux-host 10.0.0.5:22 \
  --linux-user ubuntu \
  --linux-key ~/.ssh/id_rsa \
  --framework iso27001

# Generate reports (HTML + PDF, with AI enhancement if key is set)
tpt report <job-id> --format html,pdf --output reports/

# Start the REST API server
tpt serve --port 4242

AI-enhanced reports

Set any of the following environment variables to enable AI-generated executive summaries and per-finding remediation advice:

export ANTHROPIC_API_KEY=sk-ant-...   # Claude Haiku (recommended)
export OPENAI_API_KEY=sk-...          # GPT-4o mini
export GROK_API_KEY=...               # Grok 3 mini
export OPENROUTER_API_KEY=...         # Any model via OpenRouter

Use --no-ai to disable even when a key is set. Static remediation templates are always used as a fallback.

Supported scan scopes

Flag valueWhat it activates
networkNaabu port scan + TLS inspector
webNuclei + Dalfox
apiNuclei + Dalfox
tlsTLS inspector only
emailSPF / DKIM / DMARC check

Nuclei templates

Compliance-focused templates ship with the platform in templates/:

TemplateFrameworkWhat it detects
soc2/cc6.1-access-controls.yamlSOC 2Access control misconfigurations
soc2/cc6.3-broken-auth.yamlSOC 2JWT none-alg, insecure session cookies
soc2/cc6.6-cors-misconfig.yamlSOC 2Wildcard / reflective CORS
soc2/cc6.7-crypto-transmission.yamlSOC 2Weak TLS, missing HSTS
soc2/cc7.1-vulnerability-detection.yamlSOC 2Vulnerability scanning indicators
soc2/cc9.2-api-exposure.yamlSOC 2Swagger, GraphQL introspection
iso27001/a.5.17-auth-weakness.yamlISO 27001Default credentials, HTTP Basic
iso27001/a.8.8-technical-vulnerabilities.yamlISO 27001CVE detection
iso27001/a.8.9-configuration-management.yamlISO 27001Misconfiguration detection
iso27001/a.8.20-network-exposure.yamlISO 27001Exposed MongoDB, Redis, Elasticsearch
iso27001/a.8.24-cryptography.yamlISO 27001Crypto weakness
iso27001/a.8.25-ssdlc.yamlISO 27001Debug endpoints, stack traces, .env
iso27001/a.8.29-injection.yamlISO 27001SQLi indicators, SSTI

Point --template-dir at any Nuclei templates directory to use your own.

Adding custom control mappings

Control mappings live in mappings/ as plain YAML files. The filename (minus .yaml) becomes the framework name. Add a new file to support any custom framework:

# mappings/pci-dss.yaml
- category: web
  severity: [critical, high]
  controls:
    - id: "6.4"
      name: Protect web-facing applications against known attacks
      relevance: direct

Then use it with --framework pci-dss.

Architecture

cmd/tpt/           CLI entry point (cobra)
internal/
  scan/            Scanner adapters (Nuclei, Naabu, ZAP, TLS, email, secrets, deps, Dalfox)
  audit/           Internal audit providers
    cloud/         AWS, GCP, Azure, DO, Hetzner, Cloudflare, Vercel, Supabase, Wasabi, Backblaze
    idp/           Okta, Azure AD, Google Workspace, Auth0, Keycloak, LDAP
    vcs/           GitHub, GitLab, Bitbucket, Gitea
    infra/         Linux SSH, Kubernetes
  importer/        File importers (.nessus, Burp XML, OpenVAS XML)
  mapping/         YAML-based control mapping engine
  report/          HTML, JSON, PDF report generators + methodology statement
  remediation/     Static remediation template library
  ai/              LLM client (Anthropic, OpenAI, Grok, OpenRouter)
  api/             REST API server (stdlib net/http)
  web/             Web UI — HTMX + Tailwind + DaisyUI, server-rendered templates
  db/              SQLite storage (GORM, no CGO)
mappings/          soc2.yaml · iso27001.yaml · hipaa.yaml
templates/         Nuclei templates (soc2/ · iso27001/)

Documentation

DocContents
docs/architecture.mdSystem design, component diagram, data flow, extension points
docs/deployment.mdBinary, Docker, Docker Compose, systemd service, nginx, CI/CD
docs/configuration.mdAll CLI flags for every command, API endpoints
docs/frameworks.mdSOC 2, ISO 27001, HIPAA control mapping reference, custom framework YAML format

Contributing

See CONTRIBUTING.md.

License

MIT — see LICENSE.