AI is not just another tool in the cybersecurity stack. It is becoming part of the system being defended, part of the system doing the defending, and increasingly part of the system being attacked. This piece separates cybersecurity with AI, models that detect threats, triage alerts, and accelerate response, from cybersecurity of AI, where the model itself, its data, prompts, outputs, permissions, and training pipeline become the attack surface. It walks through adversarial manipulation, poisoned training data, inference and privacy leaks, and the model as a weapon, then argues for governance without theatre: discipline across the whole chain rather than one framework or control. As models move from tool to participant, the old security boundary does not disappear, part of it moves inside the model.
Writing
Essays, papers, notes, and references.
A place for longer pieces, formal work, and useful written records.
AI is not just another tool in the cybersecurity stack. It is becoming part of the system being defended, part of the system doing the defending, and increasingly part of the system being attacked. This piece separates cybersecurity with AI, models that detect threats, triage alerts, and accelerate response, from cybersecurity of AI, where the model itself, its data, prompts, outputs, permissions, and training pipeline become the attack surface. It walks through adversarial manipulation, poisoned training data, inference and privacy leaks, and the model as a weapon, then argues for governance without theatre: discipline across the whole chain rather than one framework or control. As models move from tool to participant, the old security boundary does not disappear, part of it moves inside the model.
A prompt starts appearing on your Mac, and it looks like pure convenience: Touch ID, a saved login, one less password. But the prompt is only the surface. Underneath it is a public/private-key signing ceremony, and the useful way to read a passkey is not as a prettier password box but as a per-site signing credential. A password is a shared secret you hand over and the server checks; a passkey is a signature the device produces and the server can only verify. That one change, from presenting a secret to proving control of a private key, is what defeats phishing, replay, and database theft, and it is why a stolen server database yields no logins at all. This is a close reading of the whole ceremony, registration through verification, built from a Python lab that traces every byte: what gets signed, what each side stores, and exactly which check catches each attack.
A one-time pad is unbreakable, provided it is true, and that second half, the quiet condition, is where the whole claim lives. A true pad is a very specific object: genuinely random, at least as long as the message, used once, kept secret, never copied, logged, inferred, generated from a seed, or reused by accident. The word “true” is doing all the work. This piece pulls that condition into the light, showing how a guarantee that is flawless in theory turns fragile the moment it meets real machines and real people. The proof is easy; the discipline is not. And the lesson generalises far beyond cryptography: a word carries a claim only when the thing it names actually satisfies the conditions that make the claim hold. Until then it is language with ambitions.
Building Automation Systems are the silent brains of modern buildings: HVAC, lighting, access control, lifts, energy management. Designed for reliability, they were quietly connected to the internet and the wider IoT estate, and every new connection widened the attack surface. This piece walks through how BAS became a soft target: open protocols that trust by default, real incidents that exploited overlooked vulnerabilities, and the uncomfortable truth that a comfort system can become a way into the corporate network. It covers why these systems are so exposed, long lifecycles, weak segmentation, vendors optimising for uptime over hardening, and what defence actually requires: visibility, segmentation, and treating the physical integrity of a building as a security concern, not just its data. The threat is invisible because the systems are.
TLS and centralised Public Key Infrastructure were built for the web, humans connecting to servers, not for fleets of machines talking continuously with no human in the loop. As Industrial IoT scales to millions of devices, traditional PKI strains: certificate authorities become single points of failure, revocation is slow, and one compromised node can threaten the whole system. This piece makes the case for Brontide, the Lightning Network's encrypted handshake, as a better fit for machine-to-machine communication: decentralised trust, channel graphs standing in for certificate authorities, and identity backed by economic stake rather than a single signing party. It walks through the limits of conventional PKI at industrial scale, how Brontide and Instant Karma PKI reframe the problem, and why borrowing trust from a payments network might be what securing industrial machines needs.
“IoT” hides a fault line. Consumer IoT, smart homes, wearables, connected cars, optimises for convenience. Industrial IoT optimises for efficiency, safety, and uptime, running factories, energy grids, and healthcare where a failure is not an inconvenience but a danger to life. They share the name and almost nothing else: devices, networks, security models, scalability, and regulatory weight all diverge sharply. This piece draws the line clearly, comparing the two across purpose, hardware, security risk, data complexity, networking, and cost, and argues that conflating them leads to bad decisions in both directions: consumer-grade thinking applied to industrial systems that can hurt people, and industrial caution wasted on a doorbell. Whether you are smartening a home or securing a plant, the first move is knowing which world you are in.
An ant colony solves a transport problem without any individual understanding the whole terrain. Studying natural and artificial intelligence made me wonder what that could teach us about network routing. From OSPF’s map of the network to AntNet’s learning through journeys, I follow the idea of intelligence emerging from local interactions, and explore what it would take to make that intelligence useful, stable and trustworthy in a decentralised web.