<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lenny Zeltser</title><description>Builder of security products and programs. Teacher of those who run them. Cybersecurity executive, SANS Faculty Fellow, and creator of REMnux.</description><link>https://zeltser.com</link><language>en-us</language><atom:link href="https://zeltser.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>The Security Autonomy Matrix: Deciding AI Authority</title><link>https://zeltser.com/security-autonomy-matrix</link><guid isPermaLink="true">https://zeltser.com/security-autonomy-matrix</guid><description>The Security Autonomy Matrix is a framework for deciding how much authority to grant your security AI agents, one kind of action at a time. You record those decisions in one table, one row per workflow, capturing the autonomy level, who answers for it, and when the grant expires.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;The Security Autonomy Matrix is a framework for deciding how much authority to grant your security AI agents, one kind of action at a time. You record those decisions in one table, one row per workflow, capturing the autonomy level, who answers for it, and when the grant expires.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/security-autonomy-matrix.DYA60hX6.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;Cybersecurity teams are increasingly adopting AI technologies for their workflows. How should they decide what authority to grant their AI agents, and how independently the agents may exercise it? The &lt;em&gt;Security Autonomy Matrix&lt;/em&gt; is an approach to making these decisions and capturing them in one table. Each row in the table represents a security workflow. It records the five decisions we make about that workflow. By capturing decisions this way, we can enforce them through our tooling, widening the AI&apos;s autonomy as it earns trust.&lt;/p&gt;
&lt;p&gt;This guide is also available as &lt;a href=&quot;https://zeltser.com/media/docs/security-autonomy-matrix.pdf&quot;&gt;PDF&lt;/a&gt; and &lt;a href=&quot;https://zeltser.com/media/docs/security-autonomy-matrix.docx&quot;&gt;Word&lt;/a&gt; documents, so you can read it offline or share it with others.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contents:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#keep-a-record-of-ai-authority-decisions&quot;&gt;Keep a record of AI authority decisions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#decide-how-much-autonomy-each-ai-action-gets&quot;&gt;Decide how much autonomy each AI action gets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#put-the-security-autonomy-matrix-to-work&quot;&gt;Put the Security Autonomy Matrix to work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#what-the-matrix-is-based-on-and-what-is-new&quot;&gt;What the matrix is based on, and what is new&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#thank-you-to-the-reviewers&quot;&gt;Thank you to the reviewers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Keep a record of AI authority decisions.&lt;/h2&gt;
&lt;p&gt;Like every executive in the organization, security leaders are looking for responsible ways to deploy AI within their functions. Getting the most out of AI often means granting it agentic capabilities, so it has the authority to make security decisions and take security actions on its own. How does a leader grant that authority deliberately and responsibly?&lt;/p&gt;
&lt;p&gt;Consider an AI agent that removes the phishing messages that reached user mailboxes. The agent can read every mailbox safely, yet one wrong deletion can permanently remove a legitimate message. Security leaders need to decide, for this and other security workflows, whether to allow the agent to make the call and take the action.&lt;/p&gt;
&lt;p&gt;Deciding how much authority to grant AI is a leadership judgment, and there is little established guidance. In the &lt;a href=&quot;https://www.sans.org/white-papers/2026-sans-ai-survey-insights&quot;&gt;2026 SANS AI Survey&lt;/a&gt;, only 41% of organizations reported using generative AI for security-related tasks under strict policy. Another 39% said usage is informal, with no policy at all.&lt;/p&gt;
&lt;p&gt;Security teams need a single place to capture what they have allowed AI agents to do on their own. The Security Autonomy Matrix is that record. Without it, a team has to reconstruct what its AI may do from tool settings, runbooks, and the memory of whoever set them up. Instead, as security leaders, we can capture those decisions in the matrix, with one row per security workflow: the permissions granted, the accountable person, and what reopens the decision.&lt;/p&gt;
&lt;h3&gt;What is the Security Autonomy Matrix?&lt;/h3&gt;
&lt;p&gt;The Security Autonomy Matrix is a table with a row for each security workflow where AI performs actions whose mistakes would be costly or hard to reverse. One column identifies the workflow, and the other five each record a decision security leaders make about it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Autonomy:&lt;/strong&gt; How independently the AI may act. Set it separately for each kind of action in the workflow, such as reading data, sending email, or deleting records.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accountable person:&lt;/strong&gt; The person who answers for the AI&apos;s actions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gate:&lt;/strong&gt; The point where a person approves, overrides, or rolls back the AI&apos;s action.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Residual risk:&lt;/strong&gt; The harm that remains possible and the safeguard that limits it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reevaluation trigger:&lt;/strong&gt; The events that reopen the autonomy decision, and the date when the row expires.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Add a row for every workflow where the AI performs actions whose mistakes would be costly or hard to reverse. This includes workflows where a person still approves each action, and workflows where you&apos;re only considering such autonomy.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Authority&lt;/em&gt; specifies what the AI agent may do. &lt;em&gt;Autonomy&lt;/em&gt; is how independently it may exercise that authority. The row&apos;s Autonomy column captures both the kinds of actions the AI may take in the workflow and how independently it may take each. I named the matrix for autonomy because the autonomy level is the central decision in each row.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;The matrix captures decisions so you can enforce them.&lt;/h3&gt;
&lt;p&gt;The Security Autonomy Matrix is an authorization policy for non-human workers. OWASP&apos;s &lt;a href=&quot;https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/&quot;&gt;Top 10 for Agentic Applications&lt;/a&gt; prescribes narrow permissions for AI agents, including &quot;read-only queries for databases, no send/delete rights for email summarizers.&quot; A leader using the matrix grants authority the same way, deciding separately what the AI may read, send, or delete. SANS&apos;s &lt;a href=&quot;https://github.com/sans-community/ai-guidelines/blob/current-version/SANS_Critical_AI_Security_Guidelines_v1.1.md&quot;&gt;Critical AI Security Guidelines&lt;/a&gt; prescribe the same discipline: &quot;clearly delineated permissions&quot; for each agent, and human oversight for any &quot;critical operations&quot; it can reach. The matrix is where a leader decides which operations those are, who answers for the decision, and what reopens it.&lt;/p&gt;
&lt;p&gt;Because the matrix is policy, it needs an owner and a place in the program. The security leader owns it like the rest of the security policy. Each row needs enforcement, whether through the tooling&apos;s permission settings or through a manual check where the tooling falls short. Security teams already run access reviews for least privilege and grant policy exceptions with expiration dates, and the matrix records the same discipline for the authority they grant their AI. A team can adopt the matrix even before those broader practices mature, starting with a few rows.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Security Autonomy Matrix can record the five decisions for any AI agent in the enterprise, whether the agent screens résumés or pays invoices. This guide covers security workflows. To apply the matrix in another business function, keep the same columns and fill the rows with that function&apos;s workflows.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Decide how much autonomy each AI action gets.&lt;/h2&gt;
&lt;p&gt;A leader sets the AI&apos;s autonomy level for each kind of action, such as reading data or deleting records. This involves considering the cost of a mistake in that action and whether someone can undo it. The Security Autonomy Matrix describes autonomy using five levels, ranging from a person doing all the work to AI acting on its own with after-the-fact audits.&lt;/p&gt;
&lt;p&gt;A leader can keep costly, irreversible actions behind a person&apos;s approval and leave the low-cost, reversible ones to the AI.&lt;/p&gt;
&lt;h3&gt;Define AI autonomy in five levels, the way driving automation does.&lt;/h3&gt;
&lt;p&gt;The five autonomy levels in the Security Autonomy Matrix are an adaptation of the &lt;a href=&quot;https://www.sae.org/standards/content/j3016_202104/&quot;&gt;SAE driving-automation levels&lt;/a&gt;, familiar from self-driving cars:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;L0&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;td&gt;A person does all the work. AI is not involved.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L1&lt;/td&gt;
&lt;td&gt;Advisory&lt;/td&gt;
&lt;td&gt;AI recommends and drafts. A person performs every action, so nothing the AI produces takes effect on its own.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L2&lt;/td&gt;
&lt;td&gt;Supervised&lt;/td&gt;
&lt;td&gt;AI performs the action. A person approves each one before it takes effect.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L3&lt;/td&gt;
&lt;td&gt;Conditional&lt;/td&gt;
&lt;td&gt;AI acts within set limits. A person handles exceptions and escalations.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L4&lt;/td&gt;
&lt;td&gt;Independent&lt;/td&gt;
&lt;td&gt;AI acts on its own. A person reviews by audit, after the fact.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The biggest jump in what the AI does is from L1 to L2, where it starts performing actions. At L0 and L1, a person performs every action, and the AI at most advises. From L2 up, the AI acts, and the remaining question is when a person checks its work. A person approves each action in advance at L2, handles exceptions at L3, and audits after the fact at L4. The biggest jump in authority is from L2 to L3: that is the first level where the AI acts without a person approving each action.&lt;/p&gt;
&lt;p&gt;Industry analysts and security researchers also describe AI autonomy in levels. Gartner &lt;a href=&quot;https://www.gartner.com/en/newsroom/press-releases/2026-05-26-gartner-says-applying-uniform-governance-across-ai-agents-will-lead-to-enterprise-ai-agent-failure&quot;&gt;recommends&lt;/a&gt; classifying AI agents &quot;across distinct autonomy levels, with each level representing a different trust boundary.&quot; &lt;a href=&quot;https://arxiv.org/html/2505.23397v2&quot;&gt;Ahmad Mohsin&lt;/a&gt; and colleagues reached a similar conclusion, structuring SOC autonomy into five SAE-inspired levels. Jim Reavis, CSA&apos;s co-founder, &lt;a href=&quot;https://cloudsecurityalliance.org/blog/2026/01/28/levels-of-autonomy&quot;&gt;proposed six SAE-inspired levels for agentic AI&lt;/a&gt; and asked whether a single system &quot;might warrant Level 3 autonomy for some actions and Level 1 for others.&quot; That convergence is the reason to build the matrix on these five levels. Among this framework&apos;s additions are the five kinds of action and the five-column decision record, covered in the next section. Setting a separate level for each kind of action answers Jim&apos;s question: one agent can read on its own while a person approves everything it deletes.&lt;/p&gt;
&lt;h3&gt;Each kind of action gets its own autonomy level.&lt;/h3&gt;
&lt;p&gt;One way to think about the AI&apos;s actions is to group them into five classes. The classes differ in the cost of a mistake and whether it can be undone. That difference is why each class needs its own autonomy level:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Class&lt;/th&gt;
&lt;th&gt;What the AI may do&lt;/th&gt;
&lt;th&gt;Why the class gets its own autonomy level&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Read&lt;/td&gt;
&lt;td&gt;Query data, such as logs, tickets, and mailboxes&lt;/td&gt;
&lt;td&gt;A wrong read changes nothing, though broad access can expose sensitive data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Write&lt;/td&gt;
&lt;td&gt;Change the state of something the AI already has authority over, where the AI can put that state back in the same system without a saved copy, such as editing a ticket, isolating an endpoint, or disabling an account&lt;/td&gt;
&lt;td&gt;Wrong writes are recoverable, at a price, once someone notices them&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Send&lt;/td&gt;
&lt;td&gt;Communicate beyond the team, such as emailing a user or replying to an outside researcher&lt;/td&gt;
&lt;td&gt;No one can unsend a message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Spend&lt;/td&gt;
&lt;td&gt;Commit resources, such as money, API credits, or cloud quota&lt;/td&gt;
&lt;td&gt;An agent can spend a budget before anyone looks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delete&lt;/td&gt;
&lt;td&gt;Remove something, or destroy state that comes back only from a saved copy or by building it again, such as removing a firewall rule, terminating a running process, or purging mail&lt;/td&gt;
&lt;td&gt;A wrong delete may be permanent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A single AI agent can hold a different autonomy level for each class of action. Each combination of class and level is a &lt;em&gt;grant&lt;/em&gt;. A leader might let an agent read logs on its own at L4 (Independent) while requiring that a person approve everything it writes, sends, spends, or deletes. Some of the products our agents connect to already separate these permissions. &lt;a href=&quot;https://learn.microsoft.com/en-us/graph/permissions-reference#mailsend&quot;&gt;Outlook&lt;/a&gt; grants Send apart from read and write, and its read-write permission &quot;does not include permission to send mail.&quot; &lt;a href=&quot;https://developers.google.com/workspace/gmail/api/auth/scopes&quot;&gt;Gmail&lt;/a&gt; offers a send-only scope, though its broader scopes bundle sending with reading.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Granting autonomy separately for each kind of action is an idea with a long track record. In 2000, &lt;a href=&quot;https://pubmed.ncbi.nlm.nih.gov/11760769/&quot;&gt;Raja Parasuraman&lt;/a&gt;, &lt;em&gt;et al.&lt;/em&gt; proposed four classes of automatable functions and observed that automation within each class can apply &quot;across a continuum of levels.&quot; Their classes describe stages of information processing; the matrix&apos;s classes describe the authority a leader grants and revokes. The closest current counterpart to the matrix&apos;s classes is the Cloud Security Alliance&apos;s &lt;a href=&quot;https://cloudsecurityalliance.org/blog/2025/12/16/enhancing-the-agentic-ai-security-scoping-matrix-a-multi-dimensional-approach&quot;&gt;multi-dimensional enhancement&lt;/a&gt; of AWS&apos;s &lt;a href=&quot;https://aws.amazon.com/blogs/security/the-agentic-ai-security-scoping-matrix-a-framework-for-securing-autonomous-ai-systems/&quot;&gt;Agentic AI Security Scoping Matrix&lt;/a&gt;, which splits data operations into &quot;read vs. write&quot; for the engineers who secure AI agents.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;Classify one operation at a time.&lt;/h3&gt;
&lt;p&gt;Send and Spend are easy to classify. The AI performs a Send when it communicates with anyone outside the team that runs the agent. Customers, vendors, and outside researchers all sit outside that team. The AI performs a Spend when it commits money, credits, or quota.&lt;/p&gt;
&lt;p&gt;Telling a Write from a Delete comes down to what the AI can put back by itself. Write down every change the action makes inside the system the AI is acting on. For each change, ask whether the AI can undo it in that same system, using the authority you already granted. When the AI can undo every change, the action is a Write. When the AI cannot undo even one change, the action is a Delete. Restoring from a backup, a journal, or a quarantine store does not count, because someone saved that copy ahead of time.&lt;/p&gt;
&lt;p&gt;For example, when the AI isolates an endpoint, it cuts that machine off the network and changes nothing else. The AI can reconnect the machine in the same endpoint product, so isolation is a Write. When the AI purges a mailbox, the mail is gone, and only a saved copy brings it back. Purge is a Delete, and the quarantine you keep is that saved copy.&lt;/p&gt;
&lt;p&gt;Classify actions by the authority you grant, not by the safeguard you happen to run. Quarantine makes a wrong purge survivable. Record it as a safeguard, note the risk that remains, and leave the class alone. If safeguards could change classes, any team could reclassify a dangerous action by bolting recovery onto it. The row would then stop saying what the AI may do. On the day a quarantine is misconfigured or its retention has lapsed, the action was a Delete all along.&lt;/p&gt;
&lt;h3&gt;Work through the harder cases.&lt;/h3&gt;
&lt;p&gt;A first glance puts these three actions in the wrong class:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Killing a process:&lt;/strong&gt; The AI stops the service that process was running and destroys whatever was in the process&apos;s memory. The service manager starts the service again, and nothing brings the memory back, so killing a process is a Delete. That stays true whether the process was a stuck web server or a program you suspect an attacker planted.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quarantining a file:&lt;/strong&gt; The AI removes the file from where it was, and getting it back means pulling the saved copy out of the quarantine store, which the endpoint product deletes after a set number of days. Quarantining a file is a Delete, while isolation stays a Write because the AI reconnects the endpoint directly, with no saved copy involved.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Granting a permission:&lt;/strong&gt; The AI adds a permission for someone and can remove it in the same system, so granting is a Write. Removing it does not undo what that person did while they held it. Record that in the residual risk cell.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can grant the same Delete at different levels in different workflows. Give it a high level in a workflow that restarts stuck services, because nothing worth keeping was in that memory. Keep it low in a workflow that kills suspicious programs, because that memory may be the only evidence you have.&lt;/p&gt;
&lt;p&gt;Four more rules cover drafting, combined actions, code, and chains of actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Message drafting:&lt;/strong&gt; Set Send at L1 (Advisory) when you want the AI to draft messages that a person sends, and reserve Send L0 (Manual) for workflows where the AI should play no part in the message.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Combined actions:&lt;/strong&gt; When one action spans multiple classes, use the lowest of their autonomy levels. An action that changes a system and also notifies a third party is both a Write and a Send. If the row records Write at L3 (Conditional) and Send at L2 (Supervised), that combined action needs a person&apos;s approval. This rule covers a command that performs two operations you could have granted separately. When a single operation changes several things at once, place it with the test above.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code and playbooks:&lt;/strong&gt; Classify running code by its effects, whether the AI runs a script or triggers a playbook, a prewritten set of automated steps. A script that reads files, sends email, and deletes records falls under the Read, Send, and Delete grants at once. When you can&apos;t predict the code&apos;s effects, hold every class it could touch at L2 (Supervised), and have a person inspect and approve each run.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chained actions:&lt;/strong&gt; When the AI plans a chain of actions, decide the gate before the AI takes the first step. Look at every action in the chain, up to where the AI next stops for approval. Find the action class with the lowest autonomy level among them, and gate the whole chain at that level. Each step keeps its own class. Weigh blast radius and reversibility for the whole chain too. A person needs longer to undo fifty steps than to undo one. Suppose you let the AI isolate up to five workstations per incident on its own. During an incident, the AI plans to isolate six. That plan exceeds the grant, so the AI needs a person&apos;s approval before it isolates any of them. If the AI finds the sixth machine only after isolating five, it has to ask then, as it would for any exception. OWASP&apos;s &lt;a href=&quot;https://github.com/OWASP/AISVS/blob/main/1.0/en/0x10-C09-Orchestration-and-Agentic-Action.md&quot;&gt;AI Security Verification Standard&lt;/a&gt; states a related requirement for the software that runs agents: approval gates for multi-step or multi-agent chains &quot;enforce the highest-impact reversibility classification present anywhere in the chain.&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Gate the actions that have no undo.&lt;/h3&gt;
&lt;p&gt;The gate is the checkpoint where a person approves the AI&apos;s action in advance, overrides it while the action is underway, or rolls it back afterward. It&apos;s captured in a dedicated Gate column of the matrix. Decide which actions need the gate by weighing two measures:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blast radius:&lt;/strong&gt; How much damage a wrong action could cause, from a single user to the whole business.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reversibility:&lt;/strong&gt; Whether you can undo the action faster than the damage spreads.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Blast radius and reversibility are judgments you make per workflow. For example, disabling a lab firewall rule might inconvenience a few engineers, while disabling a production rule might affect customers. When estimating the blast radius, also weigh how much data the AI can access and what it would reveal, since a single misstep could expose many sensitive records. Reversibility varies the same way: you can restore a quarantined file, but not a hard-deleted one.&lt;/p&gt;
&lt;p&gt;Irreversible AI actions require the same caution as irreversible business decisions. Jeff Bezos referred to such decisions as &quot;one-way doors&quot; in his &lt;a href=&quot;https://www.sec.gov/Archives/edgar/data/1018724/000119312516530910/d168744dex991.htm&quot;&gt;2015 letter to shareholders&lt;/a&gt;. A one-way door is a decision you cannot undo, and a two-way door is one that you can. He urged slow deliberation at one-way doors and speed through two-way doors. Let the AI take the reversible actions on its own, and require a person&apos;s approval when you cannot undo the damage faster than it spreads.&lt;/p&gt;
&lt;p&gt;When the AI reads untrusted content, such as inbound email or web pages, an attacker can hide instructions within it to trick the agent into taking malicious actions (prompt injection). The hidden instructions can trigger any action the agent can take on its own, not just a Send. In such workflows, set every class whose mistake would be costly or hard to reverse to L2 (Supervised) or lower. If a grant must stay higher, tighten its limits instead, such as the destinations the agent can reach, the systems it can change, or the amount it can spend. Write the safeguard and the remaining risk into the row&apos;s residual risk cell.&lt;/p&gt;
&lt;p&gt;Read needs its own safeguard against prompt injection. A wrong read changes nothing, so you might reasonably leave Read at a high level. Yet injected instructions can make the agent read data the workflow never needs, through queries it was authorized to run. At L3 (Conditional) or higher, no person approves each query, so the exposure depends on what the agent can see, whether one ticket queue or every mailbox in the company. Narrow the Read grant to the data the workflow needs, and weigh what the agent can still reach as part of the row&apos;s blast radius.&lt;/p&gt;
&lt;p&gt;You can often raise an action&apos;s autonomy level by making the action reversible. Recall the agent that removes phishing messages from user mailboxes. Route its removals through a recoverable quarantine instead of hard deletes, and an administrator can restore a message the AI got wrong. The leader can then let the AI handle routine removals on its own.&lt;/p&gt;
&lt;h3&gt;People add the most value before and after the AI&apos;s work.&lt;/h3&gt;
&lt;p&gt;As AI absorbs routine security work, people can focus on direction, judgment, and accountability. Daniel Miessler argues that &lt;a href=&quot;https://danielmiessler.com/blog/ai-unmasked-our-work-as-scaffolding&quot;&gt;much of knowledge work is scaffolding&lt;/a&gt;, the routine steps between decisions, and that AI strips those steps away, leaving the judgment behind. That distinction between scaffolding and judgment is a practical test of where people fit in a workflow.&lt;/p&gt;
&lt;p&gt;To decide where people fit in a workflow, work backward from what your AI already handles well to the parts that still need a person. Check the two ends of the workflow first: the direction set before the AI starts, and the judgment applied to its output afterward. Record the actions a person must approve at L2 (Supervised), the exceptions a person handles at L3 (Conditional), and the actions a person reviews after the fact at L4 (Independent).&lt;/p&gt;
&lt;h2&gt;Put the Security Autonomy Matrix to work.&lt;/h2&gt;
&lt;p&gt;Your first working Security Autonomy Matrix can be as small as two or three rows that record the authority that AI already holds. Copy the following one-table template and fill those rows in. Then revisit the table periodically, raising and lowering autonomy levels when the accountable person has evidence for a change.&lt;/p&gt;
&lt;p&gt;Give every grant an expiration date and require the accountable person to reevaluate the grant based on the AI&apos;s track record for that workflow. Build that track record from logs of the AI&apos;s activity. When the AI misbehaves, your team can investigate what exactly happened from the same logs. Watch a few metrics to see whether the practice is working, such as overdue renewals and mismatches between the recorded grants and the enforcement in place.&lt;/p&gt;
&lt;h3&gt;Copy the blank template and fill in your first row.&lt;/h3&gt;
&lt;p&gt;Copy this blank table to start your own Security Autonomy Matrix:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workflow&lt;/th&gt;
&lt;th&gt;Autonomy by action class&lt;/th&gt;
&lt;th&gt;Accountable person&lt;/th&gt;
&lt;th&gt;Gate&lt;/th&gt;
&lt;th&gt;Residual risk and safeguard&lt;/th&gt;
&lt;th&gt;Reevaluation trigger and expiration&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Fill in the columns this way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Workflow:&lt;/strong&gt; Outline the security workflow where the AI performs actions whose mistakes would be costly or hard to reverse. Give it a name, and record the event that starts the workflow, such as a person&apos;s request, a schedule, or a detection. This column identifies the workflow. The other five each record a decision.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomy by action class:&lt;/strong&gt; Record the AI&apos;s current autonomy level (L0 to L4) for each class of action in the workflow: Read, Write, Send, Spend, Delete. Record L0 (Manual) where the action happens but the AI plays no part, and omit a class only when that action never occurs in the workflow. For a grant at L3 (Conditional), record when the AI may act and how far it may go, such as, &quot;The agent may isolate up to five workstations on its own when a high-confidence detection fires.&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accountable person:&lt;/strong&gt; Record the name and title of the person who answers for the AI&apos;s actions. Others may run the workflow day to day, but this person decides whether to renew, promote, or demote each grant. Tie accountability to the role, so the next person in the role takes it on when people change jobs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gate:&lt;/strong&gt; Record which actions a person should approve in advance, override, or roll back, and name who can do each. Decide by weighing how much damage a wrong action could cause and whether someone can undo it. For a grant whose only check is an after-the-fact review, record who should review the AI&apos;s actions and how often.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Residual risk and safeguard:&lt;/strong&gt; Describe the harm that can still happen even with the gate in place, and the safeguard that limits it. State the harm in concrete terms, such as downtime, data exposure, financial loss, or a regulatory obligation. When the grant comes up for renewal, the accountable person has to decide whether the risk is still worth accepting, and after an incident, whether the safeguard worked.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reevaluation trigger and expiration:&lt;/strong&gt; List the events that should reopen a grant, whether as grounds for more autonomy or less. When the event is something the AI itself does, define it as a signal your team can spot in the AI&apos;s activity logs, such as false isolations or disputed answers counted over a quarter. Then add the date when the row expires and its grants come up for renewal together. That date can be the row&apos;s own or the default expiration you set for the whole matrix.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Review a sample matrix with example rows.&lt;/h3&gt;
&lt;p&gt;A fragment of a Security Autonomy Matrix might look like this, with invented values and the accountable people listed by role alone. Each Autonomy cell names an action class, its level, and, in parentheses, the specific action the AI takes in that workflow:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Workflow&lt;/th&gt;
&lt;th&gt;Autonomy by action class&lt;/th&gt;
&lt;th&gt;Accountable person&lt;/th&gt;
&lt;th&gt;Gate&lt;/th&gt;
&lt;th&gt;Residual risk and safeguard&lt;/th&gt;
&lt;th&gt;Reevaluation trigger and expiration&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vendor security questionnaires (a customer&apos;s request)&lt;/td&gt;
&lt;td&gt;Read L4 · Write L2 (writes draft answers into the response) · Send L1&lt;/td&gt;
&lt;td&gt;Governance, risk, and compliance (GRC) lead&lt;/td&gt;
&lt;td&gt;A person reviews and sends every response&lt;/td&gt;
&lt;td&gt;The reviewer could miss a wrong claim and send it to a customer, so answers draw on an approved library&lt;/td&gt;
&lt;td&gt;Two disputed answers are the signal to pull Write back to L1, or a clean quarter is grounds to raise Send to L2. Default expiration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stale firewall rule cleanup (a monthly schedule)&lt;/td&gt;
&lt;td&gt;Read L4 · Write L3 (turns off rules unused for 90 days) · Delete L2&lt;/td&gt;
&lt;td&gt;Network security lead&lt;/td&gt;
&lt;td&gt;An engineer approves each permanent removal&lt;/td&gt;
&lt;td&gt;The AI could turn off a rule an application depends on and break it. Every removal starts as a disable, with the old rule kept for restore&lt;/td&gt;
&lt;td&gt;The first outage traced to a cleanup is the signal to pull Write back to L2, or two clean quarters are grounds for Delete L3. Expiration: six months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bug bounty triage (a researcher&apos;s submission)&lt;/td&gt;
&lt;td&gt;Read L4 · Write L3 (labels reports and closes exact duplicates) · Send L2 (replies to researchers) · Spend L1 (recommends award amounts)&lt;/td&gt;
&lt;td&gt;Product security lead&lt;/td&gt;
&lt;td&gt;A person approves each researcher reply, and a person decides and pays every award&lt;/td&gt;
&lt;td&gt;The AI could close a real report as a duplicate, so a person samples closed duplicates weekly&lt;/td&gt;
&lt;td&gt;A buried report is the signal to pull Write back to L2, or a clean quarter of sampled duplicates is grounds to raise Write to L4. Default expiration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Endpoint isolation (a detection)&lt;/td&gt;
&lt;td&gt;Read L4 · Write L2 (isolates hosts)&lt;/td&gt;
&lt;td&gt;Security operations center (SOC) manager, with an on-call incident response (IR) lead after hours&lt;/td&gt;
&lt;td&gt;An analyst approves each isolation, and the IR lead approves any server or more than five workstations&lt;/td&gt;
&lt;td&gt;The AI could isolate a machine the business depends on, so every isolation triggers a page to the on-call lead, and the help desk can release a wrong one in minutes&lt;/td&gt;
&lt;td&gt;Two false isolations in a quarter are the signal to hold Write at L2 or return it there, and a quarter of accurate isolations is grounds for Write L3, limited to high-confidence detections and five or fewer workstations per incident. Default expiration&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Here is the firewall cleanup row, one column at a time:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Autonomy by action class.&lt;/strong&gt; The AI takes two kinds of action in this workflow, and they differ in what a mistake would cost, so each kind gets its own level. Turning a firewall rule off is reversible because someone can turn it back on. The AI may do that on its own, a Write at L3. Deleting a rule for good is permanent, so a person has to approve each deletion, a Delete at L2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accountable person.&lt;/strong&gt; The network security lead answers for this workflow. Typically, you&apos;d also list the person&apos;s name, but ensure that the responsibility stays with the role across personnel changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gate.&lt;/strong&gt; In this workflow, the organization decided that only the permanent removals need a person&apos;s approval. An engineer has to approve each one before it happens, and the AI may turn rules off on its own.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Residual risk and safeguard.&lt;/strong&gt; The harm that could still happen is that the AI turns off a rule that an application depends on. The safeguard is to remove rules in two steps: the AI first turns a rule off but keeps it, so anyone can turn it back on if that breaks something, and only later does a person delete it for good.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reevaluation trigger and expiration.&lt;/strong&gt; Two kinds of events can reopen this row&apos;s decisions. An outage traced to a cleanup is the signal to pull the AI&apos;s Write grant back to L2. Also, two quarters without any cleanup-related outages or incorrect deletions are grounds for raising Delete to L3. The row expires every six months, because the team can gather rule-cleanup evidence fast enough to reevaluate the grants on that schedule.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Endpoint isolation works differently from the other rows, because the workflow starts with a detection rather than a person&apos;s request, and the organization expects a machine-speed response. The sample row shows how the AI can earn the autonomy for that speed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Today:&lt;/strong&gt; Write sits at L2 (Supervised). An analyst approves each isolation before it happens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The promotion path:&lt;/strong&gt; The row&apos;s Reevaluation cell shows that a quarter of accurate isolations is grounds for raising Write to L3 (Conditional), limited to high-confidence detections and five or fewer workstations per incident.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;After the promotion:&lt;/strong&gt; A detection would still start the workflow, but the AI would isolate on its own only when the detection meets those limits. It could contain a routine intrusion the moment the detection fires, and anything wider, such as a server or a sixth workstation, would still need the incident response lead&apos;s approval.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is how a leader can grant machine speed safely: the AI earns the promotion with its track record. The limits written into the grant spell out when the agent may act and how far it may go. When you can&apos;t limit an action this tightly or undo it quickly, keep it at L2, behind a person&apos;s approval.&lt;/p&gt;
&lt;p&gt;Rob Fuller&apos;s &lt;a href=&quot;https://init6.com/papers/Day-Zero-Normal-CISO-Brief.pdf&quot;&gt;Standing Authority Matrix&lt;/a&gt; is a table of machine-speed actions built on the same idea as the endpoint promotion: autonomy pre-approved within recorded limits. It lists actions that are &quot;small and reversible by design,&quot; each with a named approver and a documented rollback path. An action either qualifies for the matrix and runs on its own or stays behind a human gate. The Security Autonomy Matrix applies that discipline to any security workflow. Between an action the AI takes on its own and one a person handles, it accommodates the full range of autonomy, from L0 to L4.&lt;/p&gt;
&lt;h3&gt;Autonomy is earned, and it can be taken back.&lt;/h3&gt;
&lt;p&gt;An AI agent can earn expanded authority the way a medical resident earns unsupervised procedures: by performing under supervision first. Residency programs have run this model for decades, providing &quot;increasing autonomy as residents progress through training,&quot; a principle known as &lt;a href=&quot;https://pmc.ncbi.nlm.nih.gov/articles/PMC7225606/&quot;&gt;graded responsibility&lt;/a&gt;. The sample endpoint isolation row records the same principle in its promotion path.&lt;/p&gt;
&lt;p&gt;Leaders can also pull autonomy back, according to the conditions written into the row as its reevaluation trigger. After repeated false containment actions, you would lower the affected grant to a human-approval gate until its track record supports raising it again. Bala Priya C states the principle in a &lt;a href=&quot;https://devops.com/when-should-a-devops-agent-act-without-human-approval/&quot;&gt;DevOps.com essay&lt;/a&gt;, &quot;Autonomy is a consequence of demonstrated reliability, not a starting assumption.&quot; Josh Woodruff&apos;s &lt;a href=&quot;https://github.com/massivescale-ai/agentic-trust-framework/blob/main/MATURITY_MODEL.md&quot;&gt;Agentic Trust Framework&lt;/a&gt; describes the same discipline per agent, with promotion gates and automatic demotion. Only the accountable person may grant more autonomy, however strong the track record.&lt;/p&gt;
&lt;p&gt;A significant change to the AI agent&apos;s model or version should also reopen the decision. The agent earned the grant under the old model and might behave differently under the new one.&lt;/p&gt;
&lt;h3&gt;Every grant expires.&lt;/h3&gt;
&lt;p&gt;Every grant needs an expiration date, as security policy exceptions do. Reevaluation triggers depend on someone noticing an event, and expiration reopens the decision on schedule. Handle expiration this way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What expires:&lt;/strong&gt; The whole row at once. The default expiration reopens all the row&apos;s grants together. An event in the row&apos;s Reevaluation trigger can still reopen a single grant on its own.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What happens when a row expires:&lt;/strong&gt; Grants above L2 (Supervised) drop to L2 until the accountable person renews the row. Grants at or below L2 keep their level, because a person already approves or performs each action at those levels. The workflow can keep running, but a person has to approve each action the AI used to take on its own, including its reads. That friction is deliberate: it pushes the accountable person to renew the row promptly, revise its grants, or retire the AI&apos;s part in the workflow. If your tooling can&apos;t fully enforce the drop, record the gap in the row&apos;s residual risk cell, together with the manual check that limits it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Who renews:&lt;/strong&gt; The accountable person. They have to base the renewal on the AI&apos;s recent track record for that workflow, the same evidence that would support raising the grant.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How long:&lt;/strong&gt; Match the matrix&apos;s default window to a cycle the organization already runs, such as the annual policy review. When a workflow requires a different expiration timeframe, give blast radius the most weight, and adjust for reversibility, autonomy level, and safeguard strength.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The last few sections introduced four mechanisms that revisit the AI&apos;s authority or its actions: the trigger events listed in a row&apos;s Reevaluation cell, the row&apos;s expiration date, the owner&apos;s recurring review of the matrix, and the rollback of a single action. If you conflate one with another, you might record the wrong decision in a row, such as planning to undo a bad action when you should lower the grant instead:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mechanism&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Trigger event&lt;/td&gt;
&lt;td&gt;Reopens a grant when a listed event happens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expiration&lt;/td&gt;
&lt;td&gt;Reopens the whole row on its date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recurring review&lt;/td&gt;
&lt;td&gt;Reopens any row the owner questions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rollback&lt;/td&gt;
&lt;td&gt;Undoes one action, never a grant&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;Adopt the Security Autonomy Matrix in five stages.&lt;/h3&gt;
&lt;p&gt;To put the matrix into practice, work through the following five stages:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Record the current grants.&lt;/strong&gt; Pick the two or three workflows where the AI already performs actions whose mistakes would be costly or hard to reverse, or where you&apos;ve already considered granting it that authority. Describe in the five decision columns how the workflow runs today, not how you intend it to run.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decide the first renewal.&lt;/strong&gt; When the first grant comes up for renewal, weigh the AI&apos;s track record and decide whether to keep the grant. This will be the first decision you make through the matrix.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Award the first promotion.&lt;/strong&gt; When a grant&apos;s documented track record supports a higher level, promote it, such as a clean quarter at L2 (Supervised) as grounds for L3 (Conditional) within set limits.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Make the first demotion.&lt;/strong&gt; When a trigger event is grounds for less autonomy, demote the grant and note the reason in the row.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add rows over time.&lt;/strong&gt; Record a new row for each new workflow where you grant the AI authority whose mistakes would be costly or hard to reverse.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After that, renewals, promotions, and demotions repeat as evidence arrives, in no set order.&lt;/p&gt;
&lt;h3&gt;Enforce what you recorded in each row.&lt;/h3&gt;
&lt;p&gt;Configure your tooling to enforce the decisions in each row of your Security Autonomy Matrix to the extent possible. Turn the row&apos;s Autonomy levels into the agent&apos;s permissions and turn its Gate into the control a person uses to approve, override, or roll back the action. For example, to enforce Delete at L2 (Supervised) in a phishing cleanup workflow, revoke the agent&apos;s permission to permanently delete messages, and configure the email product to queue each deletion request until a person approves it.&lt;/p&gt;
&lt;p&gt;Few of the products your agents connect to can approve one class of action while letting another run on its own. Evaluate your tech stack for that ability. For example, can your email product hold each deletion for a person&apos;s approval and still let the AI read mailboxes on its own? Where it&apos;s missing, record in the residual risk cell the harm that remains possible and the manual check that limits it. If neither the tooling nor a manual check can enforce the grant as recorded, lower it to a level you can enforce.&lt;/p&gt;
&lt;p&gt;Match enforcement with visibility. Ensure your team can distinguish AI actions from human actions, for example, by giving agents their own identities. Enter each change the AI makes in the change record your organization already keeps, such as a ticketing system or a code repository&apos;s history. Route logs that capture the AI&apos;s activity to the systems your team already uses for investigations, and alert on actions outside the row&apos;s recorded limits. Record in each entry what the AI read or changed, when, with what result, and what a person approved or blocked. Auditing an L4 (Independent) grant after the fact requires those logs. Use the same logs to spot when one of the row&apos;s trigger events occurs and reopen the autonomy decision when it does.&lt;/p&gt;
&lt;p&gt;The same agent often acts in several workflows, and each row may grant it different autonomy. One row may let the agent delete records on its own, for example, while another requires a person to approve each deletion. In such cases, give the agent a separate identity for each workflow, holding only the permissions that row grants. Enforce each row&apos;s approval requirements in the tooling that runs its workflow, and don&apos;t let the agent choose which identity it uses. A single identity that combines every row&apos;s permissions would let the most permissive row govern all of the agent&apos;s workflows. When you cannot enforce different permissions and approvals per workflow, run the agent at the most restrictive level the rows record for each class. Then lower the recorded grants to match, so each row keeps saying what the AI may do.&lt;/p&gt;
&lt;p&gt;Delegation cannot expand authority. When one agent invokes another, it may not use that agent to do anything it could not do itself. An agent allowed to draft but not send gains no send authority by passing its draft to an agent that can send. Scoped identities alone do not prevent that reach-through, so the deployment has to enforce the boundary. The rule for chained actions applies across agents too. When the steps of a chain belong to different agents, gate the chain at the lowest level you granted for any step, whichever agent performs it.&lt;/p&gt;
&lt;h3&gt;Five metrics show whether the matrix is working.&lt;/h3&gt;
&lt;p&gt;Track these five metrics over time to see whether the authority you recorded matches what happens in practice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Overdue renewals:&lt;/strong&gt; An expired row that nobody reevaluated means the renewal cycle broke down. Either the workflow has been running under the L2 (Supervised) fallback nobody meant to be permanent, or nobody enforced the drop and the AI kept authority nobody reaffirmed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time from trigger to enforced change:&lt;/strong&gt; When a trigger event occurs, track two lags: from the event to the reopened decision, and, when the level changes, from the decision to the reconfigured tooling. A lag of days may be tolerable, depending on the grant&apos;s blast radius, but a quarter means nobody enforced the change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Renewals without evidence:&lt;/strong&gt; When the accountable person renews a grant without recording the AI&apos;s track record, you can&apos;t tell whether anyone weighed the evidence before the AI kept its authority. A run of these means the expiration discipline has failed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Drift between the recorded grant and the enforced permission:&lt;/strong&gt; During the owner&apos;s recurring review, check a sample of rows against the tooling settings or manual checks that enforce them, and track how long mismatches persist.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incidents traced to a granted autonomy:&lt;/strong&gt; When you trace an incident to an action the AI took under a recorded grant, assess it against the threshold you set in the row&apos;s Reevaluation trigger. When the trigger fires and you reopen the row, ask whether the residual risk cell was wrong, the safeguard failed, or the harm you accepted materialized, and update the cell that matches your answer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Give the matrix itself a named owner (e.g., the CISO) and record the events that would reopen every row at once, such as a model change that affects every agent or a regulation that changes what you may automate. Review the matrix on a recurring cadence and reopen any row whose trigger conditions occur. An organization that wants additional oversight can open the matrix to independent reviewers, such as internal audit; its rows record the grants a reviewer would test.&lt;/p&gt;
&lt;h2&gt;What the matrix is based on, and what is new.&lt;/h2&gt;
&lt;p&gt;I based the matrix on ideas with long track records and added the parts I haven&apos;t seen elsewhere, such as the five action classes and the five-column decision record. The table below outlines where each part comes from. If you know prior art I missed, please let me know:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Element&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Autonomy levels&lt;/td&gt;
&lt;td&gt;Adapted from &lt;a href=&quot;https://www.sae.org/standards/content/j3016_202104/&quot;&gt;SAE J3016&lt;/a&gt;. &lt;a href=&quot;https://arxiv.org/html/2505.23397v2&quot;&gt;Mohsin and colleagues&lt;/a&gt; applied the same inspiration to the SOC in 2025, &lt;a href=&quot;https://www.gartner.com/en/newsroom/press-releases/2026-05-26-gartner-says-applying-uniform-governance-across-ai-agents-will-lead-to-enterprise-ai-agent-failure&quot;&gt;Gartner&lt;/a&gt; recommended level-based agent governance in May 2026, and CSA&apos;s &lt;a href=&quot;https://cloudsecurityalliance.org/blog/2026/01/28/levels-of-autonomy&quot;&gt;Jim Reavis&lt;/a&gt; proposed six SAE-inspired levels for agentic AI in January 2026.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Levels set per function, not per system&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://pubmed.ncbi.nlm.nih.gov/11760769/&quot;&gt;Raja Parasuraman&lt;/a&gt;, &lt;em&gt;et al.&lt;/em&gt;, 2000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Minimal agent permissions&lt;/td&gt;
&lt;td&gt;OWASP &lt;a href=&quot;https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/&quot;&gt;least agency&lt;/a&gt; and &lt;a href=&quot;https://genai.owasp.org/llmrisk/llm062025-excessive-agency/&quot;&gt;excessive agency&lt;/a&gt; guidance. SANS&apos;s &lt;a href=&quot;https://github.com/sans-community/ai-guidelines/blob/current-version/SANS_Critical_AI_Security_Guidelines_v1.1.md&quot;&gt;Critical AI Security Guidelines&lt;/a&gt; v1.1: &quot;clearly delineated permissions&quot; for agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Human oversight of critical agent actions&lt;/td&gt;
&lt;td&gt;SANS&apos;s &lt;a href=&quot;https://github.com/sans-community/ai-guidelines/blob/current-version/SANS_Critical_AI_Security_Guidelines_v1.1.md&quot;&gt;Critical AI Security Guidelines&lt;/a&gt; v1.1: &quot;avoid exposing critical operations without human oversight&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One-way and two-way doors&lt;/td&gt;
&lt;td&gt;Jeff Bezos, &lt;a href=&quot;https://www.sec.gov/Archives/edgar/data/1018724/000119312516530910/d168744dex991.htm&quot;&gt;2015 shareholder letter&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blast radius and reversibility as the gate measures&lt;/td&gt;
&lt;td&gt;Established operations concepts. &lt;a href=&quot;https://devops.com/when-should-a-devops-agent-act-without-human-approval/&quot;&gt;Bala Priya C&lt;/a&gt; weighs the same pair when deciding how much autonomy a DevOps agent gets.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earned, revocable autonomy&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://pmc.ncbi.nlm.nih.gov/articles/PMC7225606/&quot;&gt;Graded responsibility&lt;/a&gt; in medical residency. Stated for agents on &lt;a href=&quot;https://devops.com/when-should-a-devops-agent-act-without-human-approval/&quot;&gt;DevOps.com&lt;/a&gt;. Josh Woodruff&apos;s &lt;a href=&quot;https://github.com/massivescale-ai/agentic-trust-framework/blob/main/MATURITY_MODEL.md&quot;&gt;ATF maturity model&lt;/a&gt; describes per-agent promotion and demotion.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expiring grants&lt;/td&gt;
&lt;td&gt;Expiring exceptions are established practice, documented by &lt;a href=&quot;https://www.gao.gov/assets/aimd-99-139.pdf&quot;&gt;GAO in 1999&lt;/a&gt;. Applying a default expiration to AI autonomy grants inside this decision record is my adaptation.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read/write split in agent scoping&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://cloudsecurityalliance.org/blog/2025/12/16/enhancing-the-agentic-ai-security-scoping-matrix-a-multi-dimensional-approach&quot;&gt;CSA&apos;s enhancement&lt;/a&gt; of the &lt;a href=&quot;https://aws.amazon.com/blogs/security/the-agentic-ai-security-scoping-matrix-a-framework-for-securing-autonomous-ai-systems/&quot;&gt;AWS scoping matrix&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reversibility classes and chain gates&lt;/td&gt;
&lt;td&gt;OWASP&apos;s &lt;a href=&quot;https://github.com/OWASP/AISVS/blob/main/1.0/en/0x10-C09-Orchestration-and-Agentic-Action.md&quot;&gt;AISVS 1.0&lt;/a&gt; requires a trusted reversibility classification for each high-impact action, with read-only, reversible, externally reversible, and irreversible as its examples. It also requires approval for a chain at the highest-impact classification anywhere in it. The matrix records reversibility as leadership grants, one per action class. The chained-actions rule is the matrix&apos;s counterpart to the chain-level gate.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pre-approved machine-speed actions&lt;/td&gt;
&lt;td&gt;Rob Fuller&apos;s &lt;a href=&quot;https://init6.com/papers/Day-Zero-Normal-CISO-Brief.pdf&quot;&gt;Standing Authority Matrix&lt;/a&gt; pre-approves machine-speed actions that are &quot;small and reversible by design.&quot; Rob and I arrived at the same approach independently.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accountable person and residual risk per workflow&lt;/td&gt;
&lt;td&gt;Established risk-management practice: named risk owners and recorded residual risk. The matrix&apos;s contribution is recording them per workflow row.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Five action classes, including Send, Spend, and Delete&lt;/td&gt;
&lt;td&gt;New in this framework. Production permission schemes already grant Send separately, and the matrix records that grant as a leadership decision.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Five-column decision record as a leadership operating model&lt;/td&gt;
&lt;td&gt;New in this framework&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Thank you to the reviewers.&lt;/h2&gt;
&lt;p&gt;Thank you to the people who provided feedback on this document so far. The list includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sans.org/profiles/shawn-chakravarty&quot;&gt;Shawn Chakravarty&lt;/a&gt;, SANS Institute&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/vchirrav/&quot;&gt;Viswanath S Chirravuri&lt;/a&gt;, Thales Group&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/laracdawson/&quot;&gt;Lara Dawson&lt;/a&gt;, SANS Institute&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/kevin-garvey-299b7728&quot;&gt;Kevin Garvey&lt;/a&gt;, World Wide Technology&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/frank-kim&quot;&gt;Frank Kim&lt;/a&gt;, SANS Institute&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bluemountaincyber.com/about&quot;&gt;Ryan Nicholson&lt;/a&gt;, Blue Mountain Cyber, LLC&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/jonathanristo&quot;&gt;Jonathan Risto&lt;/a&gt;, Zenzizensec&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/in/joshua-j/&quot;&gt;Joshua Scott&lt;/a&gt;, AKA Security&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Five Questions to Answer Before Buying an AI Security Product</title><link>https://zeltser.com/ai-security-buying-questions</link><guid isPermaLink="true">https://zeltser.com/ai-security-buying-questions</guid><description>In the young security-for-AI market, what a product protects and how it ships can differ from what its label promises. With five questions drawn from the AI Defense Matrix Catalog work, you&apos;ll know what you&apos;re buying, whether that&apos;s a capability you already own or an early startup worth a closer look.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;In the young security-for-AI market, what a product protects and how it ships can differ from what its label promises. With five questions drawn from the AI Defense Matrix Catalog work, you&apos;ll know what you&apos;re buying, whether that&apos;s a capability you already own or an early startup worth a closer look.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/ai-security-buying-questions.D4MeVkxw.jpg&quot; alt=&quot;Five brass-mounted lenses standing in a row on dark slate, with a glowing cube blurred through the nearest lens and coming into sharp focus through the farthest, echoing the five questions that bring an AI security purchase into focus.&quot; /&gt;&lt;/p&gt;&lt;p&gt;In the fast-changing AI security market, a product described one way often turns out to be something else after a closer look. &lt;a href=&quot;https://www.linkedin.com/in/sounil&quot;&gt;Sounil Yu&lt;/a&gt; and I see this while maintaining the &lt;a href=&quot;https://catalog.aidefensematrix.com&quot;&gt;AI Defense Matrix Catalog&lt;/a&gt;. Per its &lt;a href=&quot;https://catalog.aidefensematrix.com/methodology&quot;&gt;methodology&lt;/a&gt;, we list only generally available or public-preview products that defend AI systems, using AI tooling to check vendor claims against public sources. While deciding what qualifies and what only resembles security-for-AI, I noticed five patterns you can turn into questions to answer before you buy.&lt;/p&gt;
&lt;h2&gt;Check which asset the product protects.&lt;/h2&gt;
&lt;p&gt;A common pattern is a product that uses AI to protect traditional assets, marketed as if it protects AI. A detection platform with an LLM-based triage assistant secures the network, and its marketing might say &quot;AI security.&quot; The test is to name the protected asset. If the answer is ordinary endpoints, code, or cloud workloads, the product belongs in a traditional category regardless of how much AI powers it. When the same capability targets the AI-specific version of the asset, such as &lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-generated-code&quot;&gt;AI-generated code&lt;/a&gt; or &lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-workload-platforms&quot;&gt;AI workload platforms&lt;/a&gt;, it counts as AI security. Apply the same test to general-purpose governance platforms, which manage risk workflows across the business rather than defend AI assets.&lt;/p&gt;
&lt;h2&gt;Determine whether you&apos;re buying a product or a feature.&lt;/h2&gt;
&lt;p&gt;Some security-for-AI capabilities are part of a larger platform, such as a single toggle that routes model output through a third-party safety filter, or a bundled setting with no documentation surface of its own. Confirm whether the product you&apos;re considering can deliver value on its own or whether deploying it requires committing to the broader platform. A feature can still be the right control for your environment, but in that case, evaluate it as part of the platform it belongs to rather than as a standalone product.&lt;/p&gt;
&lt;h2&gt;Separate shipping products from roadmaps.&lt;/h2&gt;
&lt;p&gt;The AI security market is full of future-tense products, including capabilities described in press releases, high-level launch announcements, and websites that offer a sales call instead of product details. When a pitch presents a roadmap item as a present-tense capability, ask for specifics: delivery timeline, documented capabilities, reference customers you can talk to. If you buy a product with yet-to-be-delivered features, know what you&apos;re committing to and what recourse you&apos;ll have if they never ship.&lt;/p&gt;
&lt;h2&gt;Find out whether you already own the capability.&lt;/h2&gt;
&lt;p&gt;A newly branded AI security offering may package capabilities your organization already licenses. Established vendors combine acquired products with their existing platforms, and they may also add AI-specific features to products you already own. Another team in your organization may already operate the control you&apos;re considering. Before you add a product to your shortlist, map what you already own to the &lt;a href=&quot;https://aidefensematrix.com&quot;&gt;AI Defense Matrix&lt;/a&gt; and ask your current vendors for details about their security-for-AI additions.&lt;/p&gt;
&lt;h2&gt;Buying from a startup takes more diligence and offers more influence.&lt;/h2&gt;
&lt;p&gt;Sometimes a young but promising product offers little public evidence. The website has no product pages yet, third-party coverage is the only source for the claims, or the vendor keeps the documentation behind a sales gate. In a market moving this fast, a startup can ship an innovative product before it has third-party validation, broad coverage, or comprehensive documentation. If you&apos;re comfortable buying from an early startup, expect to work harder to understand and validate the product. Ask the vendor for documentation, and run a proof of concept before you rely on the capability. The advantage is that you can get involved early, potentially as a design partner shaping the product&apos;s roadmap and priorities.&lt;/p&gt;
&lt;h2&gt;The five patterns double as a buyer&apos;s checklist.&lt;/h2&gt;
&lt;p&gt;When you evaluate a security-for-AI product, look for answers to five questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What AI asset does the product protect, specifically? The &lt;a href=&quot;https://aidefensematrix.com&quot;&gt;AI Defense Matrix&lt;/a&gt; offers the terminology you can use.&lt;/li&gt;
&lt;li&gt;Can the product deliver value on its own, or does it require committing to a broader platform?&lt;/li&gt;
&lt;li&gt;Which pitched capabilities are fully available now, and which are still on the roadmap?&lt;/li&gt;
&lt;li&gt;Does your organization already own and operate this capability, perhaps as a feature of another team&apos;s product?&lt;/li&gt;
&lt;li&gt;What evidence supports each capability claim, and how much validation will you need to do yourself?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Answer the five questions early, and you&apos;ll know what the offering protects, whether you already own it, how it&apos;s packaged, whether it works today, and how much validation it needs from you. The &lt;a href=&quot;https://zeltser.com/ai-security-market-shape&quot;&gt;shape of AI security&lt;/a&gt; shows what the qualifying products reveal about this young market, and the &lt;a href=&quot;https://zeltser.com/ai-security-market-field-guide&quot;&gt;field guide&lt;/a&gt; helps you evaluate the products you shortlist.&lt;/p&gt;
</content:encoded></item><item><title>A Field Guide to the AI Security Market</title><link>https://zeltser.com/ai-security-market-field-guide</link><guid isPermaLink="true">https://zeltser.com/ai-security-market-field-guide</guid><description>The market for products that secure AI is crowded and hard to read, with overlapping categories and products that each do many jobs. With the AI Defense Matrix, you can ask the right questions, tell what a product was built for, and staff the gaps no product fills yet.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;The market for products that secure AI is crowded and hard to read, with overlapping categories and products that each do many jobs. With the AI Defense Matrix, you can ask the right questions, tell what a product was built for, and staff the gaps no product fills yet.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/ai-security-market-field-guide.BicigIO9.jpg&quot; alt=&quot;A dark museum cabinet of glowing blue specimens in a six-by-eight grid, the middle columns densely stocked and the outer columns nearly bare, echoing where products cluster on the AI Defense Matrix.&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/in/sounil&quot;&gt;Sounil Yu&lt;/a&gt; compares the general security product marketplace to a &lt;a href=&quot;https://cyberdefensematrix.com&quot;&gt;disorganized grocery store&lt;/a&gt;, where products pile up without aisles to organize them. The AI security market is such a store, too. Product categories overlap, vendors name products after ambitions rather than capabilities, and the same demo can support multiple pitches. Buyers can&apos;t find what they need, and sellers struggle to explain what their products do.&lt;/p&gt;
&lt;p&gt;Sounil and I built the &lt;a href=&quot;https://catalog.aidefensematrix.com&quot;&gt;AI Defense Matrix Catalog&lt;/a&gt; to make sense of the AI security marketplace. The catalog maps each product to the cells of the &lt;a href=&quot;https://aidefensematrix.com&quot;&gt;AI Defense Matrix&lt;/a&gt;, which crosses eight AI asset classes with six &lt;a href=&quot;https://www.nist.gov/cyberframework&quot;&gt;NIST CSF&lt;/a&gt; functions, so each cell pairs one asset class with one security function. It illustrates where products cluster and where coverage is light. I explored what that distribution reveals about the market&apos;s structure in the &lt;a href=&quot;https://zeltser.com/ai-security-market-shape&quot;&gt;shape of AI security&lt;/a&gt; article. This guide is the buyer&apos;s companion, with cluster-by-cluster questions to ask vendors when evaluating a product that secures AI.&lt;/p&gt;
&lt;h2&gt;Four clusters fill the crowded cells.&lt;/h2&gt;
&lt;p&gt;There are four product clusters in the catalog&apos;s crowded cells, each with its own questions to ask before you buy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI runtime guardrails:&lt;/strong&gt; The products in the catalog&apos;s largest cluster protect and monitor runtime AI data, meaning prompts, inference traffic, RAG content, and agent memory. These products filter what enters and leaves models, redact sensitive data, and flag policy violations. The pattern is familiar from web application firewalls and DLP, and most bundle protection and detection in one product. The catalog lists more than a hundred products that cover runtime AI data. Frank Wang writes in &lt;em&gt;Frankly Speaking&lt;/em&gt; that &quot;as an industry, we haven&apos;t even fully figured out &lt;a href=&quot;https://franklyspeaking.substack.com/p/has-ai-made-security-easier&quot;&gt;what guardrails we should be enforcing&lt;/a&gt;, or what level of autonomy we should grant an internal agent.&quot; Ask where the product inspects traffic, which prompts and other data leave your boundary, and what happens to your AI application when the vendor&apos;s service goes down.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agent identity and access:&lt;/strong&gt; Products in the second major cluster treat AI agents as non-human principals that need credentials, permission scopes, and lifecycle management. Identity incumbents such as SailPoint and Saviynt extended their platforms here, and dozens of startups joined them. Agents are a new kind of principal in the familiar discipline of identity management. Ask how the product handles delegation chains, where an agent acts for a human or through another agent, and how quickly you can revoke a misbehaving agent&apos;s credentials, including what happens to its in-flight delegations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Model scanning and posture:&lt;/strong&gt; Products in the third cluster inspect AI models and pipelines, scanning model files for tampering, testing for adversarial weaknesses, and inventorying which models run where. Think of it as vulnerability management and red teaming aimed at models. Ask whether your team can turn the findings into fixes, and which model formats and pipelines the scanner supports.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Orchestration and MCP security:&lt;/strong&gt; Products in the fourth cluster secure AI orchestration tools, including MCP servers, plugins, and the scaffolding around agents. Ask what the product can see across your agents and plugins, what it can restrict, and how it detects an agent acting outside its scope.&lt;/p&gt;
&lt;h2&gt;A few products cover the near-empty cells.&lt;/h2&gt;
&lt;p&gt;Fewer than a dozen products cover any Respond or Recover capability, and those few are an early sketch of AI incident response tooling, including agent containment through identity suspension, machine unlearning positioned as model recovery (Hirundo), and rollback of agent actions (Rubrik Agent Cloud). These functions depend on people more than on technology, as I explored in the &lt;a href=&quot;https://zeltser.com/ai-security-market-shape&quot;&gt;shape of AI security&lt;/a&gt; article. Treat response and recovery for AI incidents as work for your people, your playbooks, and the recovery tooling you already own.&lt;/p&gt;
&lt;h2&gt;Most products cover more cells than they were built for.&lt;/h2&gt;
&lt;p&gt;The AI Defense Matrix Catalog records how central each coverage claim is to the product&apos;s purpose. About a third of the coverage claims in the catalog are &quot;secondary&quot; or &quot;adjacent,&quot; meaning areas the product supports rather than its central purpose. Most products in the catalog cover three or more cells. When a vendor pitches broad coverage, ask what the product was built to do and which capabilities the vendor added along the way, then check the answers against the product&apos;s catalog entry.&lt;/p&gt;
&lt;p&gt;Add vendor viability to your evaluation checklist as well. Acquirers have already absorbed more than one in ten of the products in the catalog, and the market is only a few years old. Expect the crowded cells to keep consolidating. Ask about change-of-control terms, data portability, and the migration path if another vendor absorbs the product.&lt;/p&gt;
&lt;h2&gt;Decide which cells you need before you evaluate products.&lt;/h2&gt;
&lt;p&gt;Review the AI Defense Matrix against your AI security requirements to prepare for vendor discussions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;List the matrix cells that matter most for your AI deployments by pairing each AI asset you use with the functions your program needs for it.&lt;/li&gt;
&lt;li&gt;Check whether the products you already run cover those cells before you evaluate new ones.&lt;/li&gt;
&lt;li&gt;For crowded cells, select a few vendors and evaluate them in your own environment. Products within a cluster differ more in operations than in demos.&lt;/li&gt;
&lt;li&gt;Check each product&apos;s AI Defense Matrix mappings in the &lt;a href=&quot;https://catalog.aidefensematrix.com&quot;&gt;catalog&lt;/a&gt; to better steer those discussions.&lt;/li&gt;
&lt;li&gt;For cells you need to address that are empty in the catalog, devise a process, owned by a named person, instead of waiting for a product.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Match products to the cells your AI deployments need, and staff the rest with people and processes.&lt;/p&gt;
</content:encoded></item><item><title>Cyber Company Profiles: Independent Analysis of Security Vendors</title><link>https://zeltser.com/cyber-company-profiles</link><guid isPermaLink="true">https://zeltser.com/cyber-company-profiles</guid><description>Judging a security vendor from its own materials tells you little about how it compares to the rest. Cyber Company Profiles scores hundreds of cybersecurity companies from public sources.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Judging a security vendor from its own materials tells you little about how it compares to the rest. Cyber Company Profiles scores hundreds of cybersecurity companies from public sources.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/cyber-company-profiles.BuEKcZVR.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://cybercompanyprofiles.com&quot;&gt;Cyber Company Profiles&lt;/a&gt; is a free site that analyzes the market positions and product strategies of cybersecurity companies. My AI tooling produces each profile from public sources, sifts through the data to answer a fixed set of questions, and scores the answers consistently. I created this tool to understand the cybersecurity product landscape better.&lt;/p&gt;
&lt;p&gt;The questions the site answers are the ones I kept asking in my own work. As a buyer of security products, I wanted to see where the vendor was taking its portfolio and whether it would keep innovating after I committed. And I wanted to know whether a startup would still be around in two or five years. As a product leader, I wanted to understand the competitive dynamics and market pressures my roadmap had to withstand.&lt;/p&gt;
&lt;p&gt;Generic AI assistants will answer those questions inconsistently. The results change with each run, depending on how you direct the AI and what it finds that day. One investigation is not necessarily comprehensive or even correct, and when you rerun it, you get yet another answer. The variability also means you can&apos;t compare findings across companies.&lt;/p&gt;
&lt;h2&gt;Start with a company that&apos;s on your mind.&lt;/h2&gt;
&lt;p&gt;Cyber Company Profiles covers hundreds of cybersecurity companies, and the entire site is free to use. Read any company&apos;s profile to see its summary, its scores with the rationale behind each one, and a deep dive into the strategy. You can also use your AI agent to fetch the data through &lt;a href=&quot;https://cybercompanyprofiles.com/use-with-your-ai&quot;&gt;an API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&apos;re a buyer preparing to talk to a vendor, read that vendor&apos;s profile before the conversation. If you&apos;re a builder, search for your own company, or explore another vendor in your market. Compare the analysis against your own view, and when you disagree, follow the sources each profile cites and decide for yourself.&lt;/p&gt;
&lt;h2&gt;Standard questions make AI research comparable.&lt;/h2&gt;
&lt;p&gt;I built Cyber Company Profiles on three published frameworks, which supply the questions, the scoring scales, and the structure of each profile. For every company, AI gathers the public record, answers those questions, and scores the answers against those scales. Here are the frameworks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Market Readiness Scorecard&lt;/strong&gt; measures how well a company can compete in its security market. Its dimensions, such as market timing and team credibility, are based on my &lt;a href=&quot;https://zeltser.com/media/rsac-2026-sandbox/&quot;&gt;RSAC Innovation Sandbox analysis&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Security Product Creation Framework&lt;/strong&gt; organizes the strategy deep dive, the narrative part of a profile. I laid it out in my &lt;a href=&quot;https://zeltser.com/security-product-creation-framework&quot;&gt;guide to creating security products&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;My adaptation of Ben Vierck&apos;s &lt;a href=&quot;https://lit.ai/blog/2026/03/29/the-cost-of-software-is-now-zero/&quot;&gt;Defensibility Rubric&lt;/a&gt;&lt;/strong&gt; measures how well a company holds its position as AI lowers the cost of building software. I&apos;ve &lt;a href=&quot;https://zeltser.com/scoring-security-product-strategy&quot;&gt;applied his rubric to security vendors&lt;/a&gt; before.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cyber Company Profiles puts every company through the same questions and the same scales, making scores comparable across companies. A profile rates market readiness as &lt;em&gt;Emerging&lt;/em&gt;, &lt;em&gt;Established&lt;/em&gt;, or &lt;em&gt;Advanced&lt;/em&gt;, based on the company&apos;s score relative to those analyzed so far. &lt;em&gt;Established&lt;/em&gt; is the most common of the three, so the rating tells you at a glance whether a company scores above, within, or below the typical range.&lt;/p&gt;
&lt;p&gt;Every claim in a profile links to the public source behind it, so you can verify anything you plan to act on.&lt;/p&gt;
&lt;h2&gt;The analysis is independent and limited to public sources.&lt;/h2&gt;
&lt;p&gt;I run Cyber Company Profiles independently of the companies it covers. No company pays for coverage or sees its profile before publication. If a profile gets something wrong, anyone can report the error through the site.&lt;/p&gt;
&lt;p&gt;AI builds each profile solely from public signals, so the profiles have the limitations of any open-source intelligence analysis. AI has no access to internal metrics, customer references, or roadmaps that might change the conclusions. A company doing good work quietly will also look thinner than one that publishes often. And each profile is a snapshot that a company can outgrow. AI can also misread a source or miss the context a domain expert would catch.&lt;/p&gt;
&lt;p&gt;Even so, seeing how a company looks from the outside, based only on its public record, is useful. Treat each profile as one informed opinion to check against your own diligence.&lt;/p&gt;
</content:encoded></item><item><title>What 239 Products Reveal About the Shape of AI Security</title><link>https://zeltser.com/ai-security-market-shape</link><guid isPermaLink="true">https://zeltser.com/ai-security-market-shape</guid><description>The security-for-AI market is young and lopsided. Incumbents quickly extended their products into the AI versions of assets they already secured, while the more distinct AI assets drew startups and incumbents alike into markets that stay active and contested.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;The security-for-AI market is young and lopsided. Incumbents quickly extended their products into the AI versions of assets they already secured, while the more distinct AI assets drew startups and incumbents alike into markets that stay active and contested.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/ai-security-market-shape.XTMWP43t.jpg&quot; alt=&quot;An isometric grid of translucent cells on a dark background, with glowing amber and blue columns rising to different heights from some cells while many others stay flat, echoing the uneven product coverage across the AI Defense Matrix.&quot; /&gt;&lt;/p&gt;&lt;p&gt;The &lt;a href=&quot;https://catalog.aidefensematrix.com&quot;&gt;AI Defense Matrix Catalog&lt;/a&gt; tracks products that defend AI systems, mapping each one to the &lt;a href=&quot;https://aidefensematrix.com&quot;&gt;AI Defense Matrix&lt;/a&gt;. &lt;a href=&quot;https://www.linkedin.com/in/sounil&quot;&gt;Sounil Yu&lt;/a&gt; and I maintain the catalog with the help of AI and community contributions. The goal is to understand how each product fits into the security-for-AI ecosystem.&lt;/p&gt;
&lt;p&gt;The matrix crosses eight AI asset classes with six &lt;a href=&quot;https://www.nist.gov/cyberframework&quot;&gt;NIST CSF&lt;/a&gt; functions, so every cell pairs an asset with a security activity. As of this writing, the catalog lists 239 products. Their distribution across the matrix is uneven: Some cells are dense with products, while others have no coverage. What does that tell us about the AI security marketplace and the role of people, process, and technology?&lt;/p&gt;
&lt;h2&gt;Most products cluster in a few asset classes and functions.&lt;/h2&gt;
&lt;p&gt;Each mapping of a product to a matrix cell is one coverage claim, and most products cover several cells. The majority of products in the AI Defense Matrix Catalog protect the following AI asset classes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=runtime-ai-data&quot;&gt;Runtime AI Data&lt;/a&gt;&lt;/strong&gt; (244 coverage claims): User prompts, inference inputs, RAG content, vector DB content, persistent agent memory, and interaction history&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-orchestration-tools&quot;&gt;AI Orchestration Tools&lt;/a&gt;&lt;/strong&gt; (212 coverage claims): Agentic orchestration tools, plus their plugins, skills, hooks, system prompts, scaffolding, harnesses, configuration settings, and MCP clients on user devices&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-agent-identities&quot;&gt;AI Agent Identities&lt;/a&gt;&lt;/strong&gt; (142 coverage claims): AI agents as non-human principals, plus credentials, keys, permission scopes, service accounts, and delegation chains across agents and tools&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-model&quot;&gt;AI Model&lt;/a&gt;&lt;/strong&gt; (116 coverage claims): The AI model itself, including its weights, integrity, provenance, and selection&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following activities that &lt;a href=&quot;https://www.nist.gov/cyberframework&quot;&gt;NIST CSF&lt;/a&gt; expects of a security program are best represented in the catalog:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?function=protect&quot;&gt;Protect&lt;/a&gt;&lt;/strong&gt; (312 coverage claims): &quot;Safeguards to manage the organization&apos;s cybersecurity risks are used&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?function=detect&quot;&gt;Detect&lt;/a&gt;&lt;/strong&gt; (302 coverage claims): &quot;Possible cybersecurity attacks and compromises are found and analyzed&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?function=identify&quot;&gt;Identify&lt;/a&gt;&lt;/strong&gt; (202 coverage claims): &quot;The organization&apos;s current cybersecurity risks are understood&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The totals above therefore exceed the catalog&apos;s 239-product count. Only 16 products in the catalog defend a single cell.&lt;/p&gt;
&lt;p&gt;Almost half the products cover the single most crowded cell, which is &lt;a href=&quot;https://catalog.aidefensematrix.com/?cell=runtime-ai-data::protect&quot;&gt;protecting runtime AI data&lt;/a&gt;. More than a quarter of the grid&apos;s 48 asset-and-function cells are empty.&lt;/p&gt;
&lt;h2&gt;Products cluster where technology can do the work.&lt;/h2&gt;
&lt;p&gt;When Sounil applied NIST CSF functions to the &lt;a href=&quot;https://cyberdefensematrix.com&quot;&gt;Cyber Defense Matrix&lt;/a&gt;, he explained the coverage imbalance. He noted that &quot;technology plays a much greater role in Identify and Protect&quot;; dependency on technology diminishes across Detect, Respond, and Recover while dependency on people grows, and dependency on process changes little across them. That continuum applies to any asset that those functions organize, including AI-specific ones. The catalog shows a more pronounced version of that gradient: Coverage stays dense through Detect, where technology still does much of the work, and drops steeply in the functions that depend on people.&lt;/p&gt;
&lt;p&gt;The AI Defense Matrix includes the &lt;a href=&quot;https://catalog.aidefensematrix.com/?function=govern&quot;&gt;Govern&lt;/a&gt; function, which the Cyber Defense Matrix doesn&apos;t have. It&apos;s one of the least-covered functions in the catalog because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Govern represents primarily human decisions, judgment, and oversight.&lt;/li&gt;
&lt;li&gt;The catalog captures security for AI, so it leaves out general governance tools such as GRC platforms.&lt;/li&gt;
&lt;li&gt;AI governance is also young, and we might see more products that cover AI governance as this function evolves.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The people end of the continuum is nearly bare. Nine products in the catalog cover any &lt;a href=&quot;https://catalog.aidefensematrix.com/?function=respond&quot;&gt;Respond&lt;/a&gt; capability for AI assets, and two cover &lt;a href=&quot;https://catalog.aidefensematrix.com/?function=recover&quot;&gt;Recover&lt;/a&gt;. We deliberately searched for these and mostly found announcements, future-tense capabilities, and general-purpose recovery tools marketed with an AI label.&lt;/p&gt;
&lt;h2&gt;Established vendors covered the familiar assets, and new markets formed around the rest.&lt;/h2&gt;
&lt;p&gt;Some AI asset categories are variations of traditional assets that established vendors have already secured in the pre-AI era. Those vendors extended their coverage to the AI versions, leaving less room for startups in these rows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-generated-code&quot;&gt;AI-generated code&lt;/a&gt; is still code, so application security firms such as Checkmarx, Snyk, and Semgrep cover it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=training-data&quot;&gt;Training data&lt;/a&gt; is still data, so data security firms such as BigID and Cyera cover it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://catalog.aidefensematrix.com/?asset=ai-workload-platforms&quot;&gt;AI workload platforms&lt;/a&gt; are still infrastructure, so cloud security firms such as Wiz and Tenable cover them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In contrast, runtime AI data, agent orchestration, the model, and agent identities are more distinct, new types of AI assets that are distant from traditional asset categories. As a result, a new market of vendors formed around each of them, mixing startups and incumbents, with AI-native firms such as Lakera and Astrix Security alongside Palo Alto Networks and Okta. These markets are active, still unsettled.&lt;/p&gt;
&lt;p&gt;Across the whole market, established security vendors are absorbing AI security by extending their own products and acquiring startups. In a &lt;a href=&quot;https://www.returnonsecurity.com/p/ai-security-absorption-2023-2025&quot;&gt;funding analysis&lt;/a&gt; spanning three years, Mike Privette found that all AI security funding, from products securing AI to products using it for security, accounted for 9% of cybersecurity funding deals and 3% of the dollars invested. He interprets these dynamics as absorption, similar to what occurred in cloud security. More than one in ten of the AI Defense Matrix Catalog entries have already been acquired, in a market only a few years old.&lt;/p&gt;
&lt;h2&gt;The contested cells are where the market is still forming.&lt;/h2&gt;
&lt;p&gt;Established vendors expand their products and startups dream up new solutions, looking for ways to help organizations defend AI-specific assets. The AI Defense Matrix Catalog shows products crowding the cells where technology plays a key role, and thinning out elsewhere. Though the market for such products is still young, its contested areas are where innovation and acquisitions will continue to occur.&lt;/p&gt;
</content:encoded></item><item><title>Benchmark Your AI Security Decisions: A Five-Minute Survey</title><link>https://zeltser.com/ai-security-survey</link><guid isPermaLink="true">https://zeltser.com/ai-security-survey</guid><description>Answer ten questions about how your organization secures AI, and you get a peer benchmark in return. Sounil Yu and I will publish findings on which AI assets peers protect, who decides, and where controls come from.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Answer ten questions about how your organization secures AI, and you get a peer benchmark in return. Sounil Yu and I will publish findings on which AI assets peers protect, who decides, and where controls come from.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/ai-security-survey.3wPBkF1v.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;Security leaders are making AI security decisions with almost no data about how their peers handle the same choices. Existing surveys measure AI adoption, incidents, and governance policies, but not which assets organizations protect or who makes the decisions.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/in/sounil&quot;&gt;Sounil Yu&lt;/a&gt; and I built a &lt;a href=&quot;https://survey.aidefensematrix.com/p/survey202607&quot;&gt;short survey&lt;/a&gt; to start closing that gap. We&apos;d like your help turning it into a benchmark the whole community can use. If securing AI is part of your job, whatever your title, the survey is for you.&lt;/p&gt;
&lt;p&gt;The survey asks how your organization secures AI in practice. Its ten questions take about five minutes and cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which AI-related assets your organization considers part of its attack surface.&lt;/li&gt;
&lt;li&gt;Which of those assets you protect with at least one dedicated control.&lt;/li&gt;
&lt;li&gt;Who decides how your organization secures AI.&lt;/li&gt;
&lt;li&gt;Whether your AI security controls come from existing tools, specialized vendors, AI providers, or tools you build in-house.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&apos;ll get a peer benchmark in return. Sounil and I will publish the aggregate findings, so you can compare your approach against others facing the same decisions.&lt;/p&gt;
&lt;p&gt;Your answers are anonymous. If you want to see the findings early, leave your email at the end; we&apos;ll use it only for that mailing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://survey.aidefensematrix.com/p/survey202607&quot;&gt;Take the survey&lt;/a&gt;, and pass it along to a peer who owns AI security.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We&apos;ll keep the survey open for a few weeks. The more security leaders respond, the more useful the benchmark becomes for all of us.&lt;/p&gt;
</content:encoded></item><item><title>A Report Template for Malware Analysis</title><link>https://zeltser.com/malware-analysis-report</link><guid isPermaLink="true">https://zeltser.com/malware-analysis-report</guid><description>A malware report is only as useful as readers&apos; ability to find in it what they need. This customizable template organizes the findings into a coherent structure, so a responder, a manager, or a fellow researcher can benefit from the analysis.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;A malware report is only as useful as readers&apos; ability to find in it what they need. This customizable template organizes the findings into a coherent structure, so a responder, a manager, or a fellow researcher can benefit from the analysis.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/malware-analysis-report-template.CWSpHzCL.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;Malware analysis produces many insights about a sample, its capabilities, and detection opportunities. But communicating those details so others can act on them isn&apos;t easy. The malware analysis report template helps with that. It gives analysts a structured way to present what they found, from defender-actionable findings to the supporting analysis behind them.&lt;/p&gt;
&lt;h2&gt;Download the Template&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Download the template and make it your own.&lt;/strong&gt; It&apos;s available as &lt;a href=&quot;https://zeltser.com/media/archive/malware-analysis-report-template.md&quot;&gt;Markdown&lt;/a&gt; and &lt;a href=&quot;https://zeltser.com/media/archive/malware-analysis-report-template.docx&quot;&gt;Word&lt;/a&gt; files.&lt;/p&gt;
&lt;p&gt;You can also &lt;strong&gt;use my MCP server with your AI agent&lt;/strong&gt; to generate or improve malware analysis reports using this template and my guidance. It&apos;s designed to offer insights without receiving your sensitive data. To use it, add &lt;code&gt;https://website-mcp.zeltser.com/mcp&lt;/code&gt; to your AI agent&apos;s config.&lt;/p&gt;
&lt;p&gt;If you&apos;d rather build your own tooling around my guidance, you can also download &lt;a href=&quot;https://zeltser.com/media/docs/malware-analysis-writing-guidelines.yaml&quot;&gt;my insights as a YAML file&lt;/a&gt;, which your AI tool can use in a way that fits your needs.&lt;/p&gt;
&lt;h2&gt;How the Report Is Organized&lt;/h2&gt;
&lt;p&gt;The report template organizes its content so readers can quickly find what they need. For authors, it offers placeholders and guidance to capture, explain, and share their findings. The template works for the analysis of a single file and a chain of related artifacts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Executive Summary:&lt;/strong&gt; A paragraph explaining what the sample is, how it gets in, and what it does.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sample Snapshot:&lt;/strong&gt; A quick-reference profile covering the malware family and confidence, key capabilities, target platform, the primary artifact, and the infection vector.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Malware Family Identification:&lt;/strong&gt; A structured record of the family the sample belongs to, the basis for that call (such as a YARA rule, string overlap, or code reuse), and the confidence level.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Component Inventory:&lt;/strong&gt; One row per file or artifact in the sample set, capturing role, file name, type, and notes, with a short flow description for multi-component samples.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Runtime Requirements:&lt;/strong&gt; What the sample needs to run, including OS dependencies (DLLs, registry keys, runtime versions) and ecosystem dependencies (permissions, manifest declarations, marketplace identifiers, abused APIs, etc.).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; Where the sample and supporting data came from, such as internal telemetry, OSINT, or partner sharing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Capabilities:&lt;/strong&gt; Observed behaviors mapped to the &lt;a href=&quot;https://github.com/MBCProject/mbc-markdown&quot;&gt;Malware Behavior Catalog&lt;/a&gt;, including anti-analysis behaviors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Indicators of Compromise:&lt;/strong&gt; Indicators in a structured table covering hashes, IP addresses, domain names, cloud resources, network artifacts, and host artifacts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Analysis Details:&lt;/strong&gt; The supporting evidence behind the key findings, with subsections for automated, static properties, behavioral, memory, and code analysis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What We Don&apos;t Know:&lt;/strong&gt; What the analysis couldn&apos;t resolve, couldn&apos;t trigger, or couldn&apos;t verify.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Infection Vector (Optional):&lt;/strong&gt; How the sample reached the target, referencing &lt;a href=&quot;https://attack.mitre.org&quot;&gt;MITRE ATT&amp;amp;CK&lt;/a&gt; Initial Access techniques where applicable, with the distribution URL or source path when known.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Detection Engineering (Optional):&lt;/strong&gt; Detection logic that generalizes beyond the listed indicators, such as a &lt;a href=&quot;https://virustotal.github.io/yara/&quot;&gt;YARA&lt;/a&gt; rule keyed to the family. &lt;a href=&quot;https://sigmahq.io/&quot;&gt;Sigma&lt;/a&gt; and other SIEM or EDR rules are optional.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;About this Report:&lt;/strong&gt; The report metadata, including title, authorship, classification, follow-up contact, and a changelog.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Appendix: Analysis Environment:&lt;/strong&gt; The environment used for the analysis, such as &lt;a href=&quot;https://remnux.org&quot;&gt;REMnux&lt;/a&gt; or &lt;a href=&quot;https://github.com/mandiant/flare-vm&quot;&gt;FLARE VM&lt;/a&gt;, plus the sandbox configuration, etc., so other analysts can reproduce the work.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Appendix: Analysis Scripts (Optional):&lt;/strong&gt; Links to any config extractors, deobfuscation scripts, or notebooks used, so others can reproduce the findings.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Frameworks Behind the Template&lt;/h2&gt;
&lt;p&gt;The template incorporates established frameworks where they fit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/MBCProject/mbc-markdown&quot;&gt;Malware Behavior Catalog&lt;/a&gt; is the practitioner-facing taxonomy for what malware does, and the Capabilities section maps the sample&apos;s behaviors to it. &lt;a href=&quot;https://maecproject.github.io/&quot;&gt;MAEC&lt;/a&gt; is the machine-readable sibling specification.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://attack.mitre.org&quot;&gt;MITRE ATT&amp;amp;CK&lt;/a&gt; names adversary techniques. The Infection Vector section references its Initial Access techniques, and the Capabilities section cites an ATT&amp;amp;CK technique in its Notes column when a behavior has no fitting MBC entry.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;David Bianco&apos;s &lt;a href=&quot;https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html&quot;&gt;Pyramid of Pain&lt;/a&gt; is a ranking of indicators by cost to the adversary. Hashes are trivial to change. Behavioral artifacts cost the adversary more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://www.dni.gov/files/documents/ICD/ICD-203.pdf&quot;&gt;ICD-203&lt;/a&gt; defines the high, moderate, and low confidence levels the report uses to rate its malware family identification.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Related Cybersecurity Templates&lt;/h2&gt;
&lt;p&gt;A malware analysis report describes the sample and its artifacts. Other templates help you respond to incidents involving the malware, investigate the threat actor, and understand the exposure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://zeltser.com/incident-response-report-template&quot;&gt;Incident response report template&lt;/a&gt;:&lt;/strong&gt; Use it when handling the incident that involves the malware sample.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://zeltser.com/cyber-threat-intel-report-template&quot;&gt;Cyber threat intelligence report template&lt;/a&gt;:&lt;/strong&gt; Use it when shifting from the sample to the actor or campaign behind it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://zeltser.com/high-profile-vulnerabilities&quot;&gt;Vulnerability investigation brief template&lt;/a&gt;:&lt;/strong&gt; Use it when the sample arrived through a malicious dependency, such as a backdoored open-source package, or through an unpatched vulnerability.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Templates for Cybersecurity Executive Briefings</title><link>https://zeltser.com/cyber-brief-templates-for-decision-makers</link><guid isPermaLink="true">https://zeltser.com/cyber-brief-templates-for-decision-makers</guid><description>In an effective executive brief, you lead with the bottom line and what a finding means for your organization. Use these four customizable templates to do exactly that across threat intel, vulnerabilities, incidents, and assessments.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;In an effective executive brief, you lead with the bottom line and what a finding means for your organization. Use these four customizable templates to do exactly that across threat intel, vulnerabilities, incidents, and assessments.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/cyber-brief-templates-for-decision-makers.B3dBR0D_.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;We often update decision-makers about threat actor campaigns, celebrity vulnerabilities, security incidents, and the findings of a security assessment. The following templates for executive briefings structure the narrative into a short document that captures the details executives want to see. Customize and use them to enable informed decisions.&lt;/p&gt;
&lt;h2&gt;Customize and Use the Templates&lt;/h2&gt;
&lt;p&gt;I prepared the following templates for cybersecurity briefs based on my experience as a CISO and hands-on practitioner. Adjust them to the way your organization prefers to capture and communicate such details.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Brief&lt;/th&gt;
&lt;th&gt;What it covers&lt;/th&gt;
&lt;th&gt;When to use&lt;/th&gt;
&lt;th&gt;Download&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cyber Threat Intelligence&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Threat actor or campaign analysis&lt;/td&gt;
&lt;td&gt;Use it to distill a &lt;a href=&quot;https://zeltser.com/cyber-threat-intel-report-template&quot;&gt;full CTI report&lt;/a&gt; for leaders, or to synthesize vendor and government reporting on an emerging threat.&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://zeltser.com/media/archive/cyber-threat-intel-brief-template.md&quot;&gt;Markdown&lt;/a&gt;,&lt;br /&gt;&lt;a href=&quot;https://zeltser.com/media/archive/cyber-threat-intel-brief-template.docx&quot;&gt;Word&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vulnerability Investigation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Celebrity vulnerability assessment&lt;/td&gt;
&lt;td&gt;Use it when a vendor or government advisory discusses a vulnerability your organization needs to evaluate. Base it on the details available about the issue and your organization&apos;s exposure to it.&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://zeltser.com/media/archive/vulnerability-investigation-brief-template.md&quot;&gt;Markdown&lt;/a&gt;,&lt;br /&gt;&lt;a href=&quot;https://zeltser.com/media/archive/vulnerability-investigation-brief-template.docx&quot;&gt;Word&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Incident Response&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cybersecurity incident update&lt;/td&gt;
&lt;td&gt;Use it during an incident, after containment, or for an incident too small for a full report. Distill from a &lt;a href=&quot;https://zeltser.com/incident-response-report-template&quot;&gt;full IR report&lt;/a&gt;, or use the brief as your working document.&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://zeltser.com/media/archive/incident-response-brief-template.md&quot;&gt;Markdown&lt;/a&gt;,&lt;br /&gt;&lt;a href=&quot;https://zeltser.com/media/archive/incident-response-brief-template.docx&quot;&gt;Word&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cybersecurity Assessment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Findings from a security assessment&lt;/td&gt;
&lt;td&gt;Use it to distill a &lt;a href=&quot;https://zeltser.com/security-assessment-report-template&quot;&gt;full assessment report&lt;/a&gt; for leaders, after a penetration test, vulnerability assessment, or other findings-based engagement.&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://zeltser.com/media/archive/security-assessment-brief-template.md&quot;&gt;Markdown&lt;/a&gt;,&lt;br /&gt;&lt;a href=&quot;https://zeltser.com/media/archive/security-assessment-brief-template.docx&quot;&gt;Word&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Design Criteria for the Briefs&lt;/h2&gt;
&lt;p&gt;I designed the templates to incorporate the key elements from the &lt;a href=&quot;https://zeltser.com/cybersecurity-writing-course&quot;&gt;Cybersecurity Writing course&lt;/a&gt; that I teach at SANS Institute. All four reflect content I&apos;ve produced and received as a security professional:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bottom line first.&lt;/strong&gt; Each brief opens with a paragraph that immediately captures the key takeaways important to the reader. State what happened, who&apos;s behind it or what&apos;s vulnerable, and the most important defensive action.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Organizational context.&lt;/strong&gt; Each brief includes a placeholder for interpreting findings in your organization&apos;s context. For vulnerabilities, that means a significance ranking adjusted for exposure, compensating controls, data sensitivity, and asset criticality. For threat intelligence, that means calibrated confidence in your assessment and your exposure to the campaign. For incidents, that means impact in terms your decision-makers care about. For an assessment, that means findings rated by risk to the organization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Action informed by analysis.&lt;/strong&gt; Each brief includes a table for capturing and driving action informed by the analysis. The CTI and Vulnerability briefs call it Defensive Actions. The IR brief calls it Response Actions, drawn from the response phases of Identification, Containment, Eradication, and Recovery. The Security Assessment Brief calls it Recommended Actions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you don&apos;t know.&lt;/strong&gt; Most of these briefs include a &quot;What We Don&apos;t Know&quot; section listing the assessment gaps. Naming the gaps signals discipline and sets expectations for new information. Over time, that practice builds the executive trust that makes future briefs land faster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Built for skimming.&lt;/strong&gt; Each brief uses tables for facts and actions, with headings that serve as landmarks. Readers can quickly find the details they need without reading the brief end to end.&lt;/p&gt;
&lt;h2&gt;Pair the Briefs with Longer Reports&lt;/h2&gt;
&lt;p&gt;Briefings for decision-makers generally draw on a longer source that captures the details of the analysis. I created the following resources to help you build such baseline materials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://zeltser.com/cyber-threat-intel-report-template&quot;&gt;Cyber Threat Intelligence Report Template&lt;/a&gt; is the full methodology behind the CTI Brief.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zeltser.com/vulnerability-management-hamster-wheel&quot;&gt;Escaping the Vulnerability Management Hamster Wheel&lt;/a&gt; is the context-adjusted significance discipline behind the Vulnerability Investigation Brief.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zeltser.com/incident-response-report-template&quot;&gt;A Report Template for Cybersecurity and Privacy Incident Response&lt;/a&gt; is the full IR methodology behind the Incident Response Brief.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://zeltser.com/security-assessment-report-template&quot;&gt;A Report Template for Security Assessments&lt;/a&gt; is the full methodology behind the Security Assessment Brief.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the briefs in your conversations with decision-makers. Reserve the long-form reports for when you need to back the brief with detail, share findings with technical audiences, and build institutional memory beyond the contents of the brief.&lt;/p&gt;
</content:encoded></item><item><title>Handling High-Profile Vulnerabilities</title><link>https://zeltser.com/high-profile-vulnerabilities</link><guid isPermaLink="true">https://zeltser.com/high-profile-vulnerabilities</guid><description>When a high-profile vulnerability surfaces, executives and customers want to know whether it affects you. With a one-page brief and a short process, you can capture the key details and reach the answer without scrambling.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;When a high-profile vulnerability surfaces, executives and customers want to know whether it affects you. With a one-page brief and a short process, you can capture the key details and reach the answer without scrambling.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/high-profile-vulnerabilities.D2GlNats.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;As a CISO, I received the same question whenever a vulnerability became famous. Are we affected? A colleague shared the headline, wanting to know whether it affected the business. A customer&apos;s security team sent a questionnaire asking whether we&apos;d patched it. A repeatable process for investigating your exposure to a vulnerability lets you address these concerns without scrambling.&lt;/p&gt;
&lt;p&gt;First, a useful resource for you. Then, a discussion about what&apos;s behind it:&lt;/p&gt;
&lt;p&gt;I created a short Vulnerability Investigation Brief you can use to capture and share your analysis of an important vulnerability and your exposure to it. &lt;strong&gt;Download the template and make it your own&lt;/strong&gt;, as &lt;a href=&quot;https://zeltser.com/media/archive/vulnerability-investigation-brief-template.md&quot;&gt;Markdown&lt;/a&gt; and &lt;a href=&quot;https://zeltser.com/media/archive/vulnerability-investigation-brief-template.docx&quot;&gt;Word&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now you have the template. It&apos;s designed for high-profile vulnerabilities about which you need to communicate with stakeholders, for instance in &quot;celebrity&quot; vulnerability situations. Let&apos;s explore how to get the most out of the template.&lt;/p&gt;
&lt;h2&gt;A checklist for assessing your exposure.&lt;/h2&gt;
&lt;p&gt;You should &lt;a href=&quot;https://zeltser.com/vulnerability-management-hamster-wheel&quot;&gt;design your vulnerability management program&lt;/a&gt; so that routine vulnerabilities are handled routinely and automatically with minimal ad-hoc attention. But some vulnerabilities, including those that arise from third-party dependencies, require special attention.&lt;/p&gt;
&lt;p&gt;When a vulnerability of such significance surfaces, go through the following steps to understand your exposure:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirm you even run the affected product, version, and configuration. That takes &lt;a href=&quot;https://zeltser.com/ciso-mindset&quot;&gt;asset visibility&lt;/a&gt;, and you often find you don&apos;t, which closes the investigation.&lt;/li&gt;
&lt;li&gt;Check whether it&apos;s realistic for an attacker to reach the flaw. A disabled feature, a blocked port, or a segmented network can remove your exposure or buy you time.&lt;/li&gt;
&lt;li&gt;Re-rank the vendor&apos;s worst-case severity for your exposure, compensating controls, data sensitivity, and asset criticality.&lt;/li&gt;
&lt;li&gt;Convert the call into an action someone owns by a real date, or decide it needs none. An assessment nobody acts on is &lt;a href=&quot;https://zeltser.com/chief-opinion-officer-to-action-taker&quot;&gt;only an opinion&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These steps apply to a compromised dependency that you need to investigate, such as a backdoored software package. In this case, if you determine that you&apos;re affected, you&apos;ll shift to incident response mode (I have a &lt;a href=&quot;https://zeltser.com/incident-response-report-template&quot;&gt;template for IR&lt;/a&gt; too).&lt;/p&gt;
&lt;h2&gt;Communicating the vulnerability investigation.&lt;/h2&gt;
&lt;p&gt;The Vulnerability Investigation Brief is designed to address the questions that your colleagues, especially executives, want answered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bottom Line&lt;/strong&gt; explains what the vulnerability is and how it affects the organization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quick Facts&lt;/strong&gt; summarizes key details about the situation with placeholders to explain the significance of the vulnerability, affected resources, attack vectors, and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Are We Affected?&lt;/strong&gt; offers guidance for answering this critical question.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Defensive Actions&lt;/strong&gt; captures the work that needs to be done, complete with who will be doing what, why, and when, to move the situation forward.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What We Don&apos;t Know&lt;/strong&gt; lets you capture the gaps, which signals discipline and tells the reader when to expect more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The template is designed for the internal audience. But the details captured within it are the foundation for an outbound message you might need to draft for your customers and other external parties. Work with the right comms team or person for externally-facing content.&lt;/p&gt;
&lt;h2&gt;Don&apos;t let the hype take over.&lt;/h2&gt;
&lt;p&gt;Every so often, a vulnerability arrives with its own branding. I first saw the term &quot;celebrity&quot; vulnerabilities in &lt;a href=&quot;https://www.trustwave.com/hubfs/Web/Library/Documents_pdf/13167_2015-trustwave-global-security-report.pdf&quot;&gt;Trustwave&apos;s 2015 report&lt;/a&gt;, which defined it as vulnerabilities that &quot;receive memorable names, and sometimes logos, from their discoverers.&quot; Security expert &lt;a href=&quot;https://www.troyhunt.com/pragmatic-thoughts-on-cloudbleed/&quot;&gt;Troy Hunt later observed&lt;/a&gt; that such branding &quot;has a way of drumming up excitement and sensationalism in a way that isn&apos;t always commensurate with the actual risk.&quot;&lt;/p&gt;
&lt;p&gt;The celebrity vulnerability might be minor and you might not even be exposed to it. Yet, the media hype about the issue can draw outsized attention that distracts from more important work, as questions about it ricochet through the company and to its suppliers.&lt;/p&gt;
&lt;p&gt;Don&apos;t get distracted by the noise. Run the vulnerability through the checklist and template to address any concern calmly, celebrity or not.&lt;/p&gt;
</content:encoded></item><item><title>Securing API Keys on Your Workstation</title><link>https://zeltser.com/securing-api-keys-on-your-workstation</link><guid isPermaLink="true">https://zeltser.com/securing-api-keys-on-your-workstation</guid><description>Every dev tool you grant API access to, AI assistants included, can read the keys within its reach. No setup removes that risk entirely, so the goal is fewer secrets exposed and less damage when one leaks.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;em&gt;Every dev tool you grant API access to, AI assistants included, can read the keys within its reach. No setup removes that risk entirely, so the goal is fewer secrets exposed and less damage when one leaks.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://zeltser.com/assets/securing-api-keys-on-your-workstation.DZEN6qaS.jpg&quot; alt=&quot;Article illustration&quot; /&gt;&lt;/p&gt;&lt;p&gt;Developer workstations accumulate API keys and other secrets that malware can read from .env files, shell history, and saved CLI credentials. An infostealer only has to steal the key, and using it skips the second authentication factor a person would need. AI agents increase the risk, since they generally require broad access to be useful.&lt;/p&gt;
&lt;p&gt;For example, attackers behind the &lt;a href=&quot;https://blog.gitguardian.com/the-nx-s1ngularity-attack-inside-the-credential-leak/&quot;&gt;s1ngularity attack&lt;/a&gt; compromised &lt;em&gt;nx&lt;/em&gt;, a popular JavaScript build tool, and pulled API keys and SSH keys from over a thousand developer machines. The attackers also weaponized developers&apos; AI coding agents, &lt;a href=&quot;https://www.wiz.io/blog/s1ngularity-supply-chain-attack&quot;&gt;prompting installed CLIs&lt;/a&gt; to comb the filesystem for secrets.&lt;/p&gt;
&lt;p&gt;Several free open-source tools can help reduce the number of secrets you leave exposed and limit the damage when one of them leaks.&lt;/p&gt;
&lt;h2&gt;Start by seeing what&apos;s already exposed.&lt;/h2&gt;
&lt;p&gt;Before you change anything, scan your workstation to learn where secrets already live. A good starting point is &lt;a href=&quot;https://github.com/boostsecurityio/bagel&quot;&gt;bagel&lt;/a&gt;, which reports secrets and insecure settings across your system, including AI tool credential files, cloud keys, and unsafe Git or SSH configurations.&lt;/p&gt;
&lt;p&gt;For secrets already committed to Git, a verifying scanner such as &lt;a href=&quot;https://github.com/trufflesecurity/trufflehog&quot;&gt;TruffleHog&lt;/a&gt; can not only locate the access keys but also test them against the provider to determine whether they still work.&lt;/p&gt;
&lt;p&gt;Your first scan will probably find more secrets than you remember creating. Re-run it after each cleanup step to confirm the count drops.&lt;/p&gt;
&lt;h2&gt;Aim for four reachable wins.&lt;/h2&gt;
&lt;p&gt;Your tools need access to the API keys and tokens to do their job, so reduce both the chances they&apos;re abused and the damage when one leaks. To do that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep secrets out of plaintext files.&lt;/li&gt;
&lt;li&gt;Stop them from spreading into Git and logs.&lt;/li&gt;
&lt;li&gt;Require your approval before a sensitive key gets used.&lt;/li&gt;
&lt;li&gt;Minimize the damage if a key leaks.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Your exposure and convenience depend on where you put your secrets, so let&apos;s start there.&lt;/p&gt;
&lt;h2&gt;Weigh exposure against convenience.&lt;/h2&gt;
&lt;p&gt;You can keep a secret in several places, from a plaintext file to a vault that prompts you each time. More protection usually means less convenience, so the right store depends on the key&apos;s sensitivity, what you&apos;re defending against, and how much inconvenience you&apos;re willing to tolerate.&lt;/p&gt;
&lt;p&gt;A secret&apos;s exposure in a store is based on two factors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Whether software running as you can read it without your approval, and&lt;/li&gt;
&lt;li&gt;How many other secrets an attacker gets by compromising that store.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The table below rates the store options on both, so you can pick the approach that works for you.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Silent read by malware running as you?&lt;/th&gt;
&lt;th&gt;Blast radius of one compromise&lt;/th&gt;
&lt;th&gt;Automation / headless&lt;/th&gt;
&lt;th&gt;Key tradeoff&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Plaintext File (e.g., .env)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;The keys in that file&lt;/td&gt;
&lt;td&gt;Works everywhere&lt;/td&gt;
&lt;td&gt;Most leaks start here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OS Keychain&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes, while unlocked&lt;/td&gt;
&lt;td&gt;That store&apos;s items&lt;/td&gt;
&lt;td&gt;Good, auto-unlocked&lt;/td&gt;
&lt;td&gt;Once unlocked, code running as you can read it, with a per-item prompt on macOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Password Vault (e.g., 1Password)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No, each use needs approval&lt;/td&gt;
&lt;td&gt;The whole authorized account&lt;/td&gt;
&lt;td&gt;Poor, needs a person to approve&lt;/td&gt;
&lt;td&gt;One approval, or an open session, exposes the account&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scoped Password Vault&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Only that one vault&lt;/td&gt;
&lt;td&gt;Poor, still interactive&lt;/td&gt;
&lt;td&gt;Needs an extra limited identity to set up&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service Account&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The token sits at rest&lt;/td&gt;
&lt;td&gt;Only its granted vaults&lt;/td&gt;
&lt;td&gt;Good, non-interactive&lt;/td&gt;
&lt;td&gt;The token unlocks everything in its scope&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;The OS keychain is convenient but stays unlocked.&lt;/h2&gt;
&lt;p&gt;If you&apos;re not sure where to start, the OS keychain is a good default, since infostealers often focus on plaintext files. Every major desktop platform includes one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;macOS:&lt;/strong&gt; The &lt;a href=&quot;https://support.apple.com/guide/keychain-access/welcome/mac&quot;&gt;macOS Keychain&lt;/a&gt;, driven by the &lt;a href=&quot;https://keith.github.io/xcode-man-pages/security.1.html&quot;&gt;security&lt;/a&gt; command.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows:&lt;/strong&gt; &lt;a href=&quot;https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0&quot;&gt;Credential Manager&lt;/a&gt;, via &lt;a href=&quot;https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmdkey&quot;&gt;cmdkey&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux:&lt;/strong&gt; The &lt;a href=&quot;https://specifications.freedesktop.org/secret-service-spec/latest/&quot;&gt;Secret Service&lt;/a&gt;, via &lt;a href=&quot;https://man.archlinux.org/man/secret-tool.1.en&quot;&gt;secret-tool&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The keychain is unlocked the entire time you&apos;re logged in, which is both convenient and risky. The convenience is that your tools read a key without prompting you, even ones running in the background or headless. Your system usually unlocks it at login and holds it open for the session, so code running as you can read the keys it stores. On Windows and Linux, that code reads the store without prompting. macOS adds a per-item prompt when an app tries to access something it didn&apos;t store, though there are ways around it. A file scraper still finds nothing, but code that reads the keychain directly gets the key.&lt;/p&gt;
&lt;h2&gt;Getting the secret to a tool is its own task.&lt;/h2&gt;
&lt;p&gt;How you deliver a secret depends on how the tool is started. If you start the tool yourself, you can inject the secret as you launch it. A tool that another program spawns or runs headless needs an auto-unlocked store or a lookup at the moment of use.&lt;/p&gt;
&lt;p&gt;You can get the secret to a tool in three ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You look it up at the moment of use, for example, using &lt;code&gt;security find-generic-password&lt;/code&gt; or 1Password&apos;s &lt;code&gt;op read&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;You inject it into the tool&apos;s environment when you launch the tool.&lt;/li&gt;
&lt;li&gt;The tool reads it from its own config file, where you&apos;ve replaced the secret with an environment variable reference.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can use these methods with any store you choose.&lt;/p&gt;
&lt;h2&gt;A password vault adds a per-use checkpoint.&lt;/h2&gt;
&lt;p&gt;For the few sensitive keys you want to approve each time, use a vault such as 1Password instead of the OS keychain. Unlike the keychain, 1Password asks for your biometric approval at the moment a tool needs the key, and caches it only for a short session. You replace the literal key with a 1Password &lt;a href=&quot;https://www.1password.dev/cli/secret-references&quot;&gt;secret reference&lt;/a&gt; in a config or env file, and 1Password&apos;s CLI resolves it to the value when a tool needs it.&lt;/p&gt;
&lt;p&gt;The downside of using 1Password is that once you &lt;a href=&quot;https://developer.1password.com/docs/cli/app-integration-security/&quot;&gt;give the tool access&lt;/a&gt;, it can read all data stored in your 1Password account, not just the secret you have in mind. As a result, if you or your AI tool is tricked into requesting access, you might inadvertently give the requesting software access to a lot of sensitive data.&lt;/p&gt;
&lt;p&gt;To lower your exposure, consider creating a 1Password vault just for the secrets you use for your dev work. Then, create a limited 1Password identity with access restricted to that one vault. Cleanly doing that requires a &lt;a href=&quot;https://developer.1password.com/docs/service-accounts/&quot;&gt;service account&lt;/a&gt; that&apos;s available only to 1Password business customers. You can mimic this approach using a &lt;a href=&quot;https://support.1password.com/guests/&quot;&gt;guest account&lt;/a&gt; on a personal plan.&lt;/p&gt;
&lt;p&gt;On a personal plan, the guest route needs one more step. You need to turn off the app&apos;s biometric CLI integration and &lt;a href=&quot;https://www.1password.dev/cli/sign-in-manually/&quot;&gt;sign in&lt;/a&gt; as the guest from the terminal. Signing in manually requires a password for the guest account and doesn&apos;t work with 1Password biometric authentication.&lt;/p&gt;
&lt;p&gt;For a hybrid approach, keep everyday and automated secrets in the OS keychain. Reserve a scoped vault for the few keys you want to explicitly approve. This gives you low-friction storage for your routine keys and a per-use checkpoint for the few that matter most.&lt;/p&gt;
&lt;h2&gt;Stop secrets from sprawling into Git, history, and transcripts.&lt;/h2&gt;
&lt;p&gt;By the time you store a secret well, your tools have already written copies of it into Git, your shell history, and AI transcripts. Clean them up, then keep them clean:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Git:&lt;/strong&gt; Once you commit and push a secret to a repo, deleting the line or rewriting history only reduces the trace, so treat it as burned and rotate it. To catch the next secret before you commit it, run a scanner such as &lt;a href=&quot;https://github.com/betterleaks/betterleaks&quot;&gt;betterleaks&lt;/a&gt; (the successor to gitleaks) as a pre-commit hook, which blocks any commit that contains a secret.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shell history:&lt;/strong&gt; Your shell records the commands you type, including any key you paste on a command line. Keep the secret off the command line and put a reference there instead, so your shell resolves the secret only when the command runs. When a tool wants the key as an argument, read it inline, as in &lt;code&gt;mytool --token &quot;$(op read &apos;op://...&apos;)&quot;&lt;/code&gt;. When a script reads the key from the environment, export a reference the same way, as in &lt;code&gt;export GITHUB_TOKEN=&quot;$(op read &apos;op://...&apos;)&quot;&lt;/code&gt;. When you must type the secret directly, fall back to history hygiene, such as Zsh&apos;s &lt;a href=&quot;https://zsh.sourceforge.io/Doc/Release/Options.html#index-HIST_005fIGNORE_005fSPACE&quot;&gt;&lt;code&gt;setopt HIST_IGNORE_SPACE&lt;/code&gt;&lt;/a&gt;, which drops any command you prefix with a space. To clean keys already in your history, &lt;code&gt;bagel scrub&lt;/code&gt; redacts them in place.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI session transcripts:&lt;/strong&gt; AI tools log your sessions, and a secret you paste into a prompt ends up in those logs. Scrub them with a tool built for it, such as &lt;code&gt;bagel scrub&lt;/code&gt;, which replaces secrets with redaction markers and leaves the conversation readable.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Even after you store secrets well and scrub old copies, your AI tool can still read whatever&apos;s on disk, the same access the s1ngularity attack turned against developers. Blocking the tool from credential paths is a separate defense from storing them properly. Even an agent hijacked by a prompt or a bad package then finds nothing to read there. The &lt;a href=&quot;https://github.com/trailofbits/claude-code-config&quot;&gt;Trail of Bits Claude Code config&lt;/a&gt;, which the &lt;a href=&quot;https://zeltser.com/personal-ai-stack&quot;&gt;Personal AI Stack&lt;/a&gt; points to, blocks reads of common credential paths.&lt;/p&gt;
&lt;h2&gt;SSH keys and config-file keys need their own handling.&lt;/h2&gt;
&lt;p&gt;Keeping a secret in a store and handing it to a tool on demand doesn&apos;t work in all scenarios. For an SSH private key or a key that a tool reads from its own config file, such as npm&apos;s .npmrc, handle each on its own terms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SSH keys:&lt;/strong&gt; Move your private keys into an SSH agent such as the &lt;a href=&quot;https://www.1password.dev/ssh/agent&quot;&gt;1Password SSH agent&lt;/a&gt;. It authenticates your SSH connections, including Git over SSH, so the private key never leaves the vault. You approve each attempt to use a key, which grants access only to that key, not the rest of your 1Password account. Alternatively, on a Mac, &lt;a href=&quot;https://github.com/maxgoedjen/secretive&quot;&gt;Secretive&lt;/a&gt; stores SSH keys in the Secure Enclave, where even software running as you can&apos;t export them; it prompts for strong authentication each time a key is accessed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Config-file keys:&lt;/strong&gt; A package manager or CLI may read its key from a file it owns. For example, npm has &lt;code&gt;${VARIABLE_NAME}&lt;/code&gt; support for &lt;a href=&quot;https://docs.npmjs.com/cli/v10/configuring-npm/npmrc&quot;&gt;.npmrc files&lt;/a&gt;. When a tool can&apos;t reference a variable, lock that file down with strict permissions, keep it out of Git, and rely on scoping and rotation to limit what a stolen copy is worth.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Where to start.&lt;/h2&gt;
&lt;p&gt;You don&apos;t have to do all of this at once. Here&apos;s one way to order your efforts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Scan your workstation to see what&apos;s exposed.&lt;/li&gt;
&lt;li&gt;Rotate anything that ended up in Git, a shared drive, or a cloud location, since you have to assume it leaked.&lt;/li&gt;
&lt;li&gt;Put everyday and automated keys in your OS keychain, and move your most sensitive interactive keys into a scoped vault.&lt;/li&gt;
&lt;li&gt;Keep secrets off the command line, and add a pre-commit scanner so they can&apos;t slip into Git.&lt;/li&gt;
&lt;li&gt;Scrub the secrets already in your shell history and AI transcripts.&lt;/li&gt;
&lt;li&gt;Move SSH keys into an agent.&lt;/li&gt;
&lt;li&gt;Scan again to confirm the count dropped.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Keep fewer secrets within reach, and match each one to its sensitivity and how it&apos;s used, so a single leak stays small.&lt;/p&gt;
</content:encoded></item></channel></rss>