Microsoft Foundry's resource hierarchy is an RBAC trap

Let’s assume you have a Microsoft Foundry resource with a project inside it, and an app that calls one of the APIs on that resource using a managed identity. You did the right thing: no keys, Entra authentication only, and a least-privilege role assigned to the identity. You open the portal, you can see the role assignment sitting there on the resource, and yet every call comes back with this: ...

October 20, 2026 · 4 min · 680 words · Gabor Szekeres

A peek into my AI enabled app attacker tool

Point it at your AI app, give it a goal, and let it hunt Most LLM red-teaming tools work the same way. They fire a long list of jailbreak strings at your app and report which ones matched a regex. You get a wall of “hits” that’s mostly noise, and a clean run tells you almost nothing — did the guardrails hold, or did your wordlist just miss? For a while now I’ve been building the opposite: a tool that red-teams an AI app the way an attacker actually works. You give it a goal, it adapts until it reaches that goal or runs out of road, and then it proves what it found. ...

September 22, 2026 · 6 min · 1093 words · Gabor Szekeres

Securing Microsoft Foundry: Design decisions, trade-offs

Executive summary Microsoft Foundry consolidates what used to be several separate services — Azure AI Studio, Azure AI Foundry, Azure OpenAI, Azure AI Services — into a single platform with one resource provider namespace, unified RBAC, networking, and policy. For security teams, that consolidation is mostly good news: fewer disconnected control surfaces, one place to reason about access. But it also changes the shape of the risk. Five points for decision-makers: ...

September 8, 2026 · 13 min · 2559 words · Gabor Szekeres

Small settings that cost me hours - Deploying a secure AI app on Microsoft Foundry

In this blogpost I’m going to walk you through the gotcha’s and the things I wish I knew before I started to build a simple but secure AI app on Microsoft Foundry. Before we do that, I’ll show you the high level architecture of that app Nothing that broke this build was hard. Every single blocker was a one-line setting, a trailing slash, or a permissions boundary I forgot existed. Individually trivial; collectively, a day. This is the list I wish I’d had. ...

September 1, 2026 · 6 min · 1251 words · Gabor Szekeres