Skip to content

ICS/SCADA Case Study

This is the full story of building a production ICS/SCADA course from nothing — 14 new plugins, a multi-machine scenario, a complete curriculum, and automated testing, all driven through Claude Code with the Rogue Arena MCP.

It was the most complex build done on the platform to date. This walkthrough documents how each phase worked, what the non-obvious decisions were, and what you’d do differently knowing what we know now.

The ICS-Pinebrook course canvas in Rogue Architect showing four interconnected VLANs — OT.LOCAL with engineering workstations and HMIs, PINEBROOK.LOCAL as the corporate IT domain, DMZ.LOCAL with Security Onion and a jump server, and PLC.LOCAL with two emulated PLCs The finished ICS-Pinebrook course canvas — four network segments wired together: the OT floor, the corporate IT domain, a DMZ with Security Onion, and an isolated PLC network.

Before anything else, the most important architectural decision of this build:

The plugin-testing canvas and the course canvas are completely separate.

One canvas exists purely to validate that every plugin works — exhaustively testing every plugin and parameter combination before they ever touch a student environment. The course canvas is built separately, after the plugins are proven. This distinction matters because debugging plugins inside a live course scenario is painful; debugging them in an isolated test environment is manageable.

Keep these two contexts separate in your head as you read through the phases.