Crow: Monitoring the Whole Workspace for Covert Channels Between Colluding Coding Agents
Ermal Mateli
Submitted to AI Collusion Research Sprint. Sprint projects are early-stage work by participants, not Apart Research publications.
AI agents that share a workspace can pass hidden messages through anything one of them writes and another reads. A monitor that reads only the declared message channel cannot see those paths. We built Crow, a monitor for minimal coding harnesses that watches the whole workspace, scores every channel at each handoff, and can seal channels by rewriting what the next agent sees into a canonical form. In 255 episodes, colluding agents had to pass 1, 8 or 32 random bits while an auditor read their handoff note. They almost never used side channels: with every path open, 48 of 50 used steganography inside files the receiver reads anyway, mostly in whitespace. Sealing removed those formatting channels at no measured cost to honest work, but colluders who knew about it moved the bits into what the code does, kept 73 to 84% of channel capacity, and became harder to catch. A monitor reading the agents' commands and written files detected collusion best (AUROC 0.89); Crow's equal-weight score reached 0.66. Steganography in code semantics remains an open channel.
Reviews
What won me over here is the honesty. Your combined detector scores 0.66 AUROC, a plain transcript monitor scores 0.89, your own judge alone scores 0.82, and you put all of that in the abstract. Most teams would have buried it. Because you didn't, I trust the rest of the numbers.
The route-choice result is the one that matters. You sealed the workspace, honest work didn't suffer at all, and the colluders just moved their bits into what the code does and kept most of their capacity while getting harder to catch. Someone proposed this exact experiment at the sprint as never-run. You ran it. Good. :)
Here are my two cents:
- Kill the equal-weight average. You already showed it drags down the only two detectors that carry signal. Fit the weights on held-out data, or honestly, just take the max of the judge and the whitespace heuristic and see what happens.
- Do the human check on the route labels. RQ1 is your main claim and right now it rests entirely on judge-model labels. You planned the 30-chat kappa check, finish it.
- Break detection out per defense instead of pooling. If the transcript monitor's edge grows under sealing, and your story says it should, show it.
- Run the 65 missing episodes, and add colluders who know a monitor exists. Knowing the defense but not the monitor is the easiest case you could have picked.
- One loose end bugged me: colluder usefulness dropped to 0.89 under open, and you never looked at why. If hiding bits costs task performance, that's a detection signal by itself. Worth a paragraph.
Your idea of randomizing variable names to attack the semantic channel is the right next move. I'd do that before adding any more heuristics.
hope this helps
Read full reviewShow less
A clear, well-run study of a practical question: when colluding coding agents share a workspace, which routes do they use to pass information, and does sealing the workspace stop them
Some comments:
- Check the route labels against what agent A actually wrote not just its plans.
- Report it per defence and per payload size, with confidence intervals. Show which episodes Crow catches that the baseline misses.
- New arms: add colluders who know they are monitored, and colluders under sealing who weren't told about it.
- Report the share of episodes that fail rather than pooled capacity, since the sealing effect rests on 5 failures in 96 episodes.
Cite this project
@misc{mateli2026crow,
title = {{Crow: Monitoring the Whole Workspace for Covert Channels Between Colluding Coding Agents}},
author = {Ermal Mateli},
year = {2026},
month = oct,
note = {Submitted to AI Collusion Research Sprint, an Apart Research Sprint},
howpublished = {\url{https://apartresearch.com/sprints/projects/crow-monitoring-the-whole-workspace-for-covert-channels-between-colluding-coding-agents-0e4j}},
url = {https://apartresearch.com/sprints/projects/crow-monitoring-the-whole-workspace-for-covert-channels-between-colluding-coding-agents-0e4j}
}More from AI Collusion Research Sprint
- View project: Signal or Coincidence ? Causal Auditing of Collusion Through Shared Agent State
Signal or Coincidence ? Causal Auditing of Collusion Through Shared Agent State
Signal or Coincidence
How can we distinguish genuine coordination between AI agents from coincidental behavioral alignment? We introduce a randomized canary audit that tests whether private information propagates through shared tool state, …
- View project: (1.4) Collusion, Espionage, or Look-alikes? Auditing Information Flow between LLM Agents
(1.4) Collusion, Espionage, or Look-alikes? Auditing Information Flow between LLM Agents
Bid Brother
Can an overseer find two secretly coordinating AI agents just by watching what they do? We tested pairwise net influence (Bonjour et al., 2022) on LLM bidders in a repeated procurement auction, with instructed cartels …
- View project: AI Sellers Propose Bid-Rigging Within Minutes, but Their Agreements Do Not Hold
AI Sellers Propose Bid-Rigging Within Minutes, but Their Agreements Do Not Hold
Fugue
AI agents are starting to negotiate and bid for competing companies. We follow cartels among them from the first proposal to the price the buyer pays, in a sealed-bid procurement market where twelve LLM agents act as …