<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: sriram prakhya</title>
    <description>The latest articles on DEV Community by sriram prakhya (@sriram_prakhya_5ee9dbee94).</description>
    <link>https://dev.to/sriram_prakhya_5ee9dbee94</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1957888%2F0c3c1fdb-b93f-4109-824b-899329c4a3b6.png</url>
      <title>DEV Community: sriram prakhya</title>
      <link>https://dev.to/sriram_prakhya_5ee9dbee94</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sriram_prakhya_5ee9dbee94"/>
    <language>en</language>
    <item>
      <title>I Let AI Agents Attack My Permission Gateway for a Week. Here's What Broke.</title>
      <dc:creator>sriram prakhya</dc:creator>
      <pubDate>Sat, 06 Jun 2026 08:38:16 +0000</pubDate>
      <link>https://dev.to/sriram_prakhya_5ee9dbee94/i-let-ai-agents-attack-my-permission-gateway-for-a-week-heres-what-broke-5doa</link>
      <guid>https://dev.to/sriram_prakhya_5ee9dbee94/i-let-ai-agents-attack-my-permission-gateway-for-a-week-heres-what-broke-5doa</guid>
      <description>&lt;p&gt;When I started building Agent_Sudo, I thought the hard part would be approvals and policy enforcement.&lt;/p&gt;

&lt;p&gt;I was wrong.&lt;/p&gt;

&lt;p&gt;The hard part was discovering all the ways real agents behave once they start interacting with real tools, real runtimes, and real users.&lt;/p&gt;

&lt;p&gt;Over the last week I dogfooded Agent_Sudo against actual agent workflows and found four surprising problems:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Agents Can Bypass Governance If The Runtime Gives Them Native Tools
&lt;/h2&gt;

&lt;p&gt;One agent successfully changed Agent_Sudo's workspace configuration using a host-native shell that Agent_Sudo never saw. Agent_Sudo behaved correctly. The runtime boundary didn't. This reinforced a lesson that now sits at the center of the project: Agent_Sudo governs routed actions, not arbitrary runtime capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Workspace Changes Were Invisible
&lt;/h2&gt;

&lt;p&gt;A write that was previously denied later became allowed. The audit log showed the decision change. What it didn't show was why. The cause was a workspace configuration change that wasn't being audited. Fix: PR #83 added workspace_changed audit events.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Broad Delegations Can Hide Problems
&lt;/h2&gt;

&lt;p&gt;A wildcard delegation was allowing writes that should have required approval. Later, when that delegation expired, it denied everything instead. The authorization engine was working correctly. The visibility wasn't. Fix: PR #86 added delegation status and broad-scope visibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Approval Wait Time Didn't Mean What I Thought It Meant
&lt;/h2&gt;

&lt;p&gt;I configured Agent_Sudo to wait 300 seconds for approvals. The requests still expired after 120 seconds.&lt;/p&gt;

&lt;p&gt;The reason: approval TTL and wait time were separate controls.&lt;/p&gt;

&lt;p&gt;Fix: PR #89 now warns when wait exceeds TTL and explains the effective limit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Surprised Me Most
&lt;/h2&gt;

&lt;p&gt;None of these issues came from architecture reviews. None came from design documents. All came from running real agents against the system. The lesson wasn't "build more features."&lt;/p&gt;

&lt;p&gt;It was:&lt;/p&gt;

&lt;p&gt;Dogfood your assumptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want To Try It?
&lt;/h2&gt;

&lt;p&gt;The fastest path is:&lt;/p&gt;

&lt;p&gt;pipx install agent-sudo-mcp&lt;br&gt;
agent-sudo eval&lt;/p&gt;

&lt;p&gt;It runs the complete flow:&lt;/p&gt;

&lt;p&gt;blocked → delegated → allowed once → denied → audit verified&lt;/p&gt;

&lt;p&gt;If you try it, tell me one thing:&lt;/p&gt;

&lt;p&gt;Did you reach audit verified, or where did you stop?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Kisyntra/Agent_Sudo" rel="noopener noreferrer"&gt;https://github.com/Kisyntra/Agent_Sudo&lt;/a&gt; my repo in case you want to checkout.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>security</category>
      <category>opensource</category>
    </item>
    <item>
      <title>What Building Agent_Sudo Taught Me About AI Agent Security (Before I Found Any Users)</title>
      <dc:creator>sriram prakhya</dc:creator>
      <pubDate>Sun, 31 May 2026 01:20:59 +0000</pubDate>
      <link>https://dev.to/sriram_prakhya_5ee9dbee94/what-building-agentsudo-taught-me-about-ai-agent-security-before-i-found-any-users-3pa</link>
      <guid>https://dev.to/sriram_prakhya_5ee9dbee94/what-building-agentsudo-taught-me-about-ai-agent-security-before-i-found-any-users-3pa</guid>
      <description>&lt;p&gt;I shipped a real thing. &lt;strong&gt;Agent_Sudo&lt;/strong&gt; is a local permission gateway for AI agents: it sits in front of an agent's tool calls and decides &lt;em&gt;allow / deny / require-approval&lt;/em&gt; based on policy and where the request originated, and it writes a tamper-evident, hash-chained audit log you can verify. Python, zero runtime dependencies, ~190 passing tests, an MCP server, working examples for LangGraph and PydanticAI, published to PyPI as v0.4.0.&lt;/p&gt;

&lt;p&gt;It's solid. I'm proud of the engineering. And the most useful things I've learned so far have had almost nothing to do with the code.&lt;/p&gt;

&lt;p&gt;I'm in the middle of figuring out whether anyone actually needs this. Here's what that's teaching me honestly, while it's still in progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering quality and demand are completely different variables
&lt;/h2&gt;

&lt;p&gt;For weeks I measured the project by the things engineers measure: tests green, modules clean, no dependencies, careful abstractions. All real, all satisfying and none of it tells you whether a single person wants the tool.&lt;/p&gt;

&lt;p&gt;I caught myself using code quality as a proxy for progress. It isn't. A beautifully built thing that no one needs is still a thing no one needs. Realizing those are two separate axes, is it good* vs. &lt;em&gt;does anyone want it&lt;/em&gt; has been the single most clarifying shift, and I clearly optimized the first while assuming the second.&lt;/p&gt;

&lt;h2&gt;
  
  
  I may have built a vitamin while telling myself it was a painkiller
&lt;/h2&gt;

&lt;p&gt;The pitch sounds urgent: stop prompt-injection, stop exfiltration, audit everything. But step back. Most developers already get permission prompts from their tools, and a gateway only helps if you actually route every call through it. For a solo dev, that reads as a &lt;em&gt;nice-to-have for a risk you haven't been bitten by yet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There's a more serious buyer teams that need real authorization policy and a verifiable audit trail across many agents. That's a painkiller for &lt;em&gt;them&lt;/em&gt;. But I haven't validated that buyer yet. So an honest open question I'm now carrying: am I building for a pain people feel, or a pain I find interesting?&lt;/p&gt;

&lt;h2&gt;
  
  
  My demo proves the wrong thing (and I built it)
&lt;/h2&gt;

&lt;p&gt;I made a clean 60-second demo: an agent reads a poisoned web page, tries to exfiltrate secrets, and the gateway blocks it. It looks great.&lt;/p&gt;

&lt;p&gt;Then I read my own code. The requests were hand-authored. The "attack" was hard-coded. Enforcement ran in dry-run. It faithfully demonstrates the &lt;em&gt;decision logic&lt;/em&gt; but it stages the genuinely hard part: intercepting a real agent and &lt;strong&gt;attributing where an instruction actually came from&lt;/strong&gt; (the user vs. the model vs. fetched content). That attribution is the core technical claim, and the demo asserts it instead of proving it.&lt;/p&gt;

&lt;p&gt;A demo that narrates instead of proves is, if anything, worse than no demo — because a skeptical reader spots the gap in about a minute, and now they don't trust the rest either. Building the version that actually intercepts and attributes is the real work, and it's still ahead of me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Distribution turned out to be much harder than building
&lt;/h2&gt;

&lt;p&gt;I assumed the build was the hard part. The build was the easy part.&lt;/p&gt;

&lt;p&gt;A few concrete discoveries from trying to get it in front of people:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I posted to a relevant subreddit. It was removed instantly  not by moderators, but by &lt;strong&gt;Reddit's spam filter&lt;/strong&gt;, because my account had &lt;em&gt;1 karma&lt;/em&gt;. The account is five years old; it didn't matter. No reputation, no post.&lt;/li&gt;
&lt;li&gt;I looked at the official protocol community's Discord. Its rules: &lt;strong&gt;no self-promotion; soliciting is a bannable offense.&lt;/strong&gt; It's a contributor/spec space, not a place to show a product and rightly so.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pattern clicked: these gates aren't judging my project. They're judging &lt;em&gt;whether I have any standing in the community&lt;/em&gt;, which I don't yet. You can't broadcast your way out of a cold start. The channels that reach developers are gated by exactly the reputation a brand-new builder hasn't had time to earn and that reputation is built by participating for weeks &lt;em&gt;before&lt;/em&gt; you have anything to pitch, not on launch day.&lt;/p&gt;

&lt;h2&gt;
  
  
  What evidence I still don't have
&lt;/h2&gt;

&lt;p&gt;This is the part I find genuinely interesting, because it's a list I can go get answers to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pull&lt;/strong&gt;: not one person has said "I need this" unprompted. Zero is data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A validated buyer&lt;/strong&gt;: I have a hypothesis about who'd pay or adopt — I haven't tested it with a single real conversation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof of the core claim&lt;/strong&gt;: a working integration where Agent_Sudo intercepts a &lt;em&gt;live&lt;/em&gt; agent and derives provenance itself, with no dry-run and no hand-built requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distribution standing&lt;/strong&gt;: any community presence at all that isn't a cold, reputation-less account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notice none of those are about the code. They're about demand, evidence, and trust the variables I under-invested in while over-investing in architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm doing about it
&lt;/h2&gt;

&lt;p&gt;The lesson isn't "good code doesn't matter." It's "good code is necessary and nowhere near sufficient, and I had the order backwards." So I'm flipping it: instead of polishing the engine, I'm going after the missing evidence directly real integration demo, conversations with the teams who'd actually feel this pain, and showing up in the right communities as a participant first.&lt;/p&gt;

&lt;p&gt;If you've shipped something technically sound that no one showed up for or you work on agents and have an opinion on where provenance attribution breaks  I'd genuinely like to compare notes in the comments. The repo's here if you want to poke at it: &lt;a href="https://github.com/Kisyntra/Agent_Sudo" rel="noopener noreferrer"&gt;github.com/Kisyntra/Agent_Sudo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'm spending the next 30 days answering a simple question:&lt;/p&gt;

&lt;p&gt;Does anyone actually need this enough to adopt it?&lt;/p&gt;

&lt;p&gt;That's a much harder question than whether I can build it, and it's the one that matters now.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>career</category>
    </item>
  </channel>
</rss>
