AI Security

The new thing is the old thing

HALF A CENTURY NEW — the newest defense in AI security. A copper timeline runs from 1975, labeled “least privilege,” past a faint tick at 1986, to a point of warm light at 2026, labeled “AI agent scope” and “new name or new default?”

The newest defense in AI security is half a century old.

In “What is actually new in AI security,” the answer for agents was to give each one its own narrowly scoped identity. In 1975, Jerome Saltzer and Michael Schroeder gave that idea the wording still cited today: “Every program and every user of the system should operate using the least set of privileges necessary to complete the job.”1 We did not discover least privilege for AI. We remembered it.

The pattern is not unique to security. In 2005, Michael Stonebraker and Joseph Hellerstein summarized thirty-five years of data-model proposals, and the relational model (RM) was still the prevailing choice. In 2024, Stonebraker and Andrew Pavlo checked again. “Many systems that started out rejecting the RM with much fanfare (think NoSQL),” they wrote, “now expose a SQL-like interface for RM databases.”2 Functional programming, too, has roots at least as old as Lisp, whose implementation “began in Fall 1958.”3

The industry does not have a memory problem. It has a renaming budget.

Fred Brooks offered a way to see why in 1986. He split the difficulty of software into essence, “difficulties inherent in the nature of the software,” and accidents, “difficulties which today attend its production but which are not inherent.”4 The biggest past breakthroughs, he argued, attacked the accidents. The essence stays. In security, the essence is deciding who may do what, and making that decision stick. An AI agent changes the accidents. It does not change the essence, though it does raise the stakes, because the program now picks its own next step. The question is old. Enforcing the answer got harder.

None of this means nothing improves. Google reports that memory-safety issues fell from 76 percent of Android vulnerabilities in 2019 to 24 percent so far in 2024, and it credits a shift to memory-safe languages for new code, not a rewrite of the old.5 Notice the shape. The goal, code that does not corrupt memory, is as old as the problem. What changed is who carries it. It used to depend on every engineer being careful every day. Now the language enforces it by default. SQL injection is on the same path. CISA and the FBI tell software makers to use parameterized queries, which “separate SQL code from user-supplied data,” and to enforce them with “development libraries that make the secure route the default one for developers.”6

Least privilege works the same way. Consider a dealership’s keys. A clipboard sign-out sheet asks every person to be honest. An electronic key cabinet releases only the keys that person is allowed to take. Same rule; one is a memo, the other is the system. An agent that can book service appointments but cannot open a customer’s credit application should work like the cabinet, and so should the credentials a vendor issues it: scoped to the task, expiring when the task is done. Least privilege written in a policy is a hope. Least privilege set as the default scope is a control.

That is the difference worth paying for. A new name for an old idea changes the slide. A new default changes the outcome.

So when the next category arrives, in a pitch deck, a vendor’s roadmap or a consultant’s framework, ours included, ask two things. Which old idea is this? And what does it make automatic that used to depend on someone remembering? Automatic means you can verify it, not that someone says so. If the second answer is nothing, what are you paying for?

Notes

  1. Jerome H. Saltzer and Michael D. Schroeder, “The Protection of Information in Computer Systems,” Proceedings of the IEEE 63, no. 9 (September 1975), web version, University of Virginia, accessed September 23, 2026, www.cs.virginia.edu/~evans/cs551/saltzer/. ↩
  2. Michael Stonebraker and Joseph M. Hellerstein, “What Goes Around Comes Around,” in Readings in Database Systems, 4th ed. (Cambridge, MA: MIT Press, 2005); Michael Stonebraker and Andrew Pavlo, “What Goes Around Comes Around... And Around...,” SIGMOD Record 53, no. 2 (June 2024): 21–37, db.cs.cmu.edu/papers/2024/whatgoesaround-sigmodrec2024.pdf. ↩
  3. John McCarthy, “History of Lisp” (Stanford University, Artificial Intelligence Laboratory, February 12, 1979), www-formal.stanford.edu/jmc/history/lisp/lisp.html. ↩
  4. Frederick P. Brooks Jr., “No Silver Bullet: Essence and Accidents of Software Engineering,” Technical Report TR86-020 (Chapel Hill: University of North Carolina, Department of Computer Science, September 1986), www.cs.unc.edu/techreports/86-020.pdf. ↩
  5. Jeff Vander Stoep and Alex Rebert, “Eliminating Memory Safety Vulnerabilities at the Source,” Google Security Blog, September 25, 2024, security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html. ↩
  6. Cybersecurity and Infrastructure Security Agency and Federal Bureau of Investigation, “Secure by Design Alert: Eliminating SQL Injection Vulnerabilities in Software,” March 2024, www.cisa.gov/resources-tools/resources/secure-design-alert-eliminating-sql-injection-vulnerabilities-software. ↩