DetCordon

Containment-first malware observation for web threats.

A deliberately isolated detonation sandbox that watches hostile web malware, captures evidence, and stores it encrypted — without ever blocking, without ever allowing C2 back in, and without ever trusting the attacker.

The Problem

Web malware changes faster than signatures can ship. PHP webshells, scanner-driven RCE payloads, and zero-day exploit kits all have one thing in common: by the time you have a detection rule, the sample set has already moved.According to the 2025 Verizon DBIR, web application exploits remain the #1 vector for breaches, with 75% of attackers using commodity tools that mutate daily.

Today's options are either inline blocking (WAFs that must be right every time) or static analysis (sandboxes designed for PE files, not HTTP). Neither works well for server-side web malware that only activates in the context of a specific application stack.

DetCordon takes a third approach: containment-first observation. Let the malware execute in a purpose-built, disposable environment where every syscall, file write, and network connection is recorded. Preserve the samples. Ship them to a separate, hardened sink. Then decide what to block.

The Architecture

Two hosts. One direction of travel. Zero bytes flowing back.

LayerComponentRole
Sandbox VMwafDetection-only ModSecurity tap; forwards traffic upstream, emits UDP JSON events
Sandbox VMwaf-extractorWatches victim tmpfs, ships sample bodies over TCP (write-only)
Sandbox VMeBPF sidecarcgroup-scoped execve, vfs_write, tcp_connect observation
Sink hostwaf-sinkUDP event receiver + TCP sample receiver; age-encrypts; sha256-path storage
Sink hostwaf-sink-guardfanotify + sha256 allowlist; alerts on unknown writes
Operatorwaf-deployratatui TUI + CLI that generates all deployment artifacts
Key design choice: Events travel over UDP (loss is acceptable for telemetry). Samples travel over TCP (integrity matters). These paths are never crossed, never reversed, and never shared. This is not a configurable option — it is a containment invariant.

Ten Containment Rules

These are non-negotiable. Every deployment, every backend (Docker or Firecracker), every mode (analysis or honeypot) enforces all ten:

Target Market

DetCordon addresses three distinct buyer personas with overlapping needs:

PersonaPrimary NeedBuying Signal
Security Research LabCapture novel web malware for analysis, signature development, and threat intel"We need a repeatable way to observe what attackers drop without risking our production network"
Blue Team / SOCValidate WAF rules and detection logic against real attacker payloads in a safe environment"Our WAF blocks 95% of requests but we don't know what we're missing in the 5%"
Managed Security ProviderOffer contained observation as a service for client web applications"We need an appliance that lets us offer malware analysis without building a sandbox team"

The addressable market is the intersection of web security and malware analysis — a niche that today's PE-file-focused sandboxes and signature-based WAFs both underserve.

Business Model

TierIncludesTarget Price
Appliance (self-hosted)DetCordon software + deployment artifacts + 1 year updates$12,000–$25,000 / year
Managed LabHosted sink + quarterly sample analysis reports + analyst access$25,000–$60,000 / year
EnterpriseMulti-tenant sandbox cluster + custom rule integration + SLA$60,000–$150,000 / year
Estimated total value: $0.80M – $2.50M  (medium confidence). This positions DetCordon below incumbent sandbox vendors but above open-source tooling, targeting the "managed appliance" mid-market gap.

Competitive Position

DetCordon's differentiation is narrow and deep: it is the only open-architecture malware observation platform purpose-built for web-server-side payloads rather than user-downloaded PE files.

DimensionDetCordonCuckoo / Capev2VxStream / Joe SandboxModSecurity (standalone)
Target payload typeWeb malware (PHP, ASP, JSP)PE files, documentsPE files, documents, URLsHTTP traffic only
Detection modeDetectionOnly (never blocks)N/A (analysis only)N/A (analysis only)Blocking or DetectionOnly
Evidence retentionAge-encrypted, immutablePlaintext, mutableVendor managedNone
Sink isolationSeparate host, one-way, fanotify-guardedSame hostVendor managedN/A
Deployment modelGeneration TUI → appliancesManual setupSaaS / appliancePackage install
Pricing$12K–$150K / yearFree (OSS)$5K–$50K / yearFree (OSS)

While Cuckoo/CAPE has a larger malware-analysis community, neither supports server-side web payloads natively. A PHP webshell in Cuckoo runs under Windows detonation — the wrong environment entirely.

DetCordon's moat is not in detection logic (ModSecurity + OWASP CRS are standard) but in the containment topology: two-host, one-way, age-encrypted, fanotify-guarded. No other open product combines all five properties.

Backends

Two sandbox backends, one operator workflow:

BackendIsolation LevelBest ForStatus
DockerAppArmor + seccomp + tmpfs + internal netQuick analysis, CI/CD integration, laptop demos✅ Production-ready
FirecrackerMicro-VM + jailer + nftables + snapshot/resetHigh-confidence isolation, repeatable analysis, hardware-level containment✅ Complete

The Firecracker backend supports three boot modes: cold-boot (fresh kernel + rootfs each time), rootfs-reset (recreate writable layer from a clean snapshot), and native-snapshot (restore memory + disk from a known state for sub-second boot). Boot policy is configurable through the TUI or CLI.

Roadmap

MilestoneStatus
Docker backend (compose + AppArmor + bpftrace)✅ Complete
waf-extractor sample shipper✅ Complete
waf-sink-guard (fanotify + allowlist)✅ Complete
waf-deploy ratatui TUI✅ Complete
Firecracker backend (VM lifecycle + snapshot/reset)✅ Complete
Honeypot mode (brokered public ingress)⬜ Not started
aya eBPF (Rust-native bpftrace replacement)⬜ Planned
gVisor runtime option⬜ Planned
Next: Honeypot mode. A brokered ingress path with rate limiting, guest rotation, and noise separation. This is the highest-leverage feature for converting the analysis-capable product into a continuous threat-intel pipeline.

Build & Deploy

# Build all crates
cargo build --release --workspace

# Run tests
cargo test --workspace

# Generate deployment artifacts (TUI)
cargo run -p waf-deploy

# Headless generation (Firecracker, dry-run)
cargo run -p waf-deploy -- \
  --backend firecracker \
  --mode analysis \
  --dry-run

# Run the sink with age encryption
cargo run -p waf-sink -- \
  --udp 0.0.0.0:5514 \
  --tcp 0.0.0.0:5515 \
  --out /var/lib/waf-sink \
  --recipient age1...

Prerequisites: Rust edition 2021, libmodsecurity3, pkg-config.

Why Not a Kernel Module?

Every capability the sandbox needs is already in-kernel behind safer interfaces. An out-of-tree kernel module would add ring-0 attack surface — the opposite of what a containment project should do.

CapabilityMechanism
Observe syscallseBPF tracepoints / fentry
Observe file writeseBPF vfs_write / fanotify
Observe executed processeseBPF sched_process_exec
Block specific syscallsBPF LSM (kernel ≥5.7) or seccomp
Capability strippingcap_drop: [ALL] + seccomp default-deny
Network containmentnetns + nftables default-drop

Further Reading