<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Mantle blog</title>
        <link>https://usemantle.io/blog/</link>
        <description>Mantle blog Blog</description>
        <lastBuildDate>Sun, 16 Aug 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>Copyright © 2026 Mantle.</copyright>
        <item>
            <title><![CDATA[What is Mantle, and how does it work?]]></title>
            <link>https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/</link>
            <guid>https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/</guid>
            <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How Mantle uses specialized agents to find, review, deduplicate, and remediate application security issues.]]></description>
            <content:encoded><![CDATA[<p>Mantle is a cloud and application security platform for AI agents. It finds security issues, proposes fixes, sends notifications, and maps cloud infrastructure.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_fWrl" id="introduction">Introduction<a href="https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction" translate="no">​</a></h2>
<p>Mantle is an agent-first cloud and application security platform. We have five primary goals:</p>
<ol>
<li class="">Help agents understand cloud environments without direct access granted to those environments.</li>
<li class="">Find security issues and propose fixes automatically.</li>
<li class="">Map relationships between cloud systems, including secret use and OpenID Connect trust boundaries.</li>
<li class="">Retain product-specific knowledge and undocumented edge cases.</li>
<li class="">Coordinate long-running security work across multiple agent sessions.</li>
</ol>
<p>Human reviewers approve and merge changes that Mantle proposes.</p>
<p>We want Mantle to be an effective security coworker. Mantle helps teams:</p>
<ol>
<li class="">Enforce least-privilege access for human operators.</li>
<li class="">Fix security defects across the technology stack.</li>
<li class="">Monitor completed remediations to prevent regressions.</li>
</ol>
<p>This post explains how we built Mantle, what it does today, and how we plan to extend it.</p>
<h2 class="anchor anchorTargetStickyNavbar_fWrl" id="high-level-architecture">High-level architecture<a href="https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/#high-level-architecture" class="hash-link" aria-label="Direct link to High-level architecture" title="Direct link to High-level architecture" translate="no">​</a></h2>
<p>This section describes the agent system and the application security scan workflow.</p>
<p>Mantle launches with three primary features:</p>
<ul>
<li class=""><strong>Application security scanning:</strong> Specialized agents inspect source code, review candidate findings, remove duplicates, propose fixes, and open draft pull requests.</li>
<li class=""><strong>Cloud security scanning:</strong> Mantle uses the upstream CNCF Cartography package with Mantle integration code to ingest cloud resources on a schedule.</li>
<li class=""><strong>Mantle MCP:</strong> Local agents can use information from Mantle through the Model Context Protocol.</li>
</ul>
<p>This post examines application security scanning. A set of specialized agents finds, reviews, deduplicates, and remediates security issues. You can configure a scan schedule in the Mantle user interface. We recommend one scan each week, but you can select a different interval. The following section explains the workflow.</p>
<p>Mantle uses Temporal for durable execution and agent orchestration. Each scan claims one sandbox from <a href="https://www.daytona.io/" target="_blank" rel="noopener noreferrer" class="">Daytona</a> and performs all repository operations in that sandbox.</p>
<ol>
<li class="">A file-selector agent surveys the repository and proposes security-relevant exploration roots. The host limits the selection and prefers roots that were not scanned recently.</li>
<li class="">AppSec agents investigate the selected roots in parallel. Each agent examines the root, related files, and the local call graph.</li>
<li class="">The agents return candidate findings with severity, locations, and descriptions. An adversarial reviewer reads the cited source and rejects false positives.</li>
<li class="">Mantle embeds the accepted candidates and compares them with earlier findings. Vector similarity and a deduplication agent reject duplicate candidates.</li>
<li class="">A remediation agent applies each accepted fix in a separate worktree. Mantle publishes the finding and opens a draft pull request when remediation succeeds.</li>
<li class="">If automatic Slack assignment is enabled, Mantle uses git blame to identify a reviewer. Mantle then sends a notification when it can map that reviewer to Slack.</li>
</ol>
<p>Below, you can see an automated remediation that keeps packages in a uv managed environment from updating automatically. Delaying package updates by a short period is less security theatre and more basic hygiene in a world plagued by supply chain attacks such as <a href="https://www.akamai.com/blog/security-research/mini-shai-hulud-worm-returns-goes-public" target="_blank" rel="noopener noreferrer" class="">Mini Shai Hulud</a>.</p>
<p><img decoding="async" loading="lazy" alt="A Mantle-generated pull request remediating a supply-chain vulnerability" src="https://usemantle.io/blog/assets/images/supply_chain_mr-26d13ab83cfe2e06ad9f9f141ea8e7d7.png" width="2258" height="856" class="img_BU1x"></p>
<h2 class="anchor anchorTargetStickyNavbar_fWrl" id="questions-and-answers">Questions and answers<a href="https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/#questions-and-answers" class="hash-link" aria-label="Direct link to Questions and answers" title="Direct link to Questions and answers" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_fWrl" id="how-does-mantle-avoid-scanning-the-same-files-repeatedly">How does Mantle avoid scanning the same files repeatedly?<a href="https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/#how-does-mantle-avoid-scanning-the-same-files-repeatedly" class="hash-link" aria-label="Direct link to How does Mantle avoid scanning the same files repeatedly?" title="Direct link to How does Mantle avoid scanning the same files repeatedly?" translate="no">​</a></h3>
<p>The selector proposes more roots than the scan needs. The host first selects roots that do not appear in recent scan history. If it needs more roots, it adds changed prior roots and then unchanged prior roots. This process reduces repeat work, but it does not prohibit repeat scans.</p>
<h3 class="anchor anchorTargetStickyNavbar_fWrl" id="how-does-mantle-identify-duplicates-when-commits-change-file-locations-and-line-numbers">How does Mantle identify duplicates when commits change file locations and line numbers?<a href="https://usemantle.io/blog/deep-dive-into-the-mantle-architecture/#how-does-mantle-identify-duplicates-when-commits-change-file-locations-and-line-numbers" class="hash-link" aria-label="Direct link to How does Mantle identify duplicates when commits change file locations and line numbers?" title="Direct link to How does Mantle identify duplicates when commits change file locations and line numbers?" translate="no">​</a></h3>
<p>Mantle embeds each reviewed candidate and compares it with findings from the same organization and GitHub integration. Similarity scores of 0.90 or more cause automatic rejection. For scores from 0.50 to less than 0.90, a second agent decides whether the candidate is a duplicate. Mantle does not publish rejected duplicates.</p>]]></content:encoded>
            <category>architecture</category>
            <category>engineering</category>
        </item>
    </channel>
</rss>