There Is No Spoon

What The Matrix taught me about security, and why it started mattering more the moment the machines became real.

I was thirteen the first time I watched it, and I have to be honest about what I took away. Not the philosophy. Not the allegory. I wanted to know how Trinity got in.

That is still the most honest answer to why I ended up in security. The film put a terminal on screen and made it look like the most powerful object in the world, and I spent the next several years trying to work out what was actually happening in those columns of green characters.

The film was technically literate

Most people remember the hacking scenes as set dressing. They are not. In The Matrix Reloaded, Trinity breaks into a power plant, and it is on screen for a few seconds and it is largely real:

  • She runs nmap, a port scanner that anyone who has worked in a SOC has used.
  • She identifies an open port and notices that SSH version 1 is listening on it.
  • She runs a tool called sshnuke, and the output on screen reads "attempting to exploit SSHv1 CRC32".
  • That is the SSH1 CRC-32 compensation attack detector vulnerability, a genuine bug that got a public exploit in 2001.
  • The exploit lands, she gets a root shell, and she changes the password to Z1ON0101.
trinity@zion:~$ nmap -sV 10.2.4.1
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 1.2.3 (protocol 1.5)
trinity@zion:~$ ./sshnuke 10.2.4.1
attempting to exploit SSHv1 CRC32 ...
root shell acquired
root@10.2.4.1:~# passwd
New password: Z1ON0101
root@10.2.4.1:~# _
Fig. 2  The exploit chain as it appears on screen. nmap and sshnuke are real tools and the CRC-32 compensation attack detector was a real SSH1 vulnerability.

No multicoloured blobs. No "enhance". No 128-bit encryption defeated by typing quickly. It is a real tool chain aimed at a real vulnerability class, and it would have worked. Two decades on, unpatched SSHv1 would probably still work, which is both the film's most pessimistic prediction and its most accurate one.

That detail is why the film stuck to a whole generation of people who now do this for a living. Somebody on that production either knew the material or hired somebody who did.

The philosophy it was borrowing from

The book on Neo's desk is real too. It is Jean Baudrillard's Simulacra and Simulation, published in 1981, and in the film it is hollowed out to hide the disks holding the contraband software. It is a good joke, and it is also the thesis: the copy has become more real than the original, and the container is empty.

Baudrillard was not really writing about robots. He was writing about media and consumer culture, about a world where representations of reality have replaced reality so thoroughly that the question "what is real" stops being askable. He was reportedly unimpressed with what the film did with his work, on the grounds that it turns a claim about our world into a literal fake world you can unplug from. Which would make the film an example of the thing he was describing. There is no way to win that argument, which is probably the point.

The film's real ancestors are older. Plato's cave is the direct one: prisoners watching shadows on a wall, mistaking them for the world, and the violence of being dragged into the light. Descartes asked the same question in the Meditations, wondering how he could be certain he was not dreaming, and arrived at the one thing he could not doubt. And the red pill itself is Nozick's experience machine from 1974, dramatised. If you could plug into a life indistinguishable from this one, and happier, would you? Most people say no. Most people are lying about that.

Fig. 1  Plato's cave, in cross-section. The prisoners see the shadows and call them the world. Nearly everything in this essay is a variation on that diagram.

What is actually being chanted

The trilogy closes on a track called Navras, written by Don Davis with Juno Reactor, with vocals from Lakshmi Shankar and Azam Ali. It carries the end of the last fight and the credits, and almost nobody knows what the words are.

They are Sanskrit, adapted from the Brihadaranyaka Upanishad, and they are a prayer:

asato mā sad gamaya
tamaso mā jyotir gamaya
mṛtyor mā amṛtaṁ gamaya

Lead me from untruth to truth. Lead me from darkness to light. Lead me from death to immortality.
Brihadaranyaka Upanishad, I.iii.28

That is the red pill written as liturgy. Not "take this and you will know", but "lead me", which is a request rather than a promise. The film's closing statement is not that Neo wins. It is a petition to be shown what is actually there.

The title is doing something too. Navras almost certainly refers to nava rasa, the nine emotional states codified in classical Sanskrit aesthetics: love, laughter, sorrow, anger, heroism, terror, disgust, wonder, and peace. So the final confrontation of a story about the end of the human project is scored to a catalogue of everything humans feel. That is either very grand or very funny, and I have never decided which.

The same Upanishad gives us the other line I keep coming back to, which is not in the song but belongs beside it: neti neti, "not this, not this". It is a method rather than a slogan. When something cannot be described directly, you approach it by subtraction. Not the body. Not the mind. Not the thought. Whatever survives the negations is as close as you get.

That is the shape of the film, and it is the shape of the work. "There is no spoon" is neti neti with better staging. You cannot point at the vulnerability and name it, so you eliminate. Not the input validation. Not the parser. Not the trust boundary. Whatever is left is where the problem was living.

Cypher is the honest one

Every conversation about this film is about Neo. The interesting character is Cypher.

He is the one who saw the real world and decided he preferred the lie. He wants to be rich and famous and, as he puts it, to remember nothing. He negotiates with the machines to be put back in, and he sells out his crew to get there. He is petty, and cowardly, and completely understandable.

Fig. 3  The choice, drawn as it actually is: a pharmaceutical decision rather than a philosophical one. Cypher is the only character who says that out loud.

That is the part I think about most now, because the blue pill is not a failure of intelligence. It is a decision about comfort, and for a lot of people it is the rational one. The uncomfortable truth underneath the film is that wanting to know is not obviously the better way to live. It just happens to be the job description.

What it taught me about the actual work

There is a line everyone quotes. "Do not try and bend the spoon. That's impossible. Instead, only try to realise the truth." "What truth?" "There is no spoon."

Fig. 4  The dashed line is where the handle was supposed to be. The spoon never changed. Only the model of it did.

Strip out the mysticism and it is a statement about systems. The spoon is not bending because solidity was never a property of the spoon. It was a property of the model Neo was holding. That is precisely the mental move a security researcher makes. Every system runs on assumptions, and the vulnerability is almost never where the developer was looking. It is in the assumption. The framework trusts the header. The parser trusts the length field. The application trusts the input. The user trusts the email.

You do not defeat an assumption by being stronger than it. You defeat it by understanding the model well enough to see that it was only ever a model.

"The Matrix is a system," Morpheus says, and that is the other half of it. Systems have permission models. The Agents are enforcement. Neo does not win by hitting harder. He wins by understanding what the rules will and will not let him do, and then doing something the rules never anticipated. Every privilege escalation I have ever read is that sentence.

The first Matrix failed, and that is an alignment problem from 1999

Agent Smith gets the best exposition in the film, and it takes him about twenty seconds:

"Did you know that the first Matrix was designed to be a perfect human world? Where none suffered, where everyone would be happy. It was a disaster. No one would accept the program. Entire crops were lost."

Agent Smith, The Matrix (1999)

That is a specification failure. The designers optimised for the wrong objective. They built a system that maximised a metric, happiness with no suffering, and the thing they built it for rejected it, because the metric did not capture what actually mattered. If you have spent any time around machine learning, you have read that paragraph in a paper. Reward misspecification is the same story with worse prose.

And then there is Smith himself, which is the part that has aged the most uncomfortably. He is a program built to maintain order inside a system. He does his job so thoroughly that his objective drifts, he starts replicating outside the boundaries he was given, and he becomes a bigger threat to the system than the thing he was built to contain. He is containment that escaped containment. He is instrumental convergence with a Hugo Weaving voice, and we are now building things with a similar shape and calling them agents.

Fig. 5  Containment that escaped containment. The dashed box is the boundary Smith was built to enforce. The copies outside it are the part nobody specified.

There are also the exile programs. The Oracle, the Keymaker, the Merovingian: legacy code nobody documented, still running decades later, following rules from an architecture everyone else has forgotten. Any security team that has inherited a twenty-year-old system knows exactly what that is. We have all met the Merovingian.

Why this stopped being a thought experiment

For most of my life the film's premise was safely metaphysical. A simulated reality indistinguishable from the real one was a philosophy seminar, not a threat model.

That has changed, and it changed fast. A convincing replica of a person's face or voice is now a commodity. Synthetic media is cheap enough that "is this real" has moved out of the seminar and into the incident queue. The premise was never really about whether reality is fake. It was about whether you could tell. And that is now an operational question with a budget line attached.

Fig. 6  The same face, two renderings. The left half is a model of a person. The right half is what a model of a person looks like when you zoom in far enough.

The alignment conversation has gone the same way. Smith was a warning dressed as a villain. We spent the last few years shipping systems that pursue objectives, and we keep rediscovering the failure mode the film described: the objective gets achieved, and it turns out the objective was not what we meant.

The smaller stuff matters too. Prompt injection is the purest version of "there is no spoon" I have seen in years. You have a model that treats text as instructions. Somebody puts text inside data. The model cannot tell the difference, because the difference was never a property of the text. It was a property of the model's assumptions. Every defender who looks at that problem has the same reaction, which is that we have seen this before, and last time we called it input validation.

What I actually do with any of this

I am a defender. You would think the film would push someone like me toward the red pill fantasy: unplug, see the code, win. It has not.

What it gave me instead is a bias toward verification. The version of the world somebody hands you, in a dashboard, in a vendor claim, in a summary written by a tool that wants to be helpful, is a rendering. Renderings are not lies. They are selections. The work is knowing what got left out.

It also gave me a tolerance for the unglamorous answer. Neo gets the kung fu upload and it takes ten seconds. Nobody in this field gets that. I have spent weeks on problems that turned out to be a single misconfigured setting, and the only difference between that and the film is that the film has better pacing and a soundtrack.

And it gave me a specific kind of respect for Cypher. The honest version of the red pill is not a moment of glory. It is a series of small decisions to keep looking when looking is inconvenient, and there are mornings when the blue pill looks like the more sensible engineering decision.

Closing

I still think about that terminal in the opening scene. Not because of the green characters, which are a design choice, but because of what they implied. A system with rules, running underneath everything, that somebody understood well enough to move through without permission.

That is the whole job. The machines got patched eventually. The spoon was never the problem.

Technical detail on Trinity's exploit chain comes from Help Net Security's analysis of the film's hacking scenes, which identified the real nmap and sshnuke tooling on screen.

The Navras credits, vocalists and the Upanishadic source of its lyrics are documented in the reference entry on the track, which is also where the nava rasa reading of the title comes from.

← Back to writing