add initial Go implementation of arcline-audit

Implements the full site health auditor with four check groups:

  - SSL/TLS (certificate validity, expiry, chain, TLS version, ciphers)

  - HTTP (redirect chain, security headers, response time)

  - DNS (A/AAAA, MX, SPF, DKIM, DMARC, DNSSEC)

  - Infrastructure (CDN detection, common port probes)

Includes CLI with --checks filter, --json and --out flags,

cross-compile Makefile, and GitLab CI pipeline.

Signed-off-by: Blake Ridgway <blake@blakeridgway.com>
This commit is contained in:
Blake Ridgway
2026-06-23 05:08:34 -05:00
parent 088bb7e138
commit fce90f458c
13 changed files with 1167 additions and 11 deletions

55
INFRASTRUCTURE.md Normal file
View File

@@ -0,0 +1,55 @@
# arcline-audit — Infrastructure & DevOps
> **Full Site Health Auditor** — one-command SSL, HTTP headers, DNS,
> redirects, and open ports check.
---
## Quick Reference
| Attribute | Value |
|-----------|-------|
| **Type** | CLI tool |
| **Tech** | Go (future) — reuses `arcline-check` internals |
| **Deploy** | Static binary to `/usr/local/bin` |
| **CI/CD** | ❌ Not yet created |
| **State** | ⚪ Planned |
---
## Planned Checks
| Check | Detail |
|-------|--------|
| **SSL/TLS** | Certificate validity, expiry, chain, TLS version, cipher warnings |
| **HTTP** | Redirect chain, security headers (HSTS, CSP, X-Frame-Options), response time |
| **DNS** | A/AAAA, MX, SPF, DKIM, DMARC, DNSSEC, rDNS |
| **Infrastructure** | ASN/org lookup, CDN detection, common ports (80, 443, 22, 3306, 5432) |
---
## Deployment (Future)
```bash
# Install binary
sudo cp arcline-audit-linux-amd64 /usr/local/bin/arcline-audit
sudo chmod 0755 /usr/local/bin/arcline-audit
# Run full audit
arcline-audit example.com
# Quick SSL check only
arcline-audit --checks=ssl example.com
# JSON output for programmatic use
arcline-audit --json example.com > audit-report.json
```
---
## Build (Template)
```bash
CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o arcline-audit .
```