Portcullis (opens GitHub in a new tab)
An AI agent that investigates cyberattacks and proposes firewall rules for human approval.
What happens when a website is under attack, but blocking the attacker might also block real customers?
Portcullis helps investigate the attack and propose a solution. An operator describes what's going wrong, and an AI agent examines the available evidence, identifies a likely cause, and drafts a firewall rule to address it. Before recommending the rule, Portcullis tests it against recorded network traffic to estimate how much malicious traffic it would stop and how many legitimate users it might affect. It also compares its proposal with a simpler, baseline rule so the operator can evaluate the trade-offs.
Built on Cloudflare Workers, this project uses Durable Objects to maintain incident state and Cloudflare Workflows to coordinate the investigation, including retries and pauses while awaiting approval. It uses Llama 3.3 70B through Workers AI to reason about incidents and propose rules, while deterministic code handles validation and traffic analysis.
I evaluated Portcullis using a simulated traffic environment with eight scenarios, including five deliberately designed to expose a weakness in naive firewall rules: blocking the attack can also block legitimate users. The initial real-model evaluation is limited to two runs, so the results are preliminary.