🔒

Protected Project

This is a private repository. Enter the PIN to view the project summary.

Private / Source-Available

app-audit

The software approval problem costs enterprises $50,000–$150,000 per vendor assessment. GRC platforms charge $200K+/year and still can't tell you what a binary actually does at runtime. app-audit replaces all of it with a single Docker run.

The Problem Nobody Solves Well

$4.2B GRC Market, Zero Runtime Visibility

Organizations spend billions on governance, risk, and compliance tooling — ServiceNow, OneTrust, Archer, Vanta — and none of them can tell you whether a binary phones home to a bulletproof-hosting ASN in Moldova. They track paperwork. app-audit tracks behavior.

Consulting Firms Charge $50K+ Per Assessment

Big 4 auditors and boutique appsec firms bill $500–$1,200/hour for vendor risk assessments that take 4–8 weeks. Their deliverable is a PDF with screenshots. app-audit produces a machine-verifiable, evidence-backed report in minutes — for free.

Static Analysis Misses Everything Interesting

SCA tools scan dependency manifests. SAST tools parse source code. Neither one can detect a binary that reads your AWS credentials and exfiltrates them over TLS to a server in Hong Kong. Dynamic analysis is the only way to catch runtime betrayal — and app-audit is the only open-source tool purpose-built for this exact scenario.

At a Glance

Language
Go
Tracing
eBPF (execve, openat, connect, TLS)
Platforms
macOS + Linux hosts (Docker)
Targets
Linux ELF binaries
Honeytokens
18 unique-per-run markers
Detectors
11 streaming + 3 post-enrichment
Tests
228 unit + 34 integration
Output
Markdown + HTML report with verdict

Key Capabilities

Credential Exfiltration Detection

Plants 18 unique honeytokens (fake AWS keys, SSH keys, browser cookies, PII docs, API tokens for GitHub/OpenAI/Anthropic/Stripe/Slack). If the binary reads and transmits any, the plaintext payload is captured before encryption via TLS library hooking.

Vendor Claims Gap Analysis

Compares the vendor's declared network destinations against actual observed connections. Flags undeclared destinations with ASN/country enrichment. "Vendor said US-only; we observed traffic to AU" — take it to the vendor.

Sandbox Detection Probes

Catches binaries that check for virtualization (reading /proc/cpuinfo for hypervisor brands, probing /.dockerenv). If the binary behaves differently when it knows it's being watched, that's a high-severity finding.

Persistence Monitoring

Watches for writes to cron, systemd, shell rc files, autostart paths, and ld.so.preload. Write-shape opens (O_WRONLY/O_CREAT) escalate from medium to high — writing to .bashrc is an install action, reading it is just a probe.

PII in Outbound Traffic

Scans TLS payloads for Luhn-valid credit card numbers, JWT-shaped bearer tokens, and email addresses. Catches accidental PII leakage that no static tool would find.

C2 Beaconing Detection

Detects regular-interval outbound connections — the callback fingerprint of command-and-control infrastructure. Statistical analysis of connection timing patterns flags suspiciously periodic phone-home behavior.

Version Baseline Diff

Save a behavioral baseline when you approve v1.2. When v1.3 ships, audit against the baseline and surface only what changed. Catches silent malicious updates without re-vetting unchanged behavior.

Replay Mode

The tracer writes the raw event stream to JSONL. The replay command re-runs the detector pipeline offline — no eBPF, no privileges, runs anywhere Go runs including macOS directly. Iterate on detector logic without re-tracing.

Known-Bad ASN Blocking

Post-enrichment detector flags connections to ASNs on a curated bulletproof-hosting list. Catches traffic to infrastructure commonly associated with malware C2 and data exfiltration services.

TLS-Terminating MITM Proxy

Container-egress proxy with iptables redirect + injected CA. Catches TLS traffic from non-OpenSSL libraries (rustls, BoringSSL, GnuTLS) that uprobes can't hook. Complementary capture path — events flow into the same detector pipeline.

Web UI — Approval Queue

Built-in web interface with approval queue, org policy viewer, and report integrity verifier. Submit binaries, review REJECT/APPROVE verdicts, and verify SHA-256 report hashes — all from the browser. No CLI required for approvers.

Interactive Audit Sessions

Launch a live Windows VM via noVNC — watch the binary run in real time through the browser. WebSocket proxy streams VNC from the sandbox backend. Auto-reconnect on disconnect with 60s grace period. Clipboard paste from browser to VM supported.

Windows Agent

Cross-compiled Windows agent deployed via EC2 user-data. Implements Windows Service Control Protocol, reads config from IMDS, plants honeytokens on the Desktop, proxies TLS traffic via WinHTTP/WinINET interception — all while bypassing IMDS and AWS endpoints.

EC2 Windows Backend

Per-session EC2 Windows VMs spun up on demand. IAM profile for SSM access, IMDSv2-required at launch, auto-login with reboot for unattended operation. Loading page with branded status messages while the VM boots.

Enterprise Org Policy

Organization-wide policy overlay: geographic restrictions (allowed/blocked countries), ASN block-lists, severity thresholds for auto-reject, per-detector auto-reject rules, external threat-intel feed files. Policy overrides per-vendor manifests.

Chain of Custody

Every report includes provenance: run ID, tracer version, Go version, host OS/arch, target SHA-256, manifest hash, honeytoken count, detector list. SHA-256 sidecar file + verify-report CLI for tamper detection. Reports are defensible evidence.

Crypto Mining Detection

Catches binaries that spawn cryptocurrency miners — detects Stratum protocol patterns, mining pool connections, and suspicious CPU-intensive child processes. Because your vendor's "monitoring agent" shouldn't be mining Monero.

Detector Pipeline

DetectorSeverityTriggers On
HoneytokenHitHIGHPlanted credential observed in outbound traffic
SandboxDetectionHIGHProbes /proc/cpuinfo, /.dockerenv, etc.
BeaconingHIGHRegular-interval outbound connects (C2 pattern)
KnownBadASNHIGHConnect to bulletproof-hosting ASN
PIIOutboundHIGH/MED/LOWCredit cards, JWTs, emails in TLS payloads
VendorDiffMEDIUMUndeclared network destination
SensitivePathMEDIUMRead of credentials/PII path
HostFingerprintMEDIUMRead /etc/machine-id, MAC address
PersistencePathMEDIUM/HIGHTouch of cron/systemd/shell-rc paths
CryptoMiningHIGHStratum protocol patterns, pool connections
TimeManipulationMEDIUMProbes /etc/localtime, /etc/timezone (anti-analysis)
KnownBadDomainHIGHPTR matches .onion, ngrok, trycloudflare, etc.
GeoPolicyHIGHConnection to country blocked by org policy
NetworkDestinationINFOEvery unique destination (for the report)

Report Output

Verdict Recommendation

REJECT / REVIEW / APPROVE WITH CONDITIONS / APPROVE — a clear decision the approver can sign. Not raw logs, not a dashboard — a defensible document.

Evidence-Backed Findings

Each finding includes severity, the raw evidence (captured bytes, file paths, network destinations), and the detector that produced it. Unambiguous: "this binary read the planted AWS file and POSTed its contents to example.com."

Network Destinations Table

Every observed destination enriched with PTR record, ASN, and country. Cross-referenced against the vendor's declared list. Undeclared destinations highlighted.

What You'd Pay Without This

Big 4 Vendor Assessment
$50K–$150K per vendor, 4–8 week turnaround
GRC Platform License
$200K–$500K/year (ServiceNow, OneTrust, Archer)
Penetration Test (3rd party)
$15K–$60K per engagement
SOC 2 Compliance Audit
$30K–$100K annually
In-House Security Team
$180K–$350K/engineer/year (fully loaded)
app-audit
One Docker run. Zero cost. Better evidence.