<?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: HM Shihabuddin Jashory</title>
    <description>The latest articles on DEV Community by HM Shihabuddin Jashory (@jashory).</description>
    <link>https://dev.to/jashory</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%2F4214079%2Fdc060489-308d-4cbc-8025-b0b24dba5e39.jpg</url>
      <title>DEV Community: HM Shihabuddin Jashory</title>
      <link>https://dev.to/jashory</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jashory"/>
    <language>en</language>
    <item>
      <title>Hardening Production AI Agents: Open-Sourcing an MCP AST Security Auditor, Multimodal JSONL Crash Firewall &amp; Zero-Downtime LLM Router</title>
      <dc:creator>HM Shihabuddin Jashory</dc:creator>
      <pubDate>Thu, 29 Oct 2026 01:33:43 +0000</pubDate>
      <link>https://dev.to/jashory/hardening-production-ai-agents-open-sourcing-an-mcp-ast-security-auditor-multimodal-jsonl-crash-1pf5</link>
      <guid>https://dev.to/jashory/hardening-production-ai-agents-open-sourcing-an-mcp-ast-security-auditor-multimodal-jsonl-crash-1pf5</guid>
      <description>&lt;p&gt;When moving autonomous AI agents from local prototypes into production CI/CD pipelines, three critical engineering failure modes consistently surface:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unverified MCP Tool Execution&lt;/strong&gt;: Model Context Protocol (MCP) servers and agent tools frequently expose unvalidated shell execution, SSRF, path traversal, or prompt-injected tool descriptions (&lt;strong&gt;OWASP LLM01–LLM10&lt;/strong&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multimodal Trajectory Poisoning (&lt;code&gt;HTTP 400 INVALID_ARGUMENT&lt;/code&gt;)&lt;/strong&gt;: A single password-protected PDF, 0-byte attachment, or HTML login error page saved with a &lt;code&gt;.pdf&lt;/code&gt;/&lt;code&gt;.png&lt;/code&gt; extension permanently bricks long-running &lt;code&gt;transcript.jsonl&lt;/code&gt; sessions in Claude Code, Google Antigravity, and Codex.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single-Provider Rate Limits &amp;amp; Stream Drops&lt;/strong&gt;: Relying on a single upstream LLM endpoint leads to cascading failures during &lt;code&gt;HTTP 429&lt;/code&gt; quota exhaustion or &lt;code&gt;HTTP 529&lt;/code&gt; upstream overload.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Today, I am open-sourcing &lt;strong&gt;v2.0.0&lt;/strong&gt; of three zero-dependency Python engines—each published as an official &lt;strong&gt;GitHub Marketplace Action&lt;/strong&gt; and paired with an &lt;strong&gt;Interactive Browser Sandbox&lt;/strong&gt; you can test immediately without installing anything.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. MCP &amp;amp; AI Agent Security Auditor (v2.0.0)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/jashory/mcp-agent-security-auditor" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://github.com/marketplace/actions/mcp-agent-security-auditor" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Marketplace Action&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://jashory.github.io/mcp-agent-security-auditor/" rel="noopener noreferrer"&gt;&lt;strong&gt;Live Browser AST Sandbox&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mcp-agent-security-auditor&lt;/code&gt; is a zero-dependency Python AST taint &amp;amp; static security analyzer purpose-built for Model Context Protocol (MCP) servers, LangChain/CrewAI tools, and autonomous agent skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;12 Security Rules Mapped to OWASP LLM Top 10 &amp;amp; CWE&lt;/strong&gt;: Detects command injection (&lt;code&gt;subprocess(..., shell=True)&lt;/code&gt;, &lt;code&gt;os.system&lt;/code&gt;, &lt;code&gt;eval&lt;/code&gt;), SSRF in tool handlers, credential &amp;amp; &lt;code&gt;os.environ&lt;/code&gt; exfiltration, arbitrary file writes, and hidden prompt-injection instructions inside tool docstrings (&lt;code&gt;MCP-001&lt;/code&gt; through &lt;code&gt;MCP-012&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native SARIF v2.1.0 Output&lt;/strong&gt;: Integrates directly with the GitHub Security Code Scanning tab.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Drop-in GitHub Action Usage
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;MCP &amp;amp; Agent Security Audit&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;security-audit&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v4&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Run MCP &amp;amp; AI Agent Security Auditor&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;jashory/mcp-agent-security-auditor@v2.0.0&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;."&lt;/span&gt;
          &lt;span class="na"&gt;format&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sarif"&lt;/span&gt;
          &lt;span class="na"&gt;fail-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;high"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. AGY &amp;amp; Claude Code Crash Guard Kit (v2.0.0)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/jashory/agy-claude-crash-guard-kit" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://github.com/marketplace/actions/agy-claude-crash-guard-kit" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Marketplace Action&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://jashory.github.io/agy-claude-crash-guard-kit/" rel="noopener noreferrer"&gt;&lt;strong&gt;Live Multimodal Firewall Sandbox&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have ever had a 200-step agent conversation permanently die with &lt;code&gt;HTTP 400 INVALID_ARGUMENT&lt;/code&gt; after reading a downloaded PDF or image, the root cause is almost always &lt;strong&gt;multimodal trajectory poisoning&lt;/strong&gt;. Once an encrypted PDF (&lt;code&gt;/Encrypt&lt;/code&gt;), a 0-byte file, or an HTML error page disguised as a PNG/PDF is appended into &lt;code&gt;transcript.jsonl&lt;/code&gt;, every subsequent API turn fails.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pre-Flight Binary &amp;amp; Magic-Byte Firewall&lt;/strong&gt;: Inspects magic bytes (&lt;code&gt;%PDF-&lt;/code&gt;, PNG/JPEG/WebP headers), detects PDF &lt;code&gt;/Encrypt&lt;/code&gt; dictionaries without external dependencies, and blocks oversized or fake-HTML media before &lt;code&gt;read_file&lt;/code&gt; is invoked.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-Healing JSONL Trajectory Surgeon&lt;/strong&gt;: Scans poisoned &lt;code&gt;.jsonl&lt;/code&gt; transcripts, isolates corrupted multimodal blocks, creates a timestamped backup, and surgically repairs the session in place.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Pre-flight validate any media or PDF before agent ingestion&lt;/span&gt;
python crash_guard.py &lt;span class="nt"&gt;--check&lt;/span&gt; ./downloads/statement.pdf

&lt;span class="c"&gt;# Surgically heal a bricked agent conversation transcript&lt;/span&gt;
python crash_guard.py &lt;span class="nt"&gt;--heal&lt;/span&gt; ~/.gemini/antigravity/brain/&amp;lt;session-id&amp;gt;/.system_generated/logs/transcript.jsonl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Infinite LLM Fallback Router (v2.0.0)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/jashory/infinite-llm-fallback-router" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://github.com/marketplace/actions/infinite-llm-fallback-router-check" rel="noopener noreferrer"&gt;&lt;strong&gt;GitHub Marketplace Action&lt;/strong&gt;&lt;/a&gt; • &lt;a href="https://jashory.github.io/infinite-llm-fallback-router/" rel="noopener noreferrer"&gt;&lt;strong&gt;Live Failover Simulator&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;infinite-llm-fallback-router&lt;/code&gt; is a lightweight, zero-dependency multi-provider AI gateway that routes requests across Anthropic Claude, Google Gemini, OpenAI, DeepSeek, and local OpenAI-compatible servers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sub-Second Failover &amp;amp; Stateful Circuit Breakers&lt;/strong&gt;: Automatically detects &lt;code&gt;HTTP 429&lt;/code&gt;, &lt;code&gt;500&lt;/code&gt;, &lt;code&gt;502&lt;/code&gt;, &lt;code&gt;503&lt;/code&gt;, and &lt;code&gt;529&lt;/code&gt; responses, trips per-provider circuit breakers with exponential cooldowns, and fails over cleanly across providers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD Route Matrix Verification&lt;/strong&gt;: Ships as a GitHub Action to validate routing configurations and fallback chains on every commit.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  4. Bonus: Built-in WebCrypto RFC 6238 TOTP 2FA Vault in Vision Flow Studio Pro v2.0
&lt;/h2&gt;

&lt;p&gt;Alongside these three open-source repositories, we also shipped &lt;strong&gt;Step 08: Client-Side WebCrypto TOTP 2FA Code Generator&lt;/strong&gt; inside &lt;a href="https://studio.visionflowgroup.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Vision Flow Studio Pro v2.0&lt;/strong&gt;&lt;/a&gt; and updated our full-stack SaaS &amp;amp; Cybersecurity engineering showcase at &lt;a href="https://agency.visionflowgroup.com/#portfolio" rel="noopener noreferrer"&gt;&lt;strong&gt;Vision Flow Agency&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;All three open-source tools are MIT-licensed and available today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP &amp;amp; Agent Security Auditor&lt;/strong&gt;: &lt;a href="https://github.com/jashory/mcp-agent-security-auditor" rel="noopener noreferrer"&gt;https://github.com/jashory/mcp-agent-security-auditor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AGY &amp;amp; Claude Code Crash Guard Kit&lt;/strong&gt;: &lt;a href="https://github.com/jashory/agy-claude-crash-guard-kit" rel="noopener noreferrer"&gt;https://github.com/jashory/agy-claude-crash-guard-kit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infinite LLM Fallback Router&lt;/strong&gt;: &lt;a href="https://github.com/jashory/infinite-llm-fallback-router" rel="noopener noreferrer"&gt;https://github.com/jashory/infinite-llm-fallback-router&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback, issues, and pull requests are welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
      <category>github</category>
    </item>
  </channel>
</rss>
