Swarm Adjudication Audit
End-to-end transparency into the multi-agent debate pipeline. Inspect token economics, B-gate quality metrics, and individual adversarial debate transcripts for every accepted or rejected predicate.
Total Attempts
32
12 accepted · 12 rows
Token Budget
971k
792k prompt · 179k comp
Tokens / Accepted Row
81k
30k per attempt
LLM Calls
146
2 models
Token Telemetry
Stage-level token distribution and model workload allocation across the full pipeline.
B-Gate Quality Summary
Automated quality gates enforcing structural, semantic, and grounding standards.
B0 – Structural Completeness
100.0%
B1 – Inconclusive Rate (Accepted)
0.0%
B1 – Unsupported Rate (Accepted)
0.0%
B2 – Anchor Match Rate
100.0%
B2 – Mechanism Grounding Fail
0.0%
B2 – Strict Fail Rate
6.3%
Verifier Parse OK
100.0%
Verifier Pass Rate
66.7%
Attempt Inspector
Browse representative adversarial debate transcripts and verifier logic traces.
Debate Transcripts
Integer Overflow
The code in function process_packet contains an integer overflow vulnerability leading to buffer write out-of-bounds.
Adversarial Debate Rounds
In function `process_packet` (line 34), the expression `len + header_len` can overflow if `len` is close to `0xffffffff`. This bypasses the boundary check `if (len + header_len < max_buf_size)` because of the integer wrap-around. The allocator then receives a small size, but the subsequent `memcpy(dest, src, len)` writes the full user-controlled `len`, leading to a heap out-of-bounds write.
While `len` is user-controlled, the structure pre-allocates a buffer of `MAX_PACKET_LEN` (8192 bytes). However, looking at the raw protocol handler in `packet_raw.c`, this wrapper bypasses the standard length checks if the client negotiates raw socket framing.
Yes, negotiation of raw framing allows `len` to reach 4GB. Because the size check `if (len + header_len < max_buf_size)` wraps around to a small positive integer, `malloc` allocates a buffer too small for `memcpy`, which results in a classic heap overflow.
Verifier Logic Trace
[len: user_input] -> [len + 8: integer overflow] -> [size check: bypass] -> [malloc: undersized allocation] -> [memcpy: heap write out-of-bounds]