{"id":23900,"date":"2026-09-10T12:10:39","date_gmt":"2026-09-10T12:10:39","guid":{"rendered":"https:\/\/scannn.com\/the-left-in-shift-left-moved\/"},"modified":"2026-09-10T12:10:39","modified_gmt":"2026-09-10T12:10:39","slug":"the-left-in-shift-left-moved","status":"publish","type":"post","link":"https:\/\/scannn.com\/lv\/the-left-in-shift-left-moved\/","title":{"rendered":"The \u201cLeft\u201d in Shift-Left Moved"},"content":{"rendered":"\n<div dir=\"auto\">\n<p>For anyone who follows Resilient Cyber, you already know I\u2019ve been heavily discussing and highlighting the impacts AI is having on the economics of finding vulnerabilities. From frontier labs, startups, and independent researchers all surfacing flaws in mature codebases at a surging rate that the institutional ecosystem of disclosure, triage and patching was never built to absorb.<\/p>\n<p><span>I\u2019ve written about the discovery side of this in detail, including in a recent piece titled \u201c<\/span><strong><a href=\"https:\/\/www.resilientcyber.io\/p\/appsec-in-the-age-of-agents\">AppSec in the Age of Agents<\/a><\/strong><span>\u201d, where I advocated for eliminating entire classes of vulnerabilities rather than grinding through them one ticket at a time, and worse, repeatedly remediating the same class of vulnerabilities over and over. <\/span><\/p>\n<p>However, there is also a second shift underway that gets a lot less attention than the whole \u201cVulnpocalypse\u201d narrative, and it is one I want to focus on in this piece. <\/p>\n<p>That is the place where code gets written and how it\u2019s moved. Now, it is often a coding agent running on a development endpoint, with a shell, package manager, credentials and the ability to take actions on its own, and most AppSec programs have no actual control point here at all. <\/p>\n<p><span>At the same time, remediation is being handed to agents too, which raises questions around concepts such as Human-in-the-Loop (HITL), which I\u2019ve already argued was largely a talking point, in a prior piece titled \u201c<\/span><strong><a href=\"https:\/\/www.resilientcyber.io\/p\/the-human-in-the-loop-illusion\">The Human-in-the-Loop Illusion<\/a><\/strong><span>\u201d. Having agents both creating code and remediating flaws brings good questions, such as what HITL means when both the code and fix are machine-generated. <\/span><\/p>\n<p>In this article, I will walk through both sides of the shift, what they mean for AppSec practitioners and leaders and also use a recent demo and walkthrough I had with the team at Legit Security, a Resilient Cyber partner, as a practical example of how one team is building for this.<\/p>\n<p>So, let\u2019s unpack this often overlooked topic at the intersection of AI and AppSec.<\/p>\n<p>The first thing we need to acknowledge is that vulnerability discovery has went industrial in the first half of 2026. Per Vulnerability Research Jerry Gamblin\u2019s mid-year check in, 35,364 CVE\u2019s were published between January 1st and June 30th, a 49.5% increase over the first half of 2025, or one new CVE entry every 7.4 minutes. <\/p>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!dBv1!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7edaef25-3e80-4fe0-9ef5-d8bae8a54daf_1143x587.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!dBv1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7edaef25-3e80-4fe0-9ef5-d8bae8a54daf_1143x587.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!dBv1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7edaef25-3e80-4fe0-9ef5-d8bae8a54daf_1143x587.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!dBv1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7edaef25-3e80-4fe0-9ef5-d8bae8a54daf_1143x587.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!dBv1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7edaef25-3e80-4fe0-9ef5-d8bae8a54daf_1143x587.png 1456w\" sizes=\"100vw\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<p><span>His full year projection at the time landed between 71,314 and 72,008, up from 48,185 <\/span><strong><a href=\"https:\/\/jerrygamblin.com\/2026\/01\/01\/2025-cve-data-review\/\">in <\/a><\/strong><em><strong><a href=\"https:\/\/jerrygamblin.com\/2026\/01\/01\/2025-cve-data-review\/\">all<\/a><\/strong><\/em><strong><a href=\"https:\/\/jerrygamblin.com\/2026\/01\/01\/2025-cve-data-review\/\"> of 2025<\/a><\/strong><span>. FIRST provided their own forecast, which had to be adjusted midyear, showing roughly 66,000 potential CVE\u2019s for the year, from a February baseline of 59,427. In that update, they argued finding isn\u2019t the problem at all.<\/span><\/p>\n<blockquote>\n<p><strong>\u201cThe challenge for defenders is no longer the discovery of vulnerabilities; it\u2019s the capacity to verify, coordinate and prioritize them at scale.<\/strong><\/p>\n<\/blockquote>\n<p>Then we have the impact of the frontier labs on the space. <\/p>\n<p>Anthropic\u2019s Project Glasswing update put some large figures in the mix. Across it\u2019s partners, it had surfaced more than ten thousand high or critical severity vulnerabilities, and in open source projects specifically it had identified 6,202 high or critical findings, of which 90.6% of the 1,752 assessed so far proved to be valid true positives. Some partners told Anthropic their rate of finding bugs had increased by more than 10x, and a few asked the lab to slow down disclosures due to needing additional time to design patches. <\/p>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 1456w\" sizes=\"100vw\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png\" width=\"924\" height=\"612\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:612,&quot;width&quot;:924,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173768,&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:\/\/www.resilientcyber.io\/i\/214193512?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" alt=\"\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!rvBp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27275bfe-b43b-46eb-a374-91a8ecddd00d_924x612.png 1456w\" sizes=\"auto, 100vw\" loading=\"lazy\" class=\"sizing-normal\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<p><span>There\u2019s also OpenAI\u2019s <\/span><strong><a href=\"https:\/\/trailofbits.com\/patch-the-planet\/\">Patch the Planet<\/a><\/strong><span> effort, involve 55 critical open source codebases, which at the time of my writing have found 1,535 issues, with over 1,000 still awaiting a patch.<\/span><\/p>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 1456w\" sizes=\"100vw\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png\" width=\"961\" height=\"429\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:429,&quot;width&quot;:961,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123468,&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:\/\/www.resilientcyber.io\/i\/214193512?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" alt=\"\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Jzto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f9beffa-b8a9-48d1-8af6-a719c5bfd44b_961x429.png 1456w\" sizes=\"auto, 100vw\" loading=\"lazy\" class=\"sizing-normal\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<p>When I spoke to longtime industry leader Casey Ellis on my show in July, he framed it as AI having collapsed the cost of finding and reporting vulnerabilities at the same time, with signal and noise both up roughly 10x, and the delta between the two getting wider. <\/p>\n<p>His line that I often reference is:<\/p>\n<blockquote>\n<p><strong>\u201dThe Vulnpocalypse was already here, it just sort wasn\u2019t evenly distributed\u201d.<\/strong><\/p>\n<\/blockquote>\n<p><span>This reframes the situation as an acceleration of a backlog problem we already had rather than a new novel threat. We are seeing the intake side of the ecosystem buckle in real-time, with cURL <\/span><strong><a href=\"https:\/\/daniel.haxx.se\/blog\/2026\/01\/26\/the-end-of-the-curl-bug-bounty\/\">temporarily pausing<\/a><\/strong><span> its bug bounty program after its confirmation rate fell from roughly 15% to 5% in 2025 (which has now improved due to a surge of high quality AI-driven reporting), and HackerOne\u2019s Internet Bug Bounty <\/span><strong><a href=\"https:\/\/hackerone.com\/ibb\/policy_versions?change=3771829&amp;type=team\">pausing new submissions<\/a><\/strong><span> in March. NIST <\/span><strong><a href=\"https:\/\/www.nist.gov\/news-events\/news\/2026\/04\/nist-updates-nvd-operations-address-record-cve-growth\">reported <\/a><\/strong><span>that CVE submissions grew from 263% between 2020-2025, and moved most CVE\u2019s to a \u201cnot scheduled for immediate enrichment\u201d tier. <\/span><\/p>\n<p>With all of that said, Jerry made a point on my show that while the volume curve may have gone vertical, exploitation has not, and still sits flat at around 1-2%. At the time of our conversation only 85 of the CVE\u2019s published in the first half of 2026, or 0.24%, hand landed in CISA\u2019s KEV catalog as of his write-up, which is why FIRST framed it as a \u201crain versus flood\u201d\u201d, meaning practitioners need to not worry about raw finding counts and instead identify what they truly need to remediate. <\/p>\n<p>However, it is admittedly tough for a security program to determine that when new vulnerabilities are hitting them at machine-speed, so they are likely to drown either way, given they need to try and do their best to filter the surge. <\/p>\n<p>So, we\u2019ve discussed the AI-driven machine speed impact on discovery but what about remediation? <\/p>\n<p>That\u2019s the uncomfortable piece of the discussion for most. If you look at both Anthropic\u2019s Glasswing, and OpenAI\u2019s Patch the Planet, both efforts highlight 2\/3 or more of the vulnerabilities are yet to have been patched, even when verified as true vulnerabilities. Anthropic spoke to this directly, stating:<\/p>\n<blockquote>\n<p><strong>\u201dThe relative ease of finding vulnerabilities compared with the difficulty of fixing them amounts to a major challenge for cybersecurity\u201d.<\/strong><span> <\/span><\/p>\n<\/blockquote>\n<p><span>That\u2019s essentially a frontier lab describing the exact bottleneck we as practitioners have already lived with for years, but being exacerbated by AI. Cyentia\u2019s research found the typical organization has the capacity to remediate 1\/10 vulnerabilities in a given month, and that was <\/span><em>before<\/em><span> discovery got industrialized. <\/span><\/p>\n<p>The 2026 Verizon DBIR, which I covered earlier this year, found the median time to fully patch has grown to 43 days and that only 26% of KEV-listed vulnerabilities were fully remediated, while exploitation became the top initial vector at 31% of breaches.<\/p>\n<p>The labs know this, which is why every discovery capability now ships with a fix capability bolted next to it. That said, those fixes still require a human review before anything merges.<\/p>\n<p>Niels Provos made the case on the show in June that remediation is the bottleneck AI hasn\u2019t cracked, and I largely agree, with one caveat. Generating a patch has become cheap as AI has collapsed the economics there as well. <\/p>\n<p>The hard part is knowing whether the patch is correct, whether it breaks something three services away, whether the finding was even reachable, and who is accountable when an agent-written fix for agent-written code ships to production, and that is an AppSec program design problem more than a model capability problem, and one we haven\u2019t fully figured out yet as an industry.<\/p>\n<p>This is where I think much of the industry is still looking in the wrong place. <\/p>\n<p>\u201cShift left\u201d was built for a world where a human typed code into an IDE, opened a pull request, and a pipeline ran scanners against it. That world is ending as industry tech leaders such as Google and Microsoft highlight nearly universal adoption of AI coding tools, with big surges in AI-generated and accepted code.<\/p>\n<p>The important detail is what those tools are. A coding agent is a process on a developer workstation with a shell, a package manager, access to environment variables and credentials, and a set of MCP servers and skills it can call, and it takes hundreds of actions per task that no human reads. <\/p>\n<p>AI coding tools quietly route around your security, ignoring the authenticated route abstractions and hardened libraries your platform team built and writing raw code instead. Every one of those actions is a place where a supply chain compromise, a leaked secret, or a destructive command can happen, and it happens before there is a pull request for anything to scan.<\/p>\n<p><span>The evidence that attackers noticed is already here. The <\/span><strong><a href=\"https:\/\/nx.dev\/blog\/s1ngularity-postmortem\">Nx \u201cs1ngularity\u201d incident<\/a><\/strong><span> in August 2025 shipped malicious packages that, per the maintainers\u2019 own postmortem, \u201cattempted to use local AI tools (like Claude and Gemini)\u201d on the victim\u2019s workstation to hunt for sensitive information. <\/span><\/p>\n<p><span>The <\/span><strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/npm-supply-chain-attack\/\">Shai-Hulud worm<\/a><\/strong><span> that followed identified other packages maintained by a compromised developer, injected itself, and republished them, with its <\/span><strong><a href=\"https:\/\/www.wiz.io\/blog\/shai-hulud-2-0-ongoing-supply-chain-attack\">second wave<\/a><\/strong><span> compromising roughly 700 npm packages using preinstall hooks. Layer on top of that the <\/span><strong><a href=\"https:\/\/arxiv.org\/abs\/2406.10279\">USENIX Security 2025 research<\/a><\/strong><span> finding package hallucination rates of at least 5.2% for commercial models and 21.7% for open source models, across 205,474 unique hallucinated package names, and you have an agent that will confidently <\/span><code>npm install<\/code><span> something that doesn\u2019t exist yet and an adversary happy to register it.<\/span><\/p>\n<p>The control point for AppSec has to move to where the code is actually created, which now means the agent itself and the workstation it runs on. Additionally, the loop between the coding agent and the security platform has to become agent-to-agent, because there is no human in the middle to read a scanner output and decide.<\/p>\n<p>That is the frame I brought into a demo and walkthrough with Legit Security\u2019s CTO and Co-Founder Liav Caspi and CMO Dave Howell recently. Their architecture maps closely onto the two shifts above.<\/p>\n<p>Liav described their approach as three-pronged. <\/p>\n<ul>\n<li>\n<p>First, use AI to find and fix the flaws traditional static analysis misses. <\/p>\n<\/li>\n<li>\n<p>Second, secure the SDLC and the agent ecosystem around it, meaning the coding agents, MCP servers, and skills developers are actually using. <\/p>\n<\/li>\n<li>\n<p>Third, wrap governance controls around all of it so security teams can set policy and see what is happening.<\/p>\n<\/li>\n<\/ul>\n<p>The platform itself functions as what Liav called a \u201chive mind,\u201d a central brain for AppSec that maintains a security context model of each application, broken down into components such as APIs and data models, and runs a set of autonomous agents against it while developers keep working. <\/p>\n<p><span>Those agents cover detection, response, bill of materials generation, triage, and remediation. On the integration side, Legit plugs into the leading AI coding tools, such as Cursor, Claude Code, Copilot, and Codex, and exposes its security context through an <\/span><strong><a href=\"https:\/\/www.legitsecurity.com\/legit-mcp-server-ai-native-security-intelligence-for-developers\">MCP server<\/a><\/strong><span> so that a coding agent can trigger checks, ask whether a change is safe to deploy, and get remediation guidance without a human relaying scanner results. <\/span><\/p>\n<blockquote>\n<p><strong>That agent-to-agent interface is the piece I think most teams will be building or buying within the year as we move towards a more AI-native approach to securing the SDLC.<\/strong><\/p>\n<\/blockquote>\n<p>The triage agent is where Jerry\u2019s rain-versus-flood problem gets handled. It runs in the background against findings, weighing code context, static and runtime reachability, and EPSS, and it has the authority to demote or close low-risk items and elevate the ones that matter. <\/p>\n<p><strong><a href=\"https:\/\/www.legitsecurity.com\/blog\/agentic-appsec-closing-the-remediation-gap-and-automating-the-rest-of-application-security\">Legit\u2019s own description<\/a><\/strong><span> is that it confirms findings, deduplicates them, and ranks them by exploitability, and the remediation agent then reads the code, plans a fix, and delivers a context-aware fix that matches your code, delivered as a pull request.<\/span><\/p>\n<p>Among the more useful parts of the conversation was the discussion of autonomy. Today, the remediation agent opens the pull request, watches it, and reacts to build failures or subsequent code changes, but a human still owns the final merge. <\/p>\n<p>The PR goes to the right code owner, who reviews and approves it. When I asked Liav where this goes, he projected that within a year many engineering teams will move to pipelines where agents merge code without human intervention. <\/p>\n<p>I think he is right, and I think most security leaders are not ready for that transition quite yet, because it means the human-in-the-loop requirement becomes a policy setting rather than an assumption. Deciding which findings, which repositories, and which fix types an agent may merge on its own is going to be one of the more consequential AppSec decisions of the next couple of years and it will look different across organizations, business units and risk tolerances.<\/p>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 1456w\" sizes=\"100vw\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png\" width=\"1456\" height=\"858\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:353425,&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:\/\/www.resilientcyber.io\/i\/214193512?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" alt=\"\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!Q-qN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42f310ab-e895-4e59-a294-7ab5d323d026_3960x2334.png 1456w\" sizes=\"auto, 100vw\" loading=\"lazy\" class=\"sizing-normal\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<p>The second half of the demo is where the \u201cleft moved\u201d argument got tangible in their product. <\/p>\n<p><strong><a href=\"https:\/\/www.legitsecurity.com\/press-releases\/legit-security-launches-vibeguard-2.0\">VibeGuard<\/a><\/strong><span> is Legit\u2019s endpoint protection agent for developer workstations, and the current release moved it off the IDE extension model and onto the endpoint itself so it can discover and wrap whichever coding agents are running, currently Claude Code, Cursor, and Copilot. <\/span><\/p>\n<p>Liav\u2019s description in the launch was that <\/p>\n<blockquote>\n<p><strong>\u201cAgentic security needs to happen at the developer endpoint with the goal of enhancing agents rather than blocking\u201d <\/strong><\/p>\n<\/blockquote>\n<p>That\u2019s the right posture to take, since as we painfully know in AppSec, anything that slows developers down gets worked around or uninstalled entirely.<\/p>\n<p>Liav ran the demo live inside Claude Code. He had the agent install Lodash, and VibeGuard intercepted the request, because it proxies package manager installs (npm in this case) and evaluates the library before it lands on the machine. The point is to catch malicious dependencies and hallucinated packages at the moment an agent reaches for them, which is the exact gap the s1ngularity and Shai-Hulud incidents and the slopsquatting research point at. <\/p>\n<p>Policy is granular, so an organization can choose per operation whether to block, warn, or require an approval, and the developer sees the outcome inline in the agent session rather than in a ticket a week later, once the vulnerabilities or malicious packages already enter production and later get picked up by a scanner.<\/p>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 1456w\" sizes=\"100vw\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png\" width=\"1456\" height=\"819\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:264545,&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:\/\/www.resilientcyber.io\/i\/214193512?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" alt=\"\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!5QIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a713028-0fa6-429b-890f-721930a1ce14_3200x1800.png 1456w\" sizes=\"auto, 100vw\" loading=\"lazy\" class=\"sizing-normal\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<p>Two other controls struck me as practical, the first of which addresses secrets. Developers paste API keys and tokens into agent prompts constantly, and VibeGuard intercepts that paste and instead offers a secure injection method, so the agent can use the credential without the credential living in the prompt history, the transcript, or whatever the agent decides to write to disk. This also prevents the secrets being sent externally to third-parties, such as frontier labs. <\/p>\n<p><span>The second is command policy, where administrators can require a fingerprint verification before high-risk bash commands execute, and the example Liav used was <\/span><code>gh repo delete<\/code><span>, which is exactly the sort of thing an agent operating on a misunderstood instruction, or a prompt injected via a poisoned dependency, would happily run.<\/span><\/p>\n<blockquote>\n<div class=\"captioned-image-container\">\n<figure><a target=\"_blank\" href=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png\" data-component-name=\"Image2ToDOM\" class=\"image-link image2 is-viewable-img can-restack\"><\/p>\n<div class=\"image2-inset\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 1456w\" sizes=\"100vw\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png\" width=\"1456\" height=\"910\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/b0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:361369,&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:\/\/www.resilientcyber.io\/i\/214193512?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" alt=\"\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!J5ed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0151a10-5f6a-467d-8df6-54a1ac790246_3200x2000.png 1456w\" sizes=\"auto, 100vw\" loading=\"lazy\" class=\"sizing-normal\"\/><\/picture><\/div>\n<p><\/a><\/figure>\n<\/div>\n<\/blockquote>\n<p>On the governance side, VibeGuard gives administrators a centralized view of every developer endpoint, including the ones that are not yet protected, along with event logs covering prompts, secret block attempts, and policy violations.<\/p>\n<p>For anyone who has tried to answer \u201cwhich of our developers are running which agents with which MCP servers,\u201d that inventory alone is a meaningful step, and it connects back to the critical point that asset inventory remains the unsolved problem underneath all of this.<\/p>\n<p>I want to close the analysis with what I think this means for the people running AppSec programs, independent of any one vendor.<\/p>\n<p>The first shift is that the agent session, rather than the PR, is the unit of work your program needs visibility into. If you cannot see what an agent installed, what it ran, and what it was given, your pipeline scanners are auditing a summary of a transaction that already happened. Endpoint visibility for developer agents is going to sit alongside EDR as a baseline control or with the innovative agent-centric purpose built security solutions, and I\u2019d argue it belongs to AppSec rather than the endpoint team, since the policies are about code, dependencies, and secrets.<\/p>\n<p>The second is that human-in-the-loop needs to be an explicit design decision. Agents are already opening pull requests for agent-written code. The decision about where a human is required, at the finding, at the fix, at the merge, or at the deploy, should be explicit and tiered by risk, and it should be revisited as your confidence in the tooling grows. Teams that never define it will default to whatever their vendor shipped, and teams that define it as \u201calways\u201d will get routed around by developers who want their backlog gone.<\/p>\n<p>The third is that Niels\u2019s argument about invariants matters even more as agents write more of the code. Reachability, egress control, hardened libraries the agent is told to use, and package allow-lists enforced at the workstation are the controls that hold when neither the developer nor the reviewer is a human. Guardrails at the point of creation are generally cheaper than downstream triage.<\/p>\n<p>This is far from an exhaustive discussion, but the direction is clear enough. <\/p>\n<p>AI has made discovery cheap, remediation is being handed to agents next, and the code itself is increasingly written by a process no human watches. Security once again has a choice between meeting the work where it now happens or bolting controls onto a pipeline that sees a shrinking share of what matters. <\/p>\n<p>It remains to be seen which direction we take as an industry, but the teams building control points at the developer endpoint and agent-to-agent interfaces into their AppSec platforms are, in my view, closer to where this is headed than the ones still tuning their pull request scanners. <\/p>\n<\/div>\n<p><a href=\"https:\/\/www.resilientcyber.io\/p\/the-left-in-shift-left-moved?utm_source=tldrit\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For anyone who follows Resilient Cyber, you already know I\u2019ve been heavily discussing and highlighting the impacts AI is having on the economics of finding vulnerabilities. From frontier labs, startups, and independent researchers all surfacing flaws in mature codebases at a surging rate that the institutional ecosystem of disclosure, triage and patching was never built [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":23901,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[],"class_list":["post-23900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai"],"_links":{"self":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/23900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/comments?post=23900"}],"version-history":[{"count":0,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/posts\/23900\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media\/23901"}],"wp:attachment":[{"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/media?parent=23900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/categories?post=23900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scannn.com\/lv\/wp-json\/wp\/v2\/tags?post=23900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}