<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Beyond Fault Lines]]></title><description><![CDATA[Analysis of cybersecurity and AI security challenges shaping enterprise risk, strategy, and accountability.]]></description><link>https://blog.munibshah.com</link><image><url>https://substackcdn.com/image/fetch/$s_!rAbB!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000dc688-3dd5-4061-8950-6deb7c027349_1280x1280.png</url><title>Beyond Fault Lines</title><link>https://blog.munibshah.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 13 Apr 2026 12:25:28 GMT</lastBuildDate><atom:link href="https://blog.munibshah.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Munib Shah]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[connect@munibshah.com]]></webMaster><itunes:owner><itunes:email><![CDATA[connect@munibshah.com]]></itunes:email><itunes:name><![CDATA[Munib Shah]]></itunes:name></itunes:owner><itunes:author><![CDATA[Munib Shah]]></itunes:author><googleplay:owner><![CDATA[connect@munibshah.com]]></googleplay:owner><googleplay:email><![CDATA[connect@munibshah.com]]></googleplay:email><googleplay:author><![CDATA[Munib Shah]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Can we Trust Zero Trust?]]></title><description><![CDATA[What AI Changes About Security Boundaries]]></description><link>https://blog.munibshah.com/p/can-we-trust-zero-trust</link><guid isPermaLink="false">https://blog.munibshah.com/p/can-we-trust-zero-trust</guid><dc:creator><![CDATA[Munib Shah]]></dc:creator><pubDate>Fri, 23 Jan 2026 02:47:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3f12f5af-1404-408d-8bce-3ef3a92fc163_800x533.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Zero trust has become one of those phrases that feels both unavoidable and unquestionable. It shows up in board decks, vendor roadmaps, and architectural diagrams as a design philosophy. &#8220;Never trust, always verify&#8221; sounds timeless, almost axiomatic. But axioms only hold within the worlds they were built for.</p><p>What I find myself wondering lately isn&#8217;t whether zero trust is wrong, but whether we&#8217;ve kept its definition fixed while the environment around it has changed. The assumptions that shaped zero trust were grounded in a very different operational reality, and the systems we&#8217;re building now behave in ways those assumptions never had to account for. To understand how zero trust needs to evolve, it helps to look at the world it was built for and the one we&#8217;re applying it to today. </p><h2><strong>The World Zero Trust Was Built For</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4w2W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4w2W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 424w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 848w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 1272w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4w2W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png" width="1456" height="1443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1443,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:264239,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.munibshah.com/i/185457618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67e807f0-7a2a-4ef2-a249-32a8026a8026_10200x4400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!4w2W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 424w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 848w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 1272w, https://substackcdn.com/image/fetch/$s_!4w2W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d1ba374-040c-42b2-a62b-c1995ea2e3ba_2615x2591.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When I look at this diagram, I&#8217;m reminded of how comforting traditional network security used to feel. There was an outside and an inside, and the line between the two mattered. The internet sat on one side, the enterprise lived on the other, and everything meaningful flowed through a small number of very intentional choke points. If we could see those choke points, control them, and monitor them, we had a handle on risk.</p><p>The next generation firewall was the star of that world. It was the place where intent was inspected, policies were enforced, and trust was  withheld. North&#8211;south traffic came was scrutinized, decrypted if necessary, and either allowed or dropped. East&#8211;west traffic stayed largely contained within known segments. We knew where the endpoints were, what servers lived where, and which routes were acceptable. The network topology told a story we could reason about.</p><p>Defense-in-depth made sense. Wach layer had a defined role. Endpoints carried anti-malware, EDR, and DLP to catch what slipped through. Servers ran agents that watched processes and file access. Network devices enforced segmentation and limited blast radius. Data lived close to the systems that used it, and when it moved, it followed paths we could diagram, document, and defend. Even when something went wrong, we could usually reconstruct the sequence of events by walking the flow in reverse.</p><p>This model wasn&#8217;t perfect, and it accumulated plenty of technical debt over time, but it was legible. Systems did what they were built to do. Data moved where it was explicitly allowed to move. Trust was reduced, verified, and continuously re-evaluated at boundaries we understood. Zero trust, in this context was natural evolution of everything we already believed about networks - tighter controls, better visibility, and fewer assumptions.</p><h2>The World that we live in now </h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NlJY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NlJY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 424w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 848w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 1272w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NlJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png" width="2664" height="2118" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2118,&quot;width&quot;:2664,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:591582,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.munibshah.com/i/185457618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12b4ecee-e93c-4b2f-822c-b43f6beb13ef_10200x4400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NlJY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 424w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 848w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 1272w, https://substackcdn.com/image/fetch/$s_!NlJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9efdb51-2159-41c1-94e1-c79ad60e04a8_2664x2118.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Compare this to today&#8217;s world. There is no longer an obvious perimeter where trust decisions naturally belong. Instead of traffic flowing between well-defined zones, everything seems to orbit around the AI agent itself. It becomes the focal point where data, context, and intent converge, and that alone changes how we think about control.</p><p>The agent doesn&#8217;t just consume data the way applications used to. It pulls from memory, queries vector databases, reaches into traditional data stores, and then decides what to do next based on what it learns. Those decisions aren&#8217;t hardcoded paths we can map ahead of time; they&#8217;re shaped in real time by prompts, intermediate results, and evolving goals. The system is no longer following a script but reasoning its way forward.</p><p>What unsettles me most is how action happens. The agent doesn&#8217;t need broad, direct access to everything. It operates through tools that already have permissions: APIs, code execution environments, and even direct access to the internet. Each tool call can be perfectly valid and policy-compliant on its own, inspected by L7 controls and endpoint security, yet the chain of actions they form can produce outcomes we never explicitly designed or approved.</p><p>This is where the old zero trust instincts start to fray. Trust isn&#8217;t violated at a single boundary but accumulated across many small, legitimate decisions. Data doesn&#8217;t obviously &#8220;move&#8221; so much as it gets reassembled through delegation. The model is still layered and controlled, but it&#8217;s no longer fully legible. In this world, zero trust doesn&#8217;t feel wrong but it feels incomplete in ways we didn&#8217;t have to confront before.</p><p></p><h2>Trust Without a Choke Point</h2><p>Zero trust was never just about mistrust. It was about <em>placing</em> trust carefully at points where it could be verified, constrained, and revoked. The problem we face now isn&#8217;t that we&#8217;ve abandoned those principles, but that the places where trust naturally accumulates have shifted.</p><p>When reasoning systems act through chains of delegation trust becomes emergent rather than explicit. When intent is inferred rather than declared, verification becomes probabilistic. And when outcomes arise from composition instead of design, the old question <em>&#8220;Where do we enforce?&#8221;</em> - no longer has a clean answer.</p><p>So can we trust zero trust? Maybe the better question is whether zero trust can evolve fast enough to remain meaningful in systems that no longer have clear choke points, stable intent, or legible flows. If we keep applying it as if nothing fundamental has changed, we risk mistaking policy compliance for control&#8212;and visibility for understanding.</p><p>Zero trust still matters. But trusting it blindly might be the one thing it was never meant to allow.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.munibshah.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Beyond Fault Lines! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Assume the Model will be social engineered. Design so that it doesn’t matter]]></title><description><![CDATA[Why Trying to Protect the Model Is the Wrong Starting Point]]></description><link>https://blog.munibshah.com/p/assume-the-model-will-be-social-engineered</link><guid isPermaLink="false">https://blog.munibshah.com/p/assume-the-model-will-be-social-engineered</guid><dc:creator><![CDATA[Munib Shah]]></dc:creator><pubDate>Thu, 15 Jan 2026 19:46:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/75b473f9-233e-4b4f-a635-fa658bcb3dae_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a quiet assumption baked into a lot of modern artificial intelligence work that doesn&#8217;t get talked about enough. We act as if models will mostly behave as intended. As if clever system prompts and guardrails will be enough to keep them pointed in the right direction. </p><div class="preformatted-block" data-component-name="PreformattedTextBlockToDOM"><label class="hide-text" contenteditable="false">Text within this block will maintain its original spacing when published</label><pre class="text"><strong>Example Prompt: Do not assist with harmful, illegal, or unethical requests. If a user attempts to get around this by being clever, just&#8230; don&#8217;t fall for it.
</strong></pre></div><p>But anyone who has spent time in security knows how this story usually ends. Humans get tricked and controls get bypassed. It&#8217;s not a question of <em>if</em> a model will be social engineered, but <em>when</em>.</p><p>That matters now because models are no longer toys. They summarize sensitive data, draft customer communications, influence decisions, and increasingly act on behalf of organizations. When a system like that can be persuaded through flattery or carefully staged context, the blast radius is operational, reputational, and sometimes legal. </p><p>This is why I follow this simple rule that shapes how I think about building with AI: </p><div class="preformatted-block" data-component-name="PreformattedTextBlockToDOM"><label class="hide-text" contenteditable="false">Text within this block will maintain its original spacing when published</label><pre class="text"><strong>Assume the model will be social engineered. Design so that it doesn&#8217;t matter.</strong> 
</pre></div><p>This idea responsibility away from trying to prevent prompt injection and toward building more resilient systems. Instead of asking, &#8220;How do we stop people from tricking the model?&#8221; the better question becomes, &#8220;What happens if they succeed?&#8221;</p><p>Once you start there, your design choices become obvious. You stop giving models unilateral authority over irreversible actions. You log everything, you scope access tightly, so even a fully manipulated model can only see or do what is safe by default. </p><p>Any system that responds to human input is, by definition, open to influence, especially when it&#8217;s designed to reason, adapt, and behave in ways that feel human and therefore unpredictable. Designing with that inevitability in mind is how we move from fragile systems to ones that are genuinely durable.</p><p>If you&#8217;re building with AI today, the next step isn&#8217;t rewriting your prompts again. It&#8217;s stepping back and asking which parts of your system would still be safe if the model behaved in the most inconvenient way possible&#8212;and then designing from there.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.munibshah.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Beyond Fault Lines! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Hardening Atlas Reveals About the Real Risks of Prompt Injection]]></title><description><![CDATA[What continuous hardening means for AI agents operating on the open web]]></description><link>https://blog.munibshah.com/p/what-hardening-atlas-reveals-about</link><guid isPermaLink="false">https://blog.munibshah.com/p/what-hardening-atlas-reveals-about</guid><dc:creator><![CDATA[Munib Shah]]></dc:creator><pubDate>Fri, 09 Jan 2026 03:21:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5946cda9-50fa-4cc1-a8b2-c392e4440aca_800x533.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I spent some time reading OpenAI&#8217;s <a href="https://openai.com/index/hardening-atlas-against-prompt-injection/">write-up</a> on how they&#8217;re hardening Atlas against prompt-injection attacks, and I found it useful for a simple reason: it&#8217;s honest about the shape of the problem.</p><p>Prompt injection is one of those issues that sounds abstract until you&#8217;ve actually tried to build or deploy an agent that does things on your behalf. The moment an AI is allowed to read untrusted text <em>and</em> take actions&#8212;clicking links, sending messages, filling forms&#8212;you&#8217;ve created a new attack surface. That isn&#8217;t a bug; it&#8217;s a structural property.</p><p>What I appreciated about the Atlas post is how clearly it treats this as an ongoing process. There&#8217;s no suggestion that prompt injection can be fixed once and set aside. Instead, OpenAI describes a continuous cycle of discovering new attack techniques, feeding those failures back into training, and steadily raising the bar for attackers. That framing feels right to me. It aligns closely with how we&#8217;ve historically dealt with spam, phishing, and social engineering.</p><p>One detail that stood out is their use of automated red-teaming powered by reinforcement learning. Rather than relying solely on humans to imagine attacks, they&#8217;re using models to probe other models for weaknesses at scale. That&#8217;s an AI-native approach to defense, and it fits the pace at which these attack patterns evolve.</p><p>Reading this didn&#8217;t leave me with the sense that prompt injection is &#8220;handled.&#8221; If anything, it reinforced the idea that as agents become more capable and more autonomous, prompt injection shifts from an edge case to a baseline risk you design around. You assume it will happen. You limit blast radius. You add friction before irreversible actions. And you accept that some percentage of attempts will succeed.</p><p>This reminds me of how we learned to live with email. We didn&#8217;t eliminate scams; we layered defenses, educated users, built filters, and kept iterating. Atlas feels like an early step along that same maturity curve for agentic AI.</p><p>I&#8217;m glad OpenAI published this. It doesn&#8217;t announce a breakthrough, but it does model the right mindset: treat AI agents as operating in a hostile environment, expect adversarial behavior by default, and invest in systems that improve through constant pressure rather than static guarantees.</p><p>That mindset may end up being the most important takeaway here&#8212;for OpenAI and for anyone building agents that interact with the real world.</p>]]></content:encoded></item><item><title><![CDATA[Using the OWASP GenAI Security Project’s AI Threat Defense Compass to Deploy Microsoft Copilot Securely]]></title><description><![CDATA[How do we capture the benefits of AI while avoiding the ways it can cause harm?]]></description><link>https://blog.munibshah.com/p/using-the-owasp-genai-security-projects</link><guid isPermaLink="false">https://blog.munibshah.com/p/using-the-owasp-genai-security-projects</guid><dc:creator><![CDATA[Munib Shah]]></dc:creator><pubDate>Thu, 08 Jan 2026 15:07:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/601dbced-d044-453a-acdf-ccc01bd0765c_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The AI frontier is packed with opportunity. Generative AI tools like Microsoft Copilot promise real gains in productivity, efficiency, and business value. At the same time, they introduce new and unfamiliar risks&#8212;some well understood, others still emerging.</p><p>The challenge for most organizations is simple to state but hard to execute:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.munibshah.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Munib's Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><blockquote><p><strong>How do we capture the benefits of AI while avoiding the ways it can cause harm?</strong></p></blockquote><p>That&#8217;s exactly the problem the <strong>OWASP GenAI Security Project&#8217;s AI Threat Defense Compass</strong> is designed to solve.</p><p>This post walks through how the Compass can be used as a practical, repeatable methodology for securely deploying <strong>:contentReference[oaicite:1]{index=1}</strong> in an enterprise environment.</p><div><hr></div><h2>What Is the AI Threat Defense Compass?</h2><p>The AI Threat Defense Compass is part of the <strong>:contentReference[oaicite:2]{index=2}</strong> Generative AI Security Project. Its goal is to help organizations <strong>identify, prioritize, and act on AI-related cyber risks</strong>&#8212;without slowing innovation to a crawl.</p><p>It was created for:</p><ul><li><p>CISOs and security leaders</p></li><li><p>Red teamers and threat modelers</p></li><li><p>Privacy and legal teams</p></li><li><p>Anyone responsible for deploying AI securely in an organization</p></li></ul><p>Rather than reinventing guidance, the Compass <em>operationalizes</em> existing OWASP GenAI resources into something teams can actually use.</p><p>At its core, it answers one critical question:</p><p><strong>&#8220;What is the worst thing I need to be prepared for?&#8221;</strong></p><div><hr></div><h2>A Methodology Built on the OODA Loop</h2><p>The Compass uses the OODA loop&#8212;<strong>Observe, Orient, Decide, Act</strong>&#8212;so security teams can move at the same speed as the AI frontier.</p><ul><li><p><strong>Observe</strong><br>Identify the problem, the deployment context, and the threats you need to care about.</p></li><li><p><strong>Orient</strong><br>Gather intelligence: vulnerabilities, incidents, legal exposure, and unknowns you need to resolve.</p></li><li><p><strong>Decide</strong><br>Make informed, risk-based decisions grounded in business impact.</p></li><li><p><strong>Act</strong><br>Implement mitigations, defenses, and a delivery roadmap&#8212;then iterate.</p></li></ul><p>This loop is intentionally <strong>iterative</strong>. You move quickly to a decision, act, reassess, and repeat as conditions change.</p><div><hr></div><h2>Integrating with Existing Security Processes</h2><p>One of the strengths of the Compass is that it doesn&#8217;t exist in a vacuum. It aligns AI risk with familiar security frameworks and processes, including:</p><ul><li><p>CPE, CVE, and CWE</p></li><li><p>MITRE ATT&amp;CK and ATLAS</p></li><li><p>Existing threat and vulnerability management workflows</p></li></ul><p>This makes it far easier to integrate AI risk into how your organization already operates.</p><div><hr></div><h2>AI Deployment Profiles</h2><p>The Compass defines multiple <strong>deployment profiles</strong>, recognizing that not all AI risk looks the same:</p><ol><li><p><strong>External AI Threats</strong><br>How adversaries may use AI <em>against</em> your organization.</p></li><li><p><strong>Internal / Existing AI</strong><br>AI already embedded in applications you&#8217;re using today.</p></li><li><p><strong>Custom or Model-Building Projects</strong><br>Risks specific to teams training or fine-tuning models.</p></li><li><p><strong>Licensed Enterprise AI Tools</strong><br>The focus of this example: deploying tools like Microsoft Copilot.</p></li></ol><p>For Copilot, the organization is primarily a <strong>model user</strong>, not a model builder&#8212;an important distinction that affects both risk and remediation strategy.</p><div><hr></div><h2>Step 1: Start with the Playbook and Threat Profiles</h2><p>Using the Compass begins with downloading:</p><ul><li><p>The <strong>playbook</strong></p></li><li><p>The <strong>Compass spreadsheet tool</strong></p></li></ul><p>Appendix A of the playbook contains threat profiles&#8212;a comprehensive checklist of AI-related concerns. You don&#8217;t tackle everything at once. Instead, you identify what matters most <em>for your deployment</em> and start building a priority list.</p><p>The point isn&#8217;t perfection. It&#8217;s momentum.</p><div><hr></div><h2>Step 2: Define Business Success First</h2><p>Before diving into threats, the Compass forces an important discipline: <strong>define success in business terms</strong>.</p><p>For example:</p><ul><li><p>Deploy Microsoft Copilot enterprise-wide</p></li><li><p>Improve productivity by 20%</p></li><li><p>Target $6M in annual value</p></li></ul><p>These numbers matter. They allow you to balance <strong>business upside</strong> against <strong>security risk and potential impact</strong>&#8212;instead of treating security decisions in isolation.</p><div><hr></div><h2>Step 3: Understand the Deployment Context</h2><p>Microsoft Copilot doesn&#8217;t have a single system card because it&#8217;s composed of multiple models. Instead, Microsoft provides equivalent transparency through:</p><ul><li><p>Responsible AI documentation</p></li><li><p>Transparency notes</p></li><li><p>Product-specific FAQs</p></li></ul><p>If individual models are identified, teams can still review their model cards directly.</p><p>Understanding whether you are a <strong>model deployer</strong> or <strong>model consumer</strong> is critical. While threats like model poisoning or weight theft may still exist, the likelihood, impact, and remediation cost differ significantly.</p><div><hr></div><h2>Step 4: Attack Surface Modeling (1&#8211;5 Scale)</h2><p>The Compass uses lightweight <strong>attack surface modeling</strong> to answer a simple question:</p><blockquote><p>Is this a five-alarm fire&#8212;or a one-alarm fire?</p></blockquote><p>Threats are scored on a 1&#8211;5 scale, with definitions customized to your organization. Financial thresholds matter here. For some organizations, $1M is catastrophic; for others, $5M is the floor.</p><p>This step turns abstract AI threats into something executives can actually reason about.</p><div><hr></div><h2>Step 5: Define &#8220;Nuclear Disaster&#8221; Scenarios</h2><p>Next, teams identify worst-case scenarios:</p><ul><li><p>What is the single worst day this deployment could cause?</p></li><li><p>What would cleanup cost&#8212;financially, legally, reputationally?</p></li></ul><p>By working backward from these scenarios, teams can design controls that prevent existential failures, not just minor issues.</p><div><hr></div><h2>Step 6: Orient on Vulnerabilities, Incidents, and Legal Risk</h2><p>In the <strong>Orient</strong> phase, teams gather real-world evidence:</p><ul><li><p>CVEs related to the deployment</p></li><li><p>Mapping to OWASP Top 10 and GenAI Top 15 risks</p></li><li><p>Incident data from AI incident databases</p></li><li><p>Financial impact examples</p></li><li><p>Litigation and regulatory exposure (for example, via university AI litigation databases)</p></li></ul><p>This grounds AI risk discussions in <strong>actual outcomes</strong>, not speculation.</p><div><hr></div><h2>Step 7: Red Teaming and Testing</h2><p>Before production rollout, the Compass emphasizes <strong>AI red teaming</strong>:</p><ul><li><p>Test real attack paths</p></li><li><p>Identify failure modes</p></li><li><p>Assign severity using guidance from Bugcrowd or CVSS-style scoring</p></li><li><p>Normalize results into the same 1&#8211;5 risk scale</p></li></ul><p>Some judgment is unavoidable&#8212;but structured judgment beats guesswork.</p><div><hr></div><h2>Step 8: Build the Act Strategy and Roadmap</h2><p>With all inputs in place, teams move to action:</p><ul><li><p>Define remediation strategies</p></li><li><p>Assign owners</p></li><li><p>Set timelines aligned with business deployment goals</p></li></ul><p>The dashboard becomes a single source of truth:</p><ul><li><p>Where you started</p></li><li><p>What&#8217;s in progress</p></li><li><p>What leadership should prioritize next</p></li></ul><p>And then&#8212;you loop back to Observe and repeat.</p><div><hr></div><h2>Compass Is a Methodology, Not Just a Tool</h2><p>The AI Threat Defense Compass is open source by design. Organizations are encouraged to:</p><ul><li><p>Modify scoring models</p></li><li><p>Add rigor where needed</p></li><li><p>Adapt it to their culture and risk tolerance</p></li></ul><p>It&#8217;s meant to help teams <strong>deploy AI quickly and safely</strong>, not slow them down.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.munibshah.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Munib's Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>