<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Checkmarx</title>
	<atom:link href="https://checkmarx.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://checkmarx.com/</link>
	<description>The world runs on code. We secure it.</description>
	<lastBuildDate>Mon, 08 Jun 2026 16:54:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://checkmarx.com/wp-content/uploads/2026/06/favicon_spring-150x150.webp</url>
	<title>Checkmarx</title>
	<link>https://checkmarx.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Update: Ongoing Checkmarx Supply Chain Security Incident</title>
		<link>https://checkmarx.com/blog/ongoing-security-updates/</link>
		
		<dc:creator><![CDATA[Checkmarx Team]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 14:53:39 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Checkmarx Security Update]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108697</guid>

					<description><![CDATA[Supply Chain Security Incident Summary Updated June 4, 2026 The following is designed to provide an incident summary and central location for updates that have previously been provided. Situation Overview Checkmarx experienced a cybersecurity supply chain incident affecting certain developer artifacts distributed through third-party channels. On March 23, 2026, Checkmarx identified that attackers gained unauthorized [&#8230;]]]></description>
										<content:encoded><![CDATA[<style>@media (max-width:991px){.post-layout{display:block !important;grid-template-columns:none !important;width:100% !important;max-width:100vw !important;overflow-x:hidden !important;padding-left:0 !important;padding-right:0 !important;}.post-layout>.content,.post-layout>article.content{width:100% !important;max-width:100vw !important;grid-column:1 / -1 !important;padding-left:16px !important;padding-right:16px !important;box-sizing:border-box !important;overflow-x:hidden !important;}.post-layout .sidebar--right{display:none !important;}.post-layout .sidebar--left{display:none !important;}html,body{overflow-x:hidden !important;max-width:100vw !important;width:100% !important;}body main,main{overflow-x:hidden !important;max-width:100vw !important;}}.cx-incident{color:#121185 !important;background:#ffffff !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:20px !important;box-sizing:border-box !important;overflow-x:hidden !important;overflow-y:visible !important;word-wrap:break-word !important;overflow-wrap:break-word !important;position:relative !important;border-radius:6px !important;}@media (max-width:991px){.cx-incident{max-width:100% !important;width:100% !important;padding:16px !important;}}.cx-incident *,.cx-incident *::before,.cx-incident *::after{box-sizing:border-box !important;max-width:100% !important;}.cx-incident p,.cx-incident li{font-size:16px !important;line-height:1.55 !important;margin:0 0 14px !important;word-wrap:break-word !important;overflow-wrap:break-word !important;}.cx-incident strong{font-weight:500 !important;}.cx-incident a{color:#0563c1 !important;text-decoration:underline !important;word-break:break-word !important;overflow-wrap:break-word !important;}.cx-incident a:hover{color:#6b34fd !important;}.cx-incident ul,.cx-incident ol{margin:0 0 14px 22px !important;padding:0 !important;}.cx-incident li{margin-bottom:6px !important;}.cx-incident h2.cx-section-title{color:#F25929 !important;font-size:28px !important;font-weight:500 !important;margin:32px 0 16px !important;letter-spacing:0.01em !important;line-height:1.2 !important;}.cx-incident h3{font-size:18px !important;font-weight:500 !important;margin:22px 0 10px !important;color:#121185 !important;line-height:1.3 !important;}.cx-incident h4{font-size:16px !important;font-weight:500 !important;margin:16px 0 8px !important;color:#121185 !important;line-height:1.3 !important;}.cx-timeline-wrap{margin:16px 0 28px !important;width:100% !important;}.cx-timeline-table{width:100% !important;border-collapse:collapse !important;border:1px solid #d8d8e8 !important;table-layout:fixed !important;}.cx-timeline-table thead th{background:#121185 !important;color:#fff !important;text-align:left !important;padding:10px 12px !important;font-weight:500 !important;font-size:13px !important;border:1px solid #121185 !important;}.cx-timeline-table tbody tr{cursor:pointer !important;background:#fff !important;}.cx-timeline-table tbody tr:nth-child(even){background:#f6f5ff !important;}.cx-timeline-table tbody tr:hover{background:#ece9ff !important;}.cx-timeline-table td{padding:12px !important;vertical-align:top !important;border:1px solid #d8d8e8 !important;line-height:1.5 !important;font-size:14px !important;word-wrap:break-word !important;overflow-wrap:break-word !important;}.cx-timeline-table td:first-child{font-weight:500 !important;color:#121185 !important;white-space:nowrap !important;}.cx-timeline-table td:nth-child(2){font-weight:600 !important;}.cx-timeline-table .cx-link-col{color:#6b34fd !important;font-weight:600 !important;}.cx-acc{margin:8px 0 24px !important;width:100% !important;}.cx-acc__item{border:1px solid #d8d8e8 !important;border-radius:8px !important;margin-bottom:10px !important;background:#fff !important;overflow:hidden !important;width:100% !important;}.cx-acc__btn{width:100% !important;text-align:left !important;background:#f6f5ff !important;border:none !important;padding:14px 44px 14px 16px !important;font-size:18px !important;font-weight:400 !important;color:#121185 !important;cursor:pointer !important;position:relative !important;font-family:inherit !important;line-height:1.35 !important;word-wrap:break-word !important;overflow-wrap:break-word !important;display:block !important;}.cx-acc__btn:hover{background:#ece9ff !important;}.cx-acc__btn::after{content:"" !important;position:absolute !important;right:18px !important;top:50% !important;width:10px !important;height:10px !important;border-right:2px solid #121185 !important;border-bottom:2px solid #121185 !important;transform:translateY(-70%) rotate(45deg) !important;transition:transform 0.25s ease !important;}.cx-acc__item.is-open .cx-acc__btn{background:#ece9ff !important;}.cx-acc__item.is-open .cx-acc__btn::after{transform:translateY(-30%) rotate(-135deg) !important;}.cx-acc__panel{max-height:0 !important;overflow:hidden !important;transition:max-height 0.35s ease !important;}.cx-acc__panel-inner{padding:16px 16px 4px !important;}.cx-incident .cx-acc__item.is-open>.cx-acc__panel{max-height:99999px !important;overflow:visible !important;}.cx-data-table-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;margin:12px 0 18px !important;width:100% !important;max-width:100% !important;}.cx-data-table{border-collapse:collapse !important;font-size:13px !important;min-width:100% !important;}.cx-data-table th,.cx-data-table td{border:1px solid #ccc !important;padding:8px 10px !important;vertical-align:top !important;text-align:left !important;word-break:break-all !important;overflow-wrap:anywhere !important;}.cx-data-table th{background:#121185 !important;color:#fff !important;font-weight:500 !important;white-space:nowrap !important;}.cx-data-table .cx-label{font-weight:500 !important;background:#f6f5ff !important;white-space:nowrap !important;width:110px !important;}.cx-banner{background:#f4d6d4 !important;padding:12px 14px !important;font-weight:500 !important;margin:16px 0 !important;border-radius:6px !important;font-size:14px !important;}.cx-evtable{width:100% !important;border-collapse:collapse !important;margin:8px 0 16px !important;font-size:13px !important;table-layout:fixed !important;}.cx-evtable td{padding:10px 8px !important;vertical-align:top !important;border-bottom:1px solid #eee !important;word-wrap:break-word !important;overflow-wrap:break-word !important;}.cx-evtable .cx-bar{width:4px !important;padding:0 !important;}.cx-evtable .cx-bar-breach{background:#c0392b !important;}.cx-evtable .cx-bar-persistence{background:#d4a017 !important;}.cx-evtable .cx-bar-disclosure{background:#1f6feb !important;}.cx-evtable .cx-month{background:#f2f2f2 !important;text-align:center !important;font-weight:500 !important;font-size:11px !important;letter-spacing:0.08em !important;}.cx-evtable .cx-date{width:60px !important;font-weight:500 !important;white-space:nowrap !important;font-size:12px !important;}.cx-evtable .cx-tag{width:90px !important;font-weight:500 !important;font-size:10px !important;letter-spacing:0.08em !important;}.cx-evtable .cx-tag-breach{color:#c0392b !important;}.cx-evtable .cx-tag-persistence{color:#d4a017 !important;}.cx-evtable .cx-tag-disclosure{color:#1f6feb !important;}.cx-legend{font-size:12px !important;margin:10px 0 18px !important;}.cx-legend span{display:inline-block !important;margin-right:14px !important;}.cx-legend .cx-sq{display:inline-block !important;width:11px !important;height:11px !important;vertical-align:middle !important;margin-right:5px !important;}@media (min-width:768px){.cx-incident p,.cx-incident li{font-size:17px !important;}.cx-incident h2.cx-section-title{font-size:32px !important;margin:40px 0 18px !important;}.cx-incident h3{font-size:20px !important;}.cx-incident h4{font-size:17px !important;}.cx-timeline-table td{font-size:15px !important;}.cx-timeline-table thead th{font-size:14px !important;}.cx-acc__btn{font-size:20px !important;padding:16px 48px 16px 18px !important;}.cx-acc__btn::after{right:20px !important;width:12px !important;height:12px !important;}.cx-acc__panel-inner{padding:18px 20px 8px !important;}.cx-data-table{font-size:14px !important;}.cx-evtable .cx-date{width:80px !important;font-size:13px !important;}.cx-evtable .cx-tag{width:110px !important;font-size:11px !important;}}@media (max-width:559px){.cx-timeline-table{border:0 !important;display:block !important;table-layout:auto !important;}.cx-timeline-table thead{display:none !important;}.cx-timeline-table tbody{display:block !important;width:100% !important;}.cx-timeline-table tbody tr{display:block !important;width:100% !important;border:1px solid #d8d8e8 !important;border-radius:8px !important;margin-bottom:12px !important;padding:6px 0 !important;background:#fff !important;}.cx-timeline-table tbody tr:nth-child(even){background:#f6f5ff !important;}.cx-timeline-table td{display:block !important;width:100% !important;border:0 !important;padding:6px 14px !important;white-space:normal !important;font-size:14px !important;}.cx-timeline-table td:first-child{font-size:12px !important;text-transform:uppercase !important;letter-spacing:0.06em !important;padding-bottom:2px !important;}.cx-timeline-table td:nth-child(2){font-size:15px !important;font-weight:500 !important;padding-top:0 !important;padding-bottom:4px !important;color:#121185 !important;}.cx-timeline-table td:nth-child(3){padding-top:2px !important;}.cx-timeline-table td:nth-child(4){border-top:1px dashed #d8d8e8 !important;margin-top:6px !important;padding-top:10px !important;font-size:12px !important;color:#121185 !important;font-weight:600 !important;}.cx-acc__btn{font-size:15px !important;padding:13px 38px 13px 14px !important;}.cx-acc__panel-inner{padding:14px 14px 4px !important;}.cx-evtable,.cx-evtable tbody,.cx-evtable tr,.cx-evtable td{display:block !important;width:100% !important;}.cx-evtable .cx-bar{display:none !important;}.cx-evtable tr{border-left:4px solid #ccc !important;padding:8px 0 !important;margin-bottom:8px !important;border-bottom:0 !important;}.cx-evtable .cx-month{border-left:0 !important;padding:6px !important;margin-bottom:8px !important;}.cx-evtable .cx-date,.cx-evtable .cx-tag{width:auto !important;display:inline-block !important;padding:2px 12px !important;}.cx-evtable .cx-tag{padding-top:0 !important;}}.cx-incident,.cx-incident p,.cx-incident li,.cx-incident span,.cx-incident strong,.cx-incident em,.cx-incident td,.cx-incident th,.cx-incident div{color:#121185 !important;}.cx-incident .cx-acc__panel-inner,.cx-incident .cx-acc__panel-inner p,.cx-incident .cx-acc__panel-inner li,.cx-incident .cx-acc__panel-inner span,.cx-incident .cx-acc__panel-inner strong,.cx-incident .cx-acc__panel-inner em,.cx-incident .cx-acc__panel-inner div{color:#121185 !important;}.cx-incident h2.cx-section-title{color:#F25929 !important;}.cx-incident h3,.cx-incident h4{color:#121185 !important;}.cx-incident .cx-acc__btn{color:#121185 !important;}.cx-incident a{color:#0563c1 !important;}.cx-incident a:hover{color:#6b34fd !important;}.cx-incident .cx-timeline-table thead th{color:#fff !important;}.cx-incident .cx-timeline-table td:first-child{color:#121185 !important;}.cx-incident .cx-timeline-table .cx-link-col,.cx-incident .cx-timeline-table .cx-link-col *{color:#6b34fd !important;}.cx-incident .cx-data-table th,.cx-incident .cx-data-table th *{color:#fff !important;}.cx-incident .cx-evtable .cx-tag-breach{color:#c0392b !important;}.cx-incident .cx-evtable .cx-tag-persistence{color:#d4a017 !important;}.cx-incident .cx-evtable .cx-tag-disclosure{color:#1f6feb !important;}@media (max-width:559px){.cx-incident .cx-timeline-table td:nth-child(2){color:#121185 !important;}.cx-incident .cx-timeline-table td:nth-child(4){color:#121185 !important;}}</style>




<div class="cx-incident">
<p><strong>Supply Chain Security Incident Summary</strong><br>
<strong>Updated June 4, 2026</strong></p>
<p>The following is designed to provide an incident summary and central location for updates that have previously been provided.</p>
<h2 class="cx-section-title article-anchor" id="situation-overview">Situation Overview</h2>
<p>Checkmarx experienced a cybersecurity supply chain incident affecting certain developer artifacts distributed through third-party channels.</p>
<p>On March 23, 2026, Checkmarx identified that attackers gained unauthorized access to Checkmarx’s GitHub repositories., This access accord on March 19, 2026 due tothe Trivy Supply Chain Attack. This access enabled the publication of malicious code to a number of externally distributed artifacts, including VS Code extensions, GitHub Actions workflows, and a Jenkins plugin. In addition, a cybercriminal group published data to the dark web that our investigation indicates originated from Checkmarx’s GitHub repositories.</p>
<p>Our investigation, conducted with the support of external forensic specialists including Mandiant, is in its final stages.</p>
<h2 class="cx-section-title article-anchor" id="timeline">Timeline</h2>
<p>Following is a timeline of events and updates.</p>
<div class="cx-timeline-wrap">
<table class="cx-timeline-table" role="grid">
<thead>
<tr>
<th scope="col">Date</th>
<th scope="col">Title</th>
<th scope="col">Description</th>
<th scope="col">Update</th>
</tr>
</thead>
<tbody>
<tr tabindex="0" data-target="acc-may9" onclick="(function(){['acc-may22','acc-may9'].forEach(function(t){var i=document.getElementById(t);if(!i)return;i.classList.add('is-open');var b=i.querySelector('.cx-acc__btn');if(b)b.setAttribute('aria-expanded','true');});var first=document.getElementById('acc-may22');setTimeout(function(){var r=first.getBoundingClientRect();window.scrollTo({top:r.top+(window.pageYOffset||document.documentElement.scrollTop)-100,behavior:'smooth'});},50);})()" onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();this.click();}">
<td>9-May-2026</td>
<td>Jenkins Plugin Compromise</td>
<td>External service account modified Jenkins AST plugin and published to Jenkins Marketplace</td>
<td class="cx-link-col">Incident Update: Friday, May 22, 2026<br>Incident Update: Saturday, May 9, 2026</td>
</tr>
<tr tabindex="0" data-target="acc-apr27" onclick="(function(){['acc-apr27','acc-apr26'].forEach(function(t){var i=document.getElementById(t);if(!i)return;i.classList.add('is-open');var b=i.querySelector('.cx-acc__btn');if(b)b.setAttribute('aria-expanded','true');});var first=document.getElementById('acc-apr27');setTimeout(function(){var r=first.getBoundingClientRect();window.scrollTo({top:r.top+(window.pageYOffset||document.documentElement.scrollTop)-100,behavior:'smooth'});},50);})()" onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();this.click();}">
<td>25-Apr-2026</td>
<td>Dark Web Leak</td>
<td>Data exfiltrated from Checkmarx GitHub repos March 30 using compromised credentials from March wave; cyber-criminals published to dark web April 25</td>
<td class="cx-link-col">Incident Update: Monday, April 27, 2026<br>Incident Update: Sunday, April 26, 2026</td>
</tr>
<tr tabindex="0" data-target="acc-apr22" onclick="(function(t){var i=document.getElementById(t);if(!i)return;i.classList.add('is-open');var b=i.querySelector('.cx-acc__btn');if(b)b.setAttribute('aria-expanded','true');setTimeout(function(){var r=i.getBoundingClientRect();window.scrollTo({top:r.top+(window.pageYOffset||document.documentElement.scrollTop)-100,behavior:'smooth'});},50);})('acc-apr22')" onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();this.click();}">
<td>22-Apr-2026</td>
<td>Second Wave Artifacts</td>
<td>Cached credentials enable publication of malicious KICS Docker image, updated VSCode &amp; DevAssist extensions, and GitHub Action</td>
<td class="cx-link-col">Incident Update: Wednesday, April 22, 2026</td>
</tr>
<tr tabindex="0" data-target="acc-mar23" onclick="(function(t){var i=document.getElementById(t);if(!i)return;i.classList.add('is-open');var b=i.querySelector('.cx-acc__btn');if(b)b.setAttribute('aria-expanded','true');setTimeout(function(){var r=i.getBoundingClientRect();window.scrollTo({top:r.top+(window.pageYOffset||document.documentElement.scrollTop)-100,behavior:'smooth'});},50);})('acc-mar23')" onkeydown="if(event.key==='Enter'||event.key===' '){event.preventDefault();this.click();}">
<td>23-Mar-2026</td>
<td>Supply Chain Entry</td>
<td>Team PCP compromises Trivy; stolen credentials used to publish malicious GitHub Actions &amp; VSCode extensions to OpenVSX</td>
<td class="cx-link-col">Incident Update: Monday, March 23, 2026</td>
</tr>
</tbody>
</table>
</div>
<h2 class="cx-section-title article-anchor" id="actions-taken">Actions Taken</h2>
<p>Since the first day of the incident, Checkmarx has been conducting active investigation, and remediation efforts. Key actions taken to date include:</p>
<ul>
<li>Removed malicious artifacts and published clean, verified replacements across all affected channels</li>
<li>Rotated and revoked exposed credentials, with validation and follow-up rotation continuing as the investigation progresses</li>
<li>Blocked outbound access to attacker-controlled infrastructure</li>
<li>Implementing additional security controls, tools, and access restrictions within our development environment</li>
<li>Locked down access to affected GitHub repositories while the investigation continues</li>
<li>Engaged law enforcement and notified relevant authorities</li>
<li>Retained Mandiant, an elite incident response and digital forensics firm, to bolster our investigation</li>
<li>Conducting a code audit to verify no further malicious code is present beyond findings already identified</li>
<li>Reviewing our environments for any indications of further compromise</li>
</ul>
<p>We are now in the final stages of our investigation. We will provide further updates as our investigation progresses.</p>
<h2 class="cx-section-title article-anchor" id="incident-updates">Incident Updates</h2>
<div class="cx-acc" id="cx-incident-acc">
<div class="cx-acc__item" id="acc-jun4">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Thursday, June 4, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>We continue to work with our incident response specialists, including Mandiant, to finalize our investigation following the supply chain incident that occurred in March. They are conducting multiple parallel workstreams focused on verified remediation, additional security hardening, and threat hunting.</p>
<p>Based on their review to date, Mandiant has confirmed the following:</p>
<ul>
<li>The AWS production environment was not impacted</li>
<li>There was no threat actor access to the Checkmarx One SaaS environment</li>
<li>Mandiant confirmed that threat actor activity was limited to the Checkmarx GitHub environment, a limited number of infected workstations, and initial reconnaissance of Checkmarx AWS credentials</li>
<li>Malicious code was removed from the Checkmarx GitHub environment</li>
<li>The last evidence of threat actor activity within the Checkmarx environment occurred on April 22, 2026</li>
</ul>
<p>In parallel with the investigation, Checkmarx is partnering with Mandiant on a program of containment and hardening across our development and production environments. Mandiant&rsquo;s completed and validated work to date includes enhancements to our GitHub organization settings and CI/CD pipeline security, elimination of long-lived static credentials in favor of stronger authentication methods, and additional hardening and monitoring across our AWS environments. This work is ongoing and Mandiant is actively validating Checkmarx&rsquo;s credential rotation.</p>
<p>Rest assured, our primary goal continues to be communicating with you transparently and providing updates as new information becomes available. We thank our customers for your patience as we work with Mandiant to finalize our investigation and we will continue to work hard to maintain your trust in our products and services.</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-may22">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Friday, May 22, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Over the past week and while our investigation is continuing, we held a series of conversations and calls with our customers so they could hear directly from us about the progress we are making in our response to the supply chain incident. We hope that these sessions were helpful in better understanding what has happened and what actions Checkmarx is taking in response.</p>
<p>We are sharing below the FAQs from these conversations. If you have further questions, please continue to direct these to your Checkmarx account team.</p>
<h3>Frequently Asked Questions</h3>
<h4>What is the status of the investigation?</h4>
<p>While we are continuing to investigate, we want to reiterate two key points from our investigation so far:</p>
<ul>
<li>The incident occurred within our GitHub environment. To date, our investigation has not identified impact beyond the Checkmarx GitHub environment and a limited number of infected workstations. As an added precautionary measure in the meantime, we proactively disconnected our release pipeline from production during the initial stages of our response.</li>
<li>The malicious artifacts did not override previously published, known safe versions. Customers using versions or SHAs published prior to the affected timeframes (see below) are not affected by the artifact compromises themselves. A full list of affected artifacts, malicious tags and SHAs, is available in the updates here below and in the Customer Support Portal.</li>
</ul>
<p>We have retained Mandiant, an elite incident response, digital forensics, and threat intelligence firm to confirm and further support our investigation, security hardening, and threat hunting efforts and to ensure no residual access remains. We will provide further updates as our investigation progresses.</p>
<h4>What measures are being taken to prevent this from happening again?</h4>
<p>We are undertaking, in partnership with Mandiant, a thorough investigation and implementing a robust set of containment measures and forward-looking controls to protect Checkmarx and our customers. To date, we have revoked all publishing permissions, revoked all classic GitHub personal access tokens, moved to OIDC authentication across the SDLC, and deployed additional monitoring and forensic tooling.</p>
<p>We are continuing to work alongside Mandiant to conduct a structured verification phase to confirm the scope of the incident and that no residual access paths remain.</p>
<h4>What steps should customers take to protect themselves?</h4>
<p>We recommend that our customers follow these best practices:</p>
<ul>
<li>Pin to specific SHAs rather than mutable tags (latest, debian, alpine)</li>
<li>Disable auto-update on IDE extensions</li>
<li>Scan images at pull time and validate signatures</li>
<li>Restrict egress from CI runners to an allowlist; monitor outbound connections for unexpected domains</li>
<li>Treat CI runner credentials as short-lived and tightly scoped.</li>
</ul>
<p>In addition, a full list of recommended actions for our customers can be found in the incident updates below.</p>
<h4>Was the May 9 Jenkins AST plugin activity part of the original incident?</h4>
<p>Our assessment based on currently available evidence is that the threat actor was able to leverage access, obtained as part of the March incident, to later publish the modified version of the Jenkins plugin on May 9. This plugin has now been removed and clean replacement versions have been published (2.0.13-848.v76e89de8a_053 and 2.0.13-847.v08c0072b_2fd5).</p>
<p>The malicious payload associated with the modified plug-in targets lists of file paths for common applications, each tailored to a specific operating system (WIN, LINUX, OSX). After determining the OS, it traverses the corresponding file list looking for credentials. Targeted applications include crypto wallets, VPNs, AWS, and Github. We are still conducting malware analysis to understand the specific paths, but to date we have not seen any references to Jenkins.</p>
<p>If you use the Jenkins AST plugin, we recommend the following actions:</p>
<ul>
<li>Ensure you are on one of those versions or on 2.0.13-829.vc72453fa_1c16 from December 17, 2025 or earlier. The malicious window was 2026-05-09 01:25 UTC to 2026-05-10 08:47 UTC. We recommend rotating all credentials that the pipeline that executed the malicious payload has access to.</li>
<li>Hunt across your environment using the indicators below.</li>
</ul>
<h4>File Characteristics</h4>
<div class="cx-data-table-wrap">
<table class="cx-data-table">
<thead>
<tr>
<th>File Name</th>
<th>File Type</th>
<th>Size (bytes)</th>
<th>MD5</th>
<th>SHA256</th>
</tr>
</thead>
<tbody>
<tr>
<td>cli.js</td>
<td>TXT</td>
<td>488,465</td>
<td>9f9f83795fc162b7e44bc6859fc80535</td>
<td>08352b4c37808a25895cda1cae27ec8a83cf7ee9de15e2d4dd9560a2906730f4</td>
</tr>
</tbody>
</table>
</div>
<h4>Network-based Indicators</h4>
<p><strong>Connections</strong></p>
<ul>
<li>hxxps[:]//api[.]github[.]com:443/user</li>
<li>hxxps[:]//registry[.]npmjs[.]org:443/-/whoami</li>
</ul>
<p><strong>HTTP Headers</strong></p>
<ul>
<li>User-Agent: node</li>
<li>Accept: application/vnd.github+json</li>
</ul>
<h4>Has any customer data been affected as part of this incident?</h4>
<p>Based on currently available evidence, we believe that the data the threat actor published to the dark web originated from Checkmarx&rsquo;s GitHub repository. As standard practice, we do not store customer data in our GitHub repository. The investigation into the nature and scope of any impacted data remains ongoing. We will notify customers individually if any personal or sensitive data relating to them was affected.</p>
<h4>Will you share a written incident summary with customers?</h4>
<p>We will share a post-incident summary covering findings, remediation, and forward-looking controls with customers upon request.</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-may9">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Saturday, May 9, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>We are aware that a modified version of the Checkmarx Jenkins AST plugin was published to the Jenkins Marketplace. We are in the process of publishing a new version of this plug-in.</p>
<p>If you are using Checkmarx Jenkins AST Plugin, you need to ensure that you are using the version 2.0.13-829.vc72453fa_1c16 that was published on Dec. 17, 2025 or previously.</p>
<p>We will continue to share updates as we have them available.</p>
<p><strong>Checkmarx Jenkins AST Plugin IOCs (malicious artifacts)</strong></p>
<div class="cx-data-table-wrap">
<table class="cx-data-table">
<tbody>
<tr>
<td class="cx-label">Marketplace</td>
<td><a href="https://plugins.jenkins.io/checkmarx-ast-scanner/">Checkmarx AST Scanner (plugins.jenkins.io)</a></td>
</tr>
<tr>
<td class="cx-label">Version</td>
<td>2026.5.09</td>
</tr>
<tr>
<td class="cx-label">File</td>
<td>checkmarx-ast-scanner-2026.5.09.hpi</td>
</tr>
<tr>
<td class="cx-label">SHA256</td>
<td>01ff1e56fd59a8fa525d97e670f7f297a1a204331b89b2cd4e36a9abc6419203</td>
</tr>
<tr>
<td class="cx-label">File</td>
<td>checkmarx-ast-scanner-2026.5.09.jar</td>
</tr>
<tr>
<td class="cx-label">SHA256</td>
<td>f50a96d26a5b0beb29de4127e82b2bf350c21511e5a43d286e43f798dc6cd53f</td>
</tr>
<tr>
<td class="cx-label">File</td>
<td>checkmarx-ast-scanner-2026.5.09.pom</td>
</tr>
<tr>
<td class="cx-label">SHA256</td>
<td>3ddb8967919a801b3c383e58cddceab21138134c6a26560d99e2672e86f36f2a</td>
</tr>
<tr>
<td class="cx-label">Window</td>
<td>2026-05-09 01:25:00 UTC to 2026-05-10 08:47:00 UTC</td>
</tr>
</tbody>
</table>
</div>
<h3>Latest SHAs:</h3>
<p>
2.0.13-848.v76e89de8a_053<br>
Released: May 9, 2026<br>
SHA-1: 65e4fbfbfb66dfd4a6e2e521e879cfa1b5745282<br>
SHA-256: db7e0a5eb292810fb9d68224596dd3fa887d094f37021073fb5b5b2a232bcd23<br>
Requires Jenkins 2.452.4
</p>
<p>
2.0.13-847.v08c0072b_2fd5<br>
Released: May 9, 2026<br>
SHA-1: f430ce10bf8bb66ab133a257ab4063b8055d23de<br>
SHA-256: 894c1a245f30ffe168f4dfda48f36ba5c1bc9da7d0f093a8095d8aed92d0fcd8<br>
Requires Jenkins 2.452.4
</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-apr27">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Monday, April 27, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<h3>What happened?</h3>
<p>On March 23, 2026, Checkmarx identified a cybersecurity incident originating from the Trivy Supply Chain Attack. The cybersecurity community previously reported on March 19 that the TeamPCP attack affecting the Trivy scanner could potentially be used to harvest credentials from downstream users.</p>
<p>While we are still investigating the incident, we believe this is the likely vector that enabled the attackers to obtain credentials and to gain unauthorized access to our GitHub repositories. As a result of that access, the attackers were able to interact with Checkmarx&rsquo;s GitHub environment and subsequently publish malicious code to certain artifacts.</p>
<p>As part of our investigation into the incident, we identified that exfiltration of data took place on March 30, 2026. A cybercriminal group subsequently published data related to Checkmarx to the dark web on April 25. Current evidence indicates that this data originated from Checkmarx&rsquo;s GitHub repositories, and that access to those repositories was facilitated through the initial supply chain attack of March 23, 2026.</p>
<p><strong>Importantly, Checkmarx&rsquo;s GitHub repositories are maintained separately from our customer production environment. As standard practice, we do not store customer data in our GitHub repository.</strong></p>
<h3>Incident Timeline</h3>
<div class="cx-banner">● FROM MARCH 23 — DAY ONE ONWARDS<br>
<span style="font-weight:400;display:block;margin-top:6px;">Checkmarx has been conducting active containment, investigation, remediation and communication efforts continuously from the first day of the incident.</span>
</div>
<div class="cx-data-table-wrap">
<table class="cx-evtable">
<tbody>
<tr class="cx-month">
<td colspan="4">— MARCH —</td>
</tr>
<tr>
<td class="cx-bar cx-bar-breach"></td>
<td class="cx-date">Mar 23</td>
<td class="cx-tag cx-tag-breach">EVENT</td>
<td>
<strong>Compromised artifacts published</strong><br>
Malicious Checkmarx artifacts are published. Attacker pushes malicious code directly into the Checkmarx GitHub repository.
<p>Containment, investigation, remediation and communication efforts commenced immediately, and remain ongoing.
</p>
</td>
</tr>
<tr class="cx-month">
<td colspan="4">— APRIL —</td>
</tr>
<tr>
<td class="cx-bar cx-bar-persistence"></td>
<td class="cx-date">Apr 22</td>
<td class="cx-tag cx-tag-persistence">PERSISTENCE</td>
<td>
<strong>Compromised artifacts published</strong><br>
A second wave of malicious Checkmarx artifacts are published, indicating continued or renewed attacker access.
</td>
</tr>
<tr>
<td class="cx-bar cx-bar-disclosure"></td>
<td class="cx-date">Apr 25</td>
<td class="cx-tag cx-tag-disclosure">DISCLOSURE</td>
<td>
<strong>LAPSUS$ publishes stolen data</strong><br>
LAPSUS$ publicly releases data stamped March 30, nearly one month after the suspected exfiltration of data from the Checkmarx GitHub repository by the attacker.
</td>
</tr>
</tbody>
</table>
</div>
<div class="cx-legend">
<span><span class="cx-sq" style="background:#c0392b;"></span>Breach / Exfiltration</span><br>
<span><span class="cx-sq" style="background:#d4a017;"></span>Persistence</span><br>
<span><span class="cx-sq" style="background:#1f6feb;"></span>Disclosure</span>
</div>
<h3>Actions we have taken</h3>
<p>Upon identification of the incident, Checkmarx commenced a formal investigation and engaged external forensic specialists to support that work.</p>
<p>Initial steps Checkmarx took to contain and remediate the incident included:</p>
<ul>
<li>Removed unauthorized code and published clean artifacts</li>
<li>Implemented additional safeguards within our development and distribution workflows</li>
<li>Rotated credentials identified as potentially exposed, with validation and follow-up rotation continuing as the investigation progressed</li>
<li>Reviewed our environments for indications of further compromise</li>
</ul>
<p>Following evidence of further malicious artifacts we took additional steps to strengthen our security posture:</p>
<ul>
<li>Engaged law enforcement to make them aware of the incident</li>
<li>Retained Mandiant, an elite incident response, digital forensics, and threat intelligence firm to bolster our investigation efforts</li>
<li>Conducted a wider rotation of credentials across the environment</li>
<li>Implemented additional security controls, tools, and access restrictions within our development environment</li>
<li>Performed additional reviews of access pathways and integrations</li>
<li>We have locked down access to the affected GitHub repositories while the investigation continues</li>
<li>A code audit is also currently underway to verify that no further malicious code is present beyond the findings already identified</li>
</ul>
<p>We are now in the final stages of our investigation and confirming that the unauthorised access has been fully contained. We will share further on this as soon as we are able.</p>
<h3>Additional Information</h3>
<p>We have communicated with our customers throughout this process and will continue to provide relevant updates as more information becomes available. Further information, including recommended steps customers can take, is available on our Support Portal or in our Security Updates.</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-apr26">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Sunday, April 26, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<h3>New Development: GitHub Repository</h3>
<p>We are writing to inform you of a new development in the ongoing Checkmarx supply chain security incident.</p>
<p>Our investigation, conducted with support from a leading third-party forensic firm, indicates that a cybercriminal group has published data related to Checkmarx to the dark web. Based on current evidence, we believe this data originated from Checkmarx&rsquo;s GitHub repository, and that access to that repository was facilitated through the initial supply chain attack of March 23, 2026.</p>
<p><strong>Checkmarx&rsquo;s GitHub repository is maintained separately from our customer production environment. As standard practice, we do not store customer data in our GitHub repository.</strong> Our forensic investigation is ongoing and we are actively working to verify the nature and scope of the posted data.</p>
<p>As part of our immediate response, we have locked down access to the affected GitHub repository while the investigation continues.</p>
<p>If we determine that customer information was involved in this incident, we will notify customers and all relevant parties immediately.</p>
<p>We expect to share a more detailed update within 24 hours.</p>
<h3>Questions and Support</h3>
<p>If you have questions about this incident or need assistance assessing your environment, please open a case via the <a href="http://support.checkmarx.com/" target="_blank" rel="noopener">Support Portal</a>.</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-apr22">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Wednesday, April 22, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<h3>What Happened</h3>
<p>On April 22, we communicated with customers about a new development in the supply chain security incident that our team is actively investigating and addressing. We deeply value the trust you place in Checkmarx and are committed to keeping our customers informed as we continue to respond.</p>
<p>As part of our immediate response, we retained outside experts and are working around the clock to get to the bottom of this as quickly as possible. In the interim, we are sharing key findings to-date and recommended actions for our customers to take.</p>
<h3>Key Findings</h3>
<p>Notably, our investigation thus far indicates that the malicious artifacts did <strong>not</strong> override previously published, known safe versions. Customers using versions or SHAs published prior to the affected timeframes are <strong>not affected.</strong></p>
<h3>Affected Artifacts</h3>
<p>The following artifacts have been identified as potentially affected:</p>
<ol>
<li>
<strong>Checkmarx public DockerHub KICS image</strong> &mdash; <a href="https://hub.docker.com/r/checkmarx/kics">https://hub.docker.com/r/checkmarx/kics</a>
<ol>
<li>Malicious tags: v2.1.20-debian, v2.1.21-debian, debian, v2.1.21, v2.1.20, alpine, v2.1.20, v2.1.21, latest</li>
<li>Malicious SHAs: sha256:222e6bfed0f3b, sha256:9183908decd0f, sha256:a6871deb0480e, sha256:ff7b0f114f87c, sha256:1b01a97753780, sha256:2588a44890263, sha256:54f8a56bf1f71, sha256:d186161ae8e33, sha256:415610a42c5b5, sha256:e35bc6afc4857, sha256:a0d9366f6f016, sha256:903eef3c05f6e, sha256:26e8e9c5e53c9, sha256:7391b531a07fc, sha256:4c963fa00e585</li>
<li>Timeframe: from 2026-04-22 12:31:35.883 UTC to 2026-04-22 12:59:46.562 UTC</li>
</ol>
</li>
<li>
<strong>Checkmarx public ast-github-action</strong> &mdash; <a href="https://github.com/checkmarx/ast-github-action">https://github.com/checkmarx/ast-github-action</a>
<ol>
<li>Malicious tags: 2.3.35</li>
<li>Timeframe: from 2026-04-22 14:17:59 UTC to 2026-04-22 15:41:31 UTC</li>
</ol>
</li>
<li>
<strong>Checkmarx VS Code extension</strong>
<ol>
<li>Microsoft marketplace: <a href="https://marketplace.visualstudio.com/items?itemName=checkmarx.ast-results">https://marketplace.visualstudio.com/items?itemName=checkmarx.ast-results</a>
</li>
<li>Open VSX marketplace: <a href="https://open-vsx.org/extension/checkmarx/ast-results">https://open-vsx.org/extension/checkmarx/ast-results</a>
</li>
<li>Malicious tags: 2.63, 2.66</li>
<li>Timeframe &mdash; Microsoft marketplace: From 2026-04-22 13:06:00 UTC to 2026-04-22 17:48:00 UTC<br>Timeframe &mdash; Open-VSX marketplace: From 2026-04-22 13:06:00 UTC to 2026-04-22 21:20:00 UTC</li>
</ol>
</li>
<li>
<strong>Checkmarx Developer Assist extension</strong>
<ol>
<li>Microsoft marketplace: <a href="https://marketplace.visualstudio.com/items?itemName=checkmarx.cx-dev-assist">https://marketplace.visualstudio.com/items?itemName=checkmarx.cx-dev-assist</a>
</li>
<li>Open VSX marketplace: <a href="https://open-vsx.org/extension/checkmarx/cx-dev-assist">https://open-vsx.org/extension/checkmarx/cx-dev-assist</a>
</li>
<li>Malicious tags: 1.17, 1.19</li>
<li>Timeframe &mdash; Microsoft marketplace: From 2026-04-22 13:06:00 UTC to 2026-04-22 17:48:00 UTC<br>Timeframe &mdash; Open-VSX marketplace: From 2026-04-22 13:06:00 UTC to 2026-04-22 21:20:00 UTC</li>
</ol>
</li>
</ol>
<h3>Actions We&rsquo;ve Taken</h3>
<p>To date, in response to this development we have:</p>
<ol>
<li>Removed the malicious artifacts;</li>
<li>Revoked and rotated exposed credentials;</li>
<li>Blocked outbound access to attacker-controlled infrastructure;</li>
<li>Reviewed our environments for any signs of further compromise.</li>
<li>Initiated a forensic investigation with the assistance of an independent, third-party forensic firm.</li>
</ol>
<h3>Recommended Actions</h3>
<p>We recommend that our customers take the following steps as soon as possible:</p>
<ol>
<li>Block access to these domains and IP addresses:
<ol>
<li>checkmarx.cx =&gt; 91[.]195[.]240[.]123</li>
<li>audit.checkmarx.cx =&gt; 94[.]154[.]172[.]43</li>
</ol>
</li>
<li>Use pinned SHAs and review or disable auto-update settings in IDE marketplaces</li>
<li>Rotate secrets and credentials if a compromise is suspected or detected
<ol>
<li>DockerHub KICS image: latest, v2.1.20, alpine, Debian</li>
<li>Checkmarx ast-github-action: v2.3.36</li>
<li>Checkmarx VS Code extensions: v2.67.0</li>
<li>Checkmarx Developer Assist extension: v1.18.0</li>
</ol>
</li>
</ol>
<h3>Guidance for CxSAST On-Premise Customers</h3>
<p>We have received questions from customers running CxSAST on-premise about whether their environments are within the scope of this incident. This communication outlines what is, and is not, in scope for your specific environment (Cx SAST on-premises and CxSAST hosted), and the limited circumstance under which you may need to take action.</p>
<h3>Scope Summary</h3>
<p>Based on our investigation to date, the artifacts confirmed as compromised in this incident are externally distributed components associated with Checkmarx One. They are not part of, and are not delivered with, a CxSAST on-premise installation. Specifically:</p>
<ul>
<li>
<strong>CxSAST on-premise itself was not compromised.</strong> The incident affected externally distributed artifacts, not the CxSAST product or its installer.</li>
<li>
<strong>Checkmarx One (SaaS) infrastructure has not been identified as compromised.</strong> We mention this for completeness, as customer questions often span both deployment models.</li>
<li>The compromised GitHub Actions (<code>checkmarx/ast-github-action</code> and <code>checkmarx/kics-github-action</code>) are used to invoke Checkmarx One scans from CI/CD pipelines. They are not used by CxSAST on-premise customers in that role.</li>
<li>The compromised VS Code extensions (<code>checkmarx.ast-results</code> and <code>checkmarx.cx-dev-assist</code>) are the Checkmarx One IDE integrations. The CxSAST on-premise IDE plugin is a separate component and was not affected.</li>
</ul>
<p>Although CxSAST on-premise is out of scope for the compromised artifacts, an incident of this nature warrants standard security vigilance regardless of deployment model. Below we outline the specific conditions that would require a CxSAST on-premise customer to take action as a result of this incident.</p>
<h3>Action Required If Applicable</h3>
<p>If your organization independently uses the open-source KICS scanner — specifically by pulling the public KICS image from Docker Hub (<a href="https://hub.docker.com/r/checkmarx/kics">hub.docker.com/r/checkmarx/kics</a>) outside of any CxSAST or Checkmarx One workflow — we recommend further action if the image was pulled during the affected time window. This image is distinct from the CxSAST product and from the IaC scanning capability built into Checkmarx One.</p>
<p>The compromised KICS image was present on Docker Hub during the following window:</p>
<ul>
<li>From 2026-04-22 12:31:35 UTC to 2026-04-22 12:59:46 UTC.</li>
</ul>
<p>If you did not pull from Docker Hub during this window, you do not need to take further action. If you did, or are uncertain, please verify the image SHA against the list of malicious SHAs in our <a href="https://checkmarx.com/blog/checkmarx-security-update-april-22/"><strong>public advisory</strong></a> and treat any match as a potential compromise of the host that pulled the image and take further action as appropriate.</p>
<h3>Precautionary Actions for All Customers</h3>
<p>For most CxSAST on-premise customers, no product-level remediation is required. As precautionary measures aligned with the broader incident, we recommend:</p>
<ul>
<li>Block outbound access at the network perimeter to: <code>checkmarx.cx</code> (91.195.240.123), <code>audit.checkmarx.cx</code> (94.154.172.43), <code>updates.checkmarx.cx</code> (94.154.172.183), and <code>checkmarx.zone</code> (associated with the March 23 round).</li>
<li>If your developers use VS Code, confirm that any installed Checkmarx extensions are sourced from the official Microsoft VS Code Marketplace and are current safe versions (<code>ast-results</code> v2.67.0 and Developer Assist v1.18.0 or v1.20.0). Consider temporarily disabling auto-update on these extensions until the investigation is closed.</li>
<li>Review CI/CD logs and developer workstation telemetry for outbound connections to any of the domains and IPs above during the affected windows.</li>
</ul>
<h3>Where to Go for Help</h3>
<p>For environment-specific questions, please open a Support case via the Support Portal at <a href="http://support.checkmarx.com/">support.checkmarx.com</a>.</p>
<p>We will continue to update this page as our investigation progresses.</p>
<h3>Next Steps</h3>
<p>This is an ongoing investigation. Please continue to monitor the <a href="https://support.checkmarx.com/CheckmarxCustomerServiceCommunity/s/article/Checkmarx-Security-Incident-22-April-2026">Checkmarx Community Incident Page</a> for more information.</p>
<p>If you have questions about this development, please open a case via the Support Portal.</p>
<p>We are grateful for your continued support and patience as we work to address this incident.</p>
</div>
</div>
</div>
<div class="cx-acc__item" id="acc-mar23">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Incident Update: Monday, March 23, 2026</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>On March 23, 2026, Checkmarx identified a cybersecurity supply chain incident affecting certain Checkmarx-related developer artifacts distributed via third-party channels.</p>
<p>This post contains a structured overview of the incident and the steps we have taken to date, as well as additional resources to support our clients and team members.</p>
<h3>What Happened</h3>
<p>On March 23, 2026, Checkmarx was the target of a cybersecurity supply chain incident which affected two specific plugins distributed via the OpenVSX marketplace and two of our GitHub Actions workflows.</p>
<h3>OpenVSX Plugins</h3>
<p>On March 23, 2026, at approximately 02:53 UTC, malicious versions of two plugins were published to the OpenVSX registry.</p>
<p>Only organizations that downloaded the following artifacts from OpenVSX on 23 March, 2026 between 02:53 UTC and 15:41 UTC and ran it are potentially impacted by this incident.</p>
<ul>
<li>ast-results-2.53.0.vsix</li>
<li>cx-dev-assist-1.7.0.vsix</li>
</ul>
<p>The affected plug-ins are no longer available and all older GitHub versions have been permanently removed.</p>
<p>Plugins downloaded from the VS Code Marketplace were not affected.</p>
<h3>Recommended actions</h3>
<p>The following guidance is provided as a precautionary measure to support customer-led assessments and remediation, where relevant to their environments.</p>
<p>If a client downloaded and ran either of the above extensions from the Open VSX registry, their organization may be affected.</p>
<p>If the client organization may have been affected, we strongly recommend taking the following steps as soon as possible.</p>
<p><strong>1. Remove Malicious Components</strong></p>
<ul>
<li>Uninstall the following VSIX extensions from all environments:
<ul>
<li>checkmarx.ast-results-2.53.0.vsix</li>
<li>checkmarx.cx-dev-assist-1.7.0.vsix</li>
</ul>
</li>
<li>use ast-github-action &ndash; v2.3.33 only</li>
<li>use kics-github-action &ndash; v2.1.20 only</li>
<li>Ensure they are removed from:
<ul>
<li>All developer machines</li>
<li>All VSCode profiles and environments</li>
</ul>
</li>
</ul>
<p><strong>2. Revoke and Rotate Credentials</strong></p>
<h3>GitHub Actions</h3>
<p>An issue was also identified in KICS and AST GitHub Action on March 23, 2026. The attacker injected malicious payloads into the following GitHub Actions workflows which were available between 12:58 and 16:50 UTC:</p>
<ul>
<li>checkmarx/ast-github-action</li>
<li>checkmarx/kics-github-action</li>
</ul>
<p>Maintainers revoked the affected tags, securing access, and preventing unauthorized changes.</p>
<p>All GitHub Actions have been updated to the following latest verified releases, and all older versions have been permanently deleted from the organization&rsquo;s repositories:</p>
<ul>
<li>ast-github-action &mdash; v2.3.33 (released March 23, 2026)</li>
<li>kics-github-action &mdash; v2.1.20 (released March 23, 2026)</li>
</ul>
<p>Both versions are the only ones available in our repos. All pipelines must reference these versions exclusively or newer.</p>
<h3>Recommended actions</h3>
<p>If you downloaded the malicious versions of either plugin (ast-results-2.53.0.vsix or cx-dev-assist-1.7.0.vsix) from OpenVSX during the affected period, we strongly recommend following these precautionary steps:</p>
<ul>
<li>Revoke and rotate all secrets and credentials accessible to CI runners during the affected period, including GitHub Personal Access Tokens (PATs), cloud service credentials, and repository or organization-level secrets.</li>
<li>Review GitHub Actions runs, search for suspicious indicators such as references to tpcp.tar.gz, aquasecurity, or checkmarx.zone, and check for unexpected repositories like tpcp-docs. In case you spot any occurrences of these, please remove them or contact the Checkmarx Support for guidance.</li>
<li>Revoke access to the following tokens, and issue new ones:
<ul>
<li>GitHub credentials</li>
<li>Microsoft Azure access</li>
<li>Google Cloud (GCP) access</li>
<li>AWS access</li>
<li>Kubernetes service account tokens and kubeconfigs</li>
<li>SSH keys</li>
<li>Docker registry credentials</li>
</ul>
</li>
<li>Block Malicious Infrastructure by restricting access to checkmarx[.]zone and review historical network traffic for any communication with this domain</li>
<li>Review logs and systems for GitHub activity such as unexpected API usage, suspicious repositories or artifacts such as docs-tpcp and/or tpcp.tar.gz, unauthorized releases or CI-triggered changes</li>
<li>For any revoked token, key or credentials from previous stages:
<ul>
<li>Review related activity within exposure time frame, to validate no lateral movement took place</li>
<li>Monitor for any future attempts to use these credentials to identify ongoing attempts to attack infrastructure</li>
</ul>
</li>
</ul>
<h3>Containment &amp; Remediation</h3>
<p>Upon identification of the issue, we took immediate steps to contain and remediate the incident. We removed the unauthorized code, pinned our workflows to safe verified commit SHAs, revoked and rotated relevant credentials, blocked outbound access to the attacker-controlled domain, and reviewed our environments for any signs of further compromise.</p>
<h3>Investigation Status</h3>
<p>We have commenced a formal investigation and engaged external forensic specialists to support that work. This investigation is ongoing and includes investigating the behaviour and objectives of the malicious code.</p>
<p>Available information indicates that the primary functionality of the code was focused on the attempted collection and exfiltration of credentials and secrets from affected environments, without evidence to date that such data was successfully exfiltrated from any customer environment.</p>
<p>Based on the investigation to date, and subject to the evidential limitations described below, we recommend continued vigilance and that you notify us promptly if you become aware of any suspicious activity.</p>
<p>While the investigation is ongoing, to date, we do not have evidence indicating that the incident resulted in unauthorised access to customer data or systems, that data held by Checkmarx has been accessed, nor can we yet confirm that any particular customer environment was compromised.</p>
<p>It is important to note that because the affected artefacts execute within customer-controlled environments, confirmation of whether a particular customer was impacted depends on an assessment of those environments, rather than on telemetry held by Checkmarx. Those CI/CD pipelines and developer workstations are customer-controlled environments, and Checkmarx does not have independent visibility into their execution or logs.</p>
</div>
</div>
</div>
</div>
<h2 class="cx-section-title article-anchor" id="commitment">Our Commitment to You</h2>
<p>Protecting the security and privacy of our clients and team members is a responsibility we hold to the highest standard. The investigation into the nature and scope of any impacted data remains ongoing. We will notify customers individually if any personal or sensitive data relating to them was affected.</p>
<p>If you have questions or need assistance assessing your environment, please reach out to our security team at <a href="mailto:infosec@checkmarx.com">infosec@checkmarx.com</a> or open a case via the <a href="http://support.checkmarx.com/" target="_blank" rel="noopener">Support Portal</a>. Detailed assessment and remediation guidance, including indicators of compromise and recommended next steps, is also available on the Support Portal.</p>
<h2 class="cx-section-title article-anchor" id="faqs">Frequently Asked Questions</h2>
<div class="cx-acc" id="cx-faq-acc">
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">What is the status of the investigation?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>While we are continuing to investigate, we want to reiterate two key points from our investigation so far:</p>
<ul>
<li>The incident occurred within our GitHub environment. To date, our investigation has not identified impact beyond the Checkmarx GitHub environment and a limited number of infected workstations. As an added precautionary measure in the meantime, we proactively disconnected our release pipeline from production during the initial stages of our response.</li>
<li>The malicious artifacts did not override previously published, known safe versions. Customers using versions or SHAs published prior to the affected timeframes (see below) are not affected by the artifact compromises themselves. A full list of affected artifacts, malicious tags and SHAs, is available in the updates here below and in the Customer Support Portal.</li>
</ul>
<p>We have retained Mandiant, an elite incident response, digital forensics, and threat intelligence firm to confirm and further support our investigation, security hardening, and threat hunting efforts and to ensure no residual access remains. We will provide further updates as our investigation progresses.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">What measures are being taken to prevent this from happening again?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>We are undertaking, in partnership with Mandiant, a thorough investigation and implementing a robust set of containment measures and forward-looking controls to protect Checkmarx and our customers. To date, we have revoked all publishing permissions, revoked all classic GitHub personal access tokens, moved to OIDC authentication across the SDLC, and deployed additional monitoring and forensic tooling.</p>
<p>We are continuing to work alongside Mandiant to conduct a structured verification phase to confirm the scope of the incident and that no residual access paths remain.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">What steps should customers take to protect themselves?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>We recommend that our customers follow these best practices:</p>
<ul>
<li>Pin to specific SHAs rather than mutable tags (latest, debian, alpine)</li>
<li>Disable auto-update on IDE extensions</li>
<li>Scan images at pull time and validate signatures</li>
<li>Restrict egress from CI runners to an allowlist; monitor outbound connections for unexpected domains</li>
<li>Treat CI runner credentials as short-lived and tightly scoped.</li>
</ul>
<p>In addition, a full list of recommended actions for our customers can be found in the incident updates above.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Was the May 9 Jenkins AST plugin activity part of the original incident?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Our assessment based on currently available evidence is that the threat actor was able to leverage access, obtained as part of the March incident, to later publish the modified version of the Jenkins plugin on May 9. This plugin has now been removed and clean replacement versions have been published (2.0.13-848.v76e89de8a_053 and 2.0.13-847.v08c0072b_2fd5).</p>
<p>The malicious payload associated with the modified plug-in targets lists of file paths for common applications, each tailored to a specific operating system (WIN, LINUX, OSX). After determining the OS, it traverses the corresponding file list looking for credentials. Targeted applications include crypto wallets, VPNs, AWS, and Github. We are still conducting malware analysis to understand the specific paths, but to date we have not seen any references to Jenkins.</p>
<p>If you use the Jenkins AST plugin, we recommend the following actions:</p>
<ul>
<li>Ensure you are on one of those versions or on 2.0.13-829.vc72453fa_1c16 from December 17, 2025 or earlier. The malicious window was 2026-05-09 01:25 UTC to 2026-05-10 08:47 UTC. We recommend rotating all credentials that the pipeline that executed the malicious payload has access to.</li>
<li>Hunt across your environment using the indicators below.</li>
</ul>
<p><strong>File Characteristics</strong></p>
<div class="cx-data-table-wrap">
<table class="cx-data-table">
<thead>
<tr>
<th>File Name</th>
<th>File Type</th>
<th>Size (bytes)</th>
<th>MD5</th>
<th>SHA256</th>
</tr>
</thead>
<tbody>
<tr>
<td>cli.js</td>
<td>TXT</td>
<td>488,465</td>
<td>9f9f83795fc162b7e44bc6859fc80535</td>
<td>08352b4c37808a25895cda1cae27ec8a83cf7ee9de15e2d4dd9560a2906730f4</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Network-based Indicators</strong></p>
<p>Connections:</p>
<ul>
<li>hxxps[:]//api[.]github[.]com:443/user</li>
<li>hxxps[:]//registry[.]npmjs[.]org:443/-/whoami</li>
</ul>
<p>HTTP Headers:</p>
<ul>
<li>User-Agent: node</li>
<li>Accept: application/vnd.github+json</li>
</ul>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Has any customer data been affected as part of this incident?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Based on currently available evidence, we believe that the data the threat actor published to the dark web originated from Checkmarx&rsquo;s GitHub repository. As standard practice, we do not store customer data in our GitHub repository. The investigation into the nature and scope of any impacted data remains ongoing. We will notify customers individually if any personal or sensitive data relating to them was affected.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Will you share a written incident summary with customers?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>We will share a post-incident summary covering findings, remediation, and forward-looking controls with customers upon request.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">How can a customer determine whether its specific environment was affected?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Determining whether a specific environment was affected requires a structured assessment across two vectors: CI/CD pipelines and developer workstations.</p>
<p><strong>Assessment &mdash; CI/CD pipelines (GitHub Actions):</strong></p>
<ol>
<li>Search all GitHub workflow files (.github/workflows/*.yml) for references to checkmarx/kics-github-action and checkmarx/ast-github-action.</li>
<li>If references are identified, determine the version or tag in use (e.g., @main, @v2.3.32, a commit SHA).</li>
<li>Ascertain whether any workflow runs referencing these actions occurred during the affected window in March 2026. GitHub Actions run logs are retained for a configurable period and should be reviewed for the relevant timeframe.</li>
<li>If runs occurred during the affected window, review runner logs for: outbound connections to checkmarx[.]zone, execution of a setup.sh script not forming part of the customer&rsquo;s own workflow, or any anomalous network activity.</li>
</ol>
<p><strong>Assessment &mdash; Developer workstations (Open VSX plugins):</strong></p>
<ol>
<li>Identify all developers utilizing VS Code within the organization.</li>
<li>Determine whether Checkmarx extensions were installed from the Open VSX Registry (open-vsx.org) rather than the official VS Code Marketplace (marketplace.visualstudio.com).</li>
<li>Verify the extension version and installation or last-update timestamp. Any Checkmarx VS Code extension installed or auto-updated from the Open VSX Registry during the affected window should be treated as potentially compromised.</li>
<li>Inspect the workstation for the relevant plugin directories (refer to FAQ F10 for applicable paths) and review proxy or DNS logs for connections to checkmarx[.]zone.</li>
</ol>
<p><strong>Important note regarding Checkmarx scan-based detection:</strong></p>
<p>Executing a Checkmarx SAST or SCA scan against your organization&rsquo;s codebase will not detect whether your environment was compromised by this incident. The incident involves malicious code executed within a CI/CD runner or IDE environment and does not constitute a vulnerability in application code that a scan would identify. Exposure assessment must be conducted through log analysis, workstation inspection, and credential audit as described above.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">How did the compromise happen, how was it discovered, and what is Checkmarx doing to prevent similar supply-chain attacks in the future?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>See Checkmarx Security Update, 26 March 2026 (<a href="https://checkmarx.com/blog/checkmarx-security-update/">https://checkmarx.com/blog/checkmarx-security-update/</a>)</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Which Checkmarx GitHub Actions and plugins were affected?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Both checkmarx/ast-github-action and checkmarx/kics-github-action were affected by this incident, as were the two Open VSX Registry plugins referenced in Checkmarx&rsquo;s security communications.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">What IOCs can Checkmarx share (hashes, filenames/folders, domains, IPs, SHAs, setup.sh artifacts)?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>The following indicators of compromise (IOCs) have been identified through Checkmarx&rsquo;s investigation and independent third-party security research. The investigation remains ongoing and additional IOCs may be published.</p>
<p><strong>Malicious domain / command-and-control infrastructure:</strong></p>
<p>checkmarx[.]zone &mdash; This attacker-controlled domain was intended to be used for the exfiltration of any stolen credentials and secrets. Any outbound DNS query or HTTP/HTTPS connection to this domain originating from CI/CD runners or developer workstations during the affected window should be treated as a confirmed indicator of compromise.</p>
<p><strong>Malicious VSIX filenames (Open VSX):</strong></p>
<ul>
<li>ast-results-[version].vsix</li>
<li>cx-dev-assist-[version].vsix</li>
</ul>
<p>The specific filenames checkmarx.ast-results-2.53.0.vsix and checkmarx.cx-dev-assist-1.7.0.vsix have been referenced in customer communications. Customers should evaluate any version downloaded from the Open VSX Registry during the affected window, not solely these specific version numbers.</p>
<p><strong>On-disk extension directories:</strong></p>
<p>The presence of Open VSX-sourced Checkmarx extension directories within VS Code&rsquo;s extension folder constitutes a potential indicator. Refer to FAQ F10 for applicable file paths.</p>
<p><strong>Runner artifacts (setup.sh):</strong></p>
<p>The compromised GitHub Actions injected a script (setup.sh) on the CI/CD runner as part of the action&rsquo;s initialization sequence. The presence of this script or associated runner artifacts constitutes a behavioral indicator of compromise. The full contents of setup.sh cannot be publicly disclosed at this time given the ongoing investigation.</p>
<p><strong>File hashes (SHA256) &mdash; sourced from Wiz threat intelligence reporting:</strong></p>
<p>ast-results-2.53.0.vsix: 65bd72fcddaf938cefdf55b3323ad29f649a65d4ddd6aea09afa974dfc7f105d</p>
<p>cx-dev-assist-1.7.0.vsix: 744c9d61b66bcd2bb5474d9afeee6c00bb7e0cd32535781da188b80eb59383e0</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Which credentials, secrets, or keys must be rotated, and was only GitHub affected or potentially other credentials too?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>The malicious payload embedded in both the GitHub Actions and the Open VSX plugins was designed to exfiltrate environment variables and secrets from the execution context of the affected GitHub repository.</p>
<p><strong>Credentials at risk &mdash; GitHub Actions (CI/CD):</strong></p>
<p>Any secret configured within the affected GitHub repository or organization and accessible to the workflow at the time the compromised action executed is potentially at risk. This includes, but is not limited to: GITHUB_TOKEN, API keys, cloud provider credentials, database credentials, and Checkmarx API tokens.</p>
<p><strong>Credentials at risk &mdash; Developer workstations (Open VSX plugin exposure):</strong></p>
<p>Any credential accessible within the VS Code environment, including those stored in environment variables, configuration files, or tokens used by the IDE, should be treated as potentially at risk.</p>
<p><strong>Credentials requiring rotation:</strong></p>
<ol>
<li>All GitHub repository secrets in any repository or organization where the compromised actions executed.</li>
<li>Checkmarx API keys and tokens used within the affected pipelines.</li>
<li>Cloud provider credentials (AWS, Azure, GCP) if present as environment variables in affected workflows.</li>
<li>All other API keys, tokens, or passwords configured as GitHub secrets or environment variables in the affected workflows.</li>
<li>On developer workstations: any tokens or secrets stored in VS Code settings, environment variables, or configuration files where the malicious Open VSX plugin was installed and active.</li>
</ol>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Will Checkmarx provide a formal root-cause analysis (RCA) report?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Checkmarx recognizes that many enterprise customers — particularly those in regulated industries or with formal vendor risk management programs — require a written root-cause analysis or incident statement from strategic suppliers following a supply chain security incident such as this.</p>
<p>Checkmarx is committed to providing material updates, and preparing a post-incident report. While the investigation is still ongoing — including with support from a third-party forensic firm we have engaged — we expect the report to include:</p>
<ul>
<li>Our findings with respect to the root cause and attack vector exploited by the TeamPCP threat actor, as established by the investigation</li>
<li>A timeline of events from initial compromise through detection and remediation</li>
<li>Findings with respect to affected artifacts and the scope of customer impact, as confirmed by the investigation</li>
<li>The remediation actions taken by Checkmarx</li>
<li>Forward-looking preventive controls to enhance Checkmarx&rsquo;s security posture</li>
</ul>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Does this incident affect Checkmarx One SaaS / cloud or scanning engines, and do SaaS-only customers need to take action?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>The Checkmarx One SaaS platform, including cloud-hosted scanning engines, the Checkmarx One web application, and associated backend services, do not appear to be affected by this incident.</p>
<p>This incident constitutes a supply-chain compromise targeting specific open-source distribution artifacts (GitHub Actions and Open VSX plugins). It does not represent a breach of Checkmarx&rsquo;s SaaS infrastructure. It does not appear that the threat actor obtained access to Checkmarx One customer tenants, customer data, scan results, or the platform&rsquo;s internal systems.</p>
<p>Notwithstanding the above, SaaS customers who utilize the affected GitHub Actions (checkmarx/kics-github-action or checkmarx/ast-github-action) within their own CI/CD pipelines, or whose developers installed plugins sourced from the Open VSX Registry, may be indirectly affected.</p>
<p>We understand the residual risk pertains to the customer&rsquo;s own CI/CD runner environments and developer workstations on which the malicious code may have executed.</p>
<p><strong>Recommended action for SaaS customers:</strong></p>
<p>If your organization does not use checkmarx/kics-github-action or checkmarx/ast-github-action in its GitHub pipelines and developers do not use Open VSX-sourced plugins, no specific action with respect to the SaaS platform is required. If the affected GitHub Actions are in use, any runner that executed those actions during the affected window should be treated as potentially compromised, and customers should follow the remediation guidance including credential rotation, log review, and runner inspection. We recommend heightened vigilance at this time.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Which versions, tags, and time windows were affected, and which versions are safe now?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p><strong>Affected versions and tags:</strong></p>
<p><strong>checkmarx/ast-github-action:</strong></p>
<ul>
<li>3.32 was compromised.</li>
<li>References to @main during the exposure window (March 2026) were compromised.</li>
<li>Any unpinned or floating reference that resolved to a compromised commit during the exposure window should be treated as affected.</li>
</ul>
<p><strong>checkmarx/kics-github-action:</strong></p>
<ul>
<li>All versions and tags active on the @main branch during the exposure window (March 2026) were compromised.</li>
<li>Any unpinned or floating reference that resolved during the exposure window should be treated as affected.</li>
</ul>
<p><strong>Open VSX plugins:</strong></p>
<ul>
<li>ast-results v2.53.0 was compromised.</li>
<li>cx-dev-assist v1.7.0 was compromised.</li>
<li>Any version of either plugin installed or auto-updated from the Open VSX Registry during the exposure window should be treated as compromised.</li>
</ul>
<p><strong>Safe versions (post-remediation):</strong></p>
<ul>
<li>checkmarx/ast-github-action v2.3.33 or later has been confirmed clean.</li>
<li>checkmarx/kics-github-action: pin to a version or commit SHA published following remediation; customers should confirm the specific safe tag with their Checkmarx account team.</li>
<li>Open VSX plugins: reinstall from the official VS Code Marketplace. Current Marketplace versions are confirmed clean.</li>
<li>@main as of the date of remediation references clean code; however, pinning to an explicit version tag or commit SHA is strongly recommended as best practice.</li>
</ul>
<p><strong>Exposure window:</strong></p>
<p>Malicious artifacts were active during March 2026. The precise commencement date remains under investigation. Any pipeline execution or plugin installation or auto-update occurring during this period should be evaluated for potential exposure.</p>
</div>
</div>
</div>
<div class="cx-acc__item">
<button type="button" class="cx-acc__btn" aria-expanded="false" onclick="var i=this.parentNode;i.classList.toggle('is-open');this.setAttribute('aria-expanded',i.classList.contains('is-open'));return false;">Is a third party involved in the investigation, what is the investigation timeline, and has/will the incident be reported to regulators or law enforcement?</button>
<div class="cx-acc__panel">
<div class="cx-acc__panel-inner">
<p>Yes. We have appointed external breach counsel, and a leading forensics expert to assist with our investigation. We are unable to provide an estimated timeline. At this stage, we are notifying regulators and law enforcement as we deem necessary.</p>
</div>
</div>
</div>
</div>
</div>
<p><script data-no-optimize="1" data-no-minify="1" data-cfasync="false">/*<![CDATA[*/
(function(){function fix(){if(window.innerWidth>=992)return;try{var el=document.querySelector('.cx-incident');if(!el)return;var vw=document.documentElement.clientWidth;var node=el;var safety=0;while(node&&node!==document.documentElement&&safety<25){safety++;try{node.style.setProperty('max-width',vw+'px','important');node.style.setProperty('overflow-x','hidden','important');node.style.setProperty('box-sizing','border-box','important');}catch(e){}node=node.parentElement;}document.documentElement.style.setProperty('overflow-x','hidden','important');document.documentElement.style.setProperty('max-width',vw+'px','important');document.body.style.setProperty('overflow-x','hidden','important');document.body.style.setProperty('max-width',vw+'px','important');document.body.style.setProperty('width','100%','important');}catch(e){}}fix();if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',fix);}window.addEventListener('load',fix);setTimeout(fix,500);setTimeout(fix,1500);window.addEventListener('resize',fix);window.addEventListener('orientationchange',fix);})();
/*]]&gt;*/</script></p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>When Findings Spark Debate Instead of Fixes: Aligning AppSec and Development</title>
		<link>https://checkmarx.com/blog/when-findings-spark-debate-instead-of-fixes-aligning-appsec-and-development/</link>
		
		<dc:creator><![CDATA[Rebecca Spiegel]]></dc:creator>
		<pubDate>Tue, 19 May 2026 09:39:26 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[Agentic AppSec]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AppSec]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108791</guid>

					<description><![CDATA[When security findings lack context, developers lose time investigating instead of fixing. Here’s how AI-driven triage changes the workflow.]]></description>
										<content:encoded><![CDATA[<p>Modern development teams are already balancing feature work, code reviews, production issues, and release deadlines. When a security finding lands without clear context, it doesn’t feel like a simple task. It feels like another investigation.</p>



<p>Before you can fix anything, you need answers: Is this code actually reachable? Can an attacker exploit it? Is it exposed to a real application path? Are there controls already in place? Is this worth interrupting sprint work right now?</p>



<p>Most alerts don’t answer any of those questions. They tell you a vulnerability exists – not if it matters. That’s largely a scanning problem: one practitioner calls static scanning an “<a href="https://appsecengineer.com/blog/every-ciso-needs-to-rethink-about-appsec-in-2025#:~:text=Why%20most%20AppSec%20programs%20become,alert%20factories">alert factory that nobody uses.</a>” When <a href="https://appsecengineer.com/blog/every-ciso-needs-to-rethink-about-appsec-in-2025#:~:text=Why%20most%20AppSec%20programs%20become,alert%20factories">80–90% of findings are irrelevant</a>, the result is a cycle no team wants. AppSec has to justify urgency, developers must reconstruct missing context, and everyone loses time that could have gone toward fixing the issues that matter.</p>



<p>The bigger problem is not that security findings exist. It is that many findings arrive without the evidence developers need to make a confident engineering decision. Traditional scanners can identify patterns that may be risky, but they rarely answer the questions that determine whether a fix should interrupt current work.</p>



<p>A function may be reachable but protected by authentication, input validation, network controls, or other safeguards. Another issue may look less severe on paper but become urgent because it sits in a public-facing workflow or touches sensitive data. A low-severity finding in a public-facing workflow can be far more dangerous than a critical bug buried in an internal module.</p>



<p>Without context, <a href="https://checkmarx.com/ai-llm-tools-in-application-security/reachability-was-a-breakthrough-but-now-its-not-enough/#:~:text=Checkmarx%C2%A0Triage%20Agent%20addresses%20this%C2%A0head%20on%C2%A0with%C2%A0Attackability%3A%C2%A0AI,prevent%20exploitation%C2%A0%E2%80%93%C2%A0and%20which%20do%20not">reachability alone is not enough</a>. Modern risk is compositional, shaped by deployment, exposure, identity, and data, not by code patterns.</p>



<p>Without that context, the work falls to whoever picked up the ticket. Someone must trace the path, check exposure, review controls, assess impact, and determine whether the issue is exploitable in this application, not just theoretically possible in code.</p>



<h2 class="wp-block-heading article-anchor" id="smarter-triage-context-driven-data-driven-decisions">Smarter Triage: Context-Driven, Data-Driven Decisions </h2>



<p>A better triage process should answer the obvious engineering questions before a finding reaches the backlog. Instead of asking developers to investigate every possible issue from scratch, modern triage tools use AI and execution context to validate which findings are actually exploitable in the application.</p>



<p>In practice, a smart triage layer correlates scan results with runtime data, permissions, architecture, and policies. The output is not just another severity label. It’s evidence: the relevant path through the code, the attacker-controlled input, the potential impact, and whether existing controls prevent exploitation.</p>



<p>Checkmarx’s Attackability analysis is designed to provide evidence by tracing attacker-controlled inputs from real ingress points through the code to potential impact, then verifying which security controls are in place. The result is a verdict of demonstrated exploitability or not, with code-level evidence attached.</p>



<p>That shifts the conversation from “maybe it’s exploitable” to a clear yes or no question. By validating findings with facts, teams stop arguing in the abstract. The report shows precisely how an issue is or isn’t reachable and exploitable, so you can align with security on facts, not time-consuming assumptions. With Attackability data, AppSec can confidently say &#8220;this vulnerability is exploitable under these conditions, and here’s the proof&#8221; (or alternatively, &#8220;we can mark this issue low risk, because x, y, z controls make exploitation infeasible&#8221;).</p>



<p>Analysts put it plainly that &#8220;a finding without context is a tax,&#8221; because <a href="https://projectdiscovery.io/blog/new-report-state-of-appsec-2026-security-at-engineering-speed">it forces a human to ask the only question that matters</a>: &#8220;Is this exploitable here and now? If not, why bother fix it at this point?&#8221; Front-loading that context and verification means only high-fidelity, relevant alerts reach the backlog.</p>



<h2 class="wp-block-heading article-anchor" id="automated-remediation-turning-decisions-into-fixes">Automated Remediation: Turning Decisions Into Fixes</h2>



<p>Triage helps teams agree on what matters. But you still need a practical path from validated risk to working code. Too often, even agreed-upon issues stall in handoffs or ticket threads. The fix is to automate “closing of the loop.”</p>



<p>Enter remediation assistants that live in your developer workflow. These tools generate context-aware, merge-ready fixes for validated findings, usually as pull requests. For example, <a href="https://checkmarx.com/product/triage-and-remediation/#:~:text=Go%20from%20find%20to%20fix,faster">Checkmarx’s Remediation Assist</a> uses safe-refactoring principles to produce minimally invasive patches right where you already work. You can review the diff, run tests, inspect the logic, adjust the code if needed, and merge when it meets your standards.</p>



<p>When remediation shows up as a pull request, you do not have to stop what you are doing to interpret a vague ticket, chase down context, or debate whether the finding is worth fixing. You can review the diff like any other code change, run your tests, adjust the code if needed, and merge when it meets your standards.</p>



<p>Decisions become code almost instantly without any lag.</p>



<p>That matters because the old model of manually reviewing, debating, assigning, fixing, and rechecking vulnerabilities isn’t keeping up with the speed of exploitation. <a href="https://blog.zerobot.info/one-billion-cisa-kev-records-human-scale-security-crisis#:~:text=A%20new%20report%20from%20the%20Qualys%20Threat%20Research,operational%20model%20underpinning%20enterprise%20security%20is%20fundamentally%20broken.">A 2026 Qualys Threat Research analysis</a> of more than one billion CISA KEV remediation records across 10,000 organizations found that manual remediation processes <strong>failed to keep pace with attackers 88% of the time</strong> across the most critical actively weaponized vulnerabilities studied. Organizations that performed better had operationalized remediation pipelines, giving their teams a faster way to move from <a href="https://blog.qualys.com/vulnerabilities-threat-research/2026/03/23/the-broken-physics-of-remediation">validated risk to completed fix</a>.</p>



<p>The cost in developer time is just as significant. <a href="https://checkmarx.com/evolution-devsecops/">Checkmarx’s DevSecOps Evolution 2025 research</a> found that <strong>72% of devs spend more than 17 hours each week</strong> on security-related tasks, and <strong>one in four spends more than 25 hours</strong>. Automated triage and remediation reduces that burden by turning validated security decisions into reviewable code changes, so teams stay focused on building while still moving real risk to resolution.</p>



<h2 class="wp-block-heading article-anchor" id="results-fewer-arguments-faster-fixes">Results: Fewer Arguments, Faster Fixes</h2>



<p>The outcome of this triage-and-remediation workflow is clear: fewer debates and far more fixes. With objective analysis in hand, security and engineering reach consensus faster. With remediation automation in place, vulnerabilities are closed before they linger. </p>



<p>Teams that add automated remediation report mean-time-to-remediate shrinking from weeks to hours. Instead of arguing over false positives, teams ask “how do we fix this fastest?” Workflow-integrated triage eliminates the guesswork in risk evaluation and, paired with agentic remediation, it ensures that decision leads to a patch. The result is fewer vague tickets, clearer priorities, and more vulnerabilities resolved instead of debated.</p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Your SBOM Won&#8217;t Save You From AI Audits</title>
		<link>https://checkmarx.com/blog/your-sbom-wont-save-you-from-ai-audits/</link>
		
		<dc:creator><![CDATA[David Dewaele]]></dc:creator>
		<pubDate>Mon, 18 May 2026 07:26:51 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[AI Security]]></category>
		<category><![CDATA[AppSec]]></category>
		<category><![CDATA[Software Supply Chain Security]]></category>
		<category><![CDATA[Supply Chain]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108789</guid>

					<description><![CDATA[Your SBOM can track packages, but not the AI shaping application behavior. Here’s why AI-BOMs are emerging as the missing layer in software supply chain security and compliance.]]></description>
										<content:encoded><![CDATA[<p>Over the past year, I have spent a significant amount of time talking with customers about AI and AppSec. Not just about their AI strategy, but about what is means practically to govern the AI components shipping in production software.</p>



<p>The same story keeps coming up. Teams are being asked by customers, auditors, legal, and leadership to document how they used AI in their products. What models are running? Where did they come from? Who approved them? What risks have been assessed? What licenses apply? The uncomfortable truth is that nobody knows, and they have no idea how to produce that documentation. This isn’t a program failure – the tools these teams rely on simply weren’t built to provide that kind of audit trail.</p>



<p>There’s also uncertainty about scope. What even counts as an AI component and how do you decide which need to be tracked? Only LLMs? What about MCP servers, agents, prompts, or datasets? There are no clear guidelines, and that ambiguity make this problem harder to resolve. </p>



<h2 class="wp-block-heading article-anchor" id="why-the-sbom-is-not-enough">Why the SBOM Is Not Enough</h2>



<p>When I tell AppSec teams that AI components need to be documented for compliance, their first instinct is almost always the same: point to the SBOM. It’s the supply chain inventory artifact most teams have already invested in, it feeds compliance workflows, and it’s supposed to tell you what’ is in your software. It’s a capability we include in Checkmarx’s supply chain security solution for exactly that reason.</p>



<p>But that’s the problem. The SBOM was built for a world of packages declared in manifests, versioned discretely, with vulnerability histories tracked in maintained databases. That model holds up well for open-source libraries, but it doesn&#8217;t hold up for AI components.</p>



<p>Here&#8217;s why: an LLM integration doesn’t declare itself in a requirements.txt or package.json. It shows up in source code as an API call, with a provider name and model identifier buried in a configuration string. The SBOM captures the SDK; it says nothing about which model is behind it, whether that model is version-pinned, where it originated, or what risks it carries. An agent framework appears in the dependency graph as a single package entry, the framework version, nothing more. What tools the agent can invoke, how broadly it can act, and whether anyone with security responsibility has reviewed that scope are nowhere in the manifest. An MCP server, and these are now common in production codebases, may exist entirely in a runtime configuration file that no scanner currently treats as a security artifact.</p>



<p>Then there is the risk taxonomy problem. CVEs cover code-level vulnerabilities in versioned packages, but the risks that matter most for AI components don’t fit neatly into that model. Model weights tampered with during training, datasets poisoned at the source, floating version references that silently change application behavior when a provider pushes an update, licensing obligations buried in dataset terms that no license scanner was designed to evaluate: none of these exist within the vulnerability intelligence infrastructure that makes the SBOM actionable.</p>



<p>That&#8217;s the gap an AI-BOM (AI Bill of Materials) is designed to fill. From my perspective, this feels like the same moment the industry went through with the SBOM about five years ago. The requirement is taking shape, the standards are emerging, and the teams that start now will be ready when compliance becomes unavoidable.</p>



<h2 class="wp-block-heading article-anchor" id="this-is-a-global-compliance-problem-not-a-european-one">This Is a Global Compliance Problem, Not a European One</h2>



<p>I recently co-presented a session with Carsten Huth, our Global Director of AppSec Advisory, on <a href="https://info.checkmarx.com/managing-cyber-risks">supply chain security and regulatory compliance</a>. He made a compelling point: AppSec is becoming the technical implementation layer for CRA compliance. Security is no longer optional – it&#8217;s mandatory and it’s regulated.</p>



<p>The EU Cyber Resilience Act (CRA) and the EU AI Act get the most attention because their timelines are defined and their penalties are significant. But they&#8217;re just a part of a broader, global shift in how governments and enterprises need to be thinking about AI accountability.</p>



<p>In the United States, NIST AI Risk Management Framework (RMF) has evolved from optional guidance into a reference framework embedded not only in federal procurement, but increasingly in enterprise vendor assessments across regulated industries. In the UK, the AI Safety Institute is developing frameworks that mirror many of the EU’s documentation and transparency expectations. ISO 42001, the international standard for AI management systems, is becoming a global procurement requirement as enterprises extend their vendor risk programs to cover AI-enabled software. </p>



<p>At the same time, regulators in sectors like financial services, healthcare, and critical infrastructure are incorporating AI governance directly into existing compliance frameworks. In practical terms, this means that AppSec teams globally shipping software aren’t just managing a European compliance problem. They&#8217;re operating within a broader expectation for AI governance – one that’s formalized differently across jurisdictions, but ultimately converges on the same core requirement: you need to be able to demonstrate, with clear and documented evidence, that you know where AI exists in your products and that you are actively managing it.</p>



<h2 class="wp-block-heading article-anchor" id="what-i-hear-from-appsec-teams-around-the-world">What I Hear From AppSec Teams Around the World</h2>



<p>In our session, Carsten shared something I&#8217;ve been hearing over and over again in customer conversations across regions: while regulatory frameworks differ, the security requirements they impose are similar. Whether a team is preparing for CRA, aligning with NIST AI RMF, or responding an enterprise ISO 42001 vendor questionnaire, they’re being asked to do the same thing – know your AI components, assess their risks, document governance process, and produce evidence.</p>



<p>The challenge isn’t lack of awareness; most AppSec leads understand what’s required. The real issue is in having the tooling and processes that meet those expectations. And that gap showed up clearly when we surveyed over a hundred AppSec and development professionals: Shadow AI is already the reality. <strong>43%</strong> have no formal governance over which AI components their developers are permitted to use. At the same time, <strong>70%</strong> expect AI components in production by the end of 2026, with <strong>24%</strong> already there today.</p>



<p>Production codebases most commonly surface three categories of AI assets: LLMs, AI libraries, and AI agents – with the most frequently detected providers ranking as <em>#1 OpenAI, #2 Google, and #3 Linux Foundation.</em> These aren’t experimental integrations; they are core dependencies that influence application behavior, data handling, and decision-making. But in most organizations, security teams don’t have a structural inventory or record of them.</p>



<p>What we asked customers what they need most, their priorities were clear: first, enforcement in CI/CD and PR, then compliance and audit reporting. That ranking says a lot. Teams closest to this problem already understand that enforcement and documentation need to go hand in hand. You can’t produce credible compliance evidence for AI components if their use was never controlled in the first place. The audit trail has to start at integration – not be reconstructed when an audit request arrives.</p>



<h2 class="wp-block-heading article-anchor" id="why-ai-bom-is-the-right-artifact">Why AI-BOM Is the Right Artifact</h2>



<p>I want to be clear about what an AI-BOM is, because I think there&#8217;s still genuine confusion in the market about what compliance frameworks are asking for.</p>



<p>An AI-BOM is a structured, machine-readable inventory of the AI components embedded in or consumed by a software application. Where a traditional SBOM tracks packages, an AI-BOM tracks the things that define how AI behaves in your product:</p>



<ul class="wp-block-list">
<li>
<strong>Models</strong>: provider, version, provenance, and fine-tuning lineage</li>



<li>
<strong>Datasets</strong>: origin and licensing terms</li>



<li>
<strong>Agent frameworks and SDKs</strong>: the libraries that power AI behavior in code</li>



<li>
<strong>Agents</strong>: what tools they can invoke and what constraints govern their execution</li>



<li>
<strong>MCP servers and clients</strong>: external connection configuration</li>



<li>
<strong>System prompts</strong>: the instructions that shape model behavior in ways that are compliance-relevant even when they never appear in a package manifest</li>
</ul>



<p>This broader scope reflects the reality of what’s running in production AI-enabled applications, which goes beyond than what most programs currently track. And just as important as the content is the format. The <a href="https://cyclonedx.org/capabilities/sbom/">CycloneDX</a> specification has extended its schema to support AI and machine learning components, providing a standard way to make AI-BOMs interoperable with existing compliance infrastructure.</p>



<p>At the same time, the <a href="https://owaspai.org/">OWASP AI Exchange</a> has been doing important work defining what a complete AI-BOM should include. Aligning with these standards ensures the output plugs into existing workflows instead of requiring entirely new ones.</p>



<p>Regulators and enterprise customers are looking for documentation that can answer specific questions about specific components, with enough detail to support meaningful assessment. That’s exactly what a well-structured AI-BOM provides – and what an SBOM alone can’t deliver.</p>



<h2 class="wp-block-heading article-anchor" id="what-we-built-at-checkmarx-and-why">What We Built at Checkmarx and Why</h2>



<p>When we designed <a href="https://checkmarx.com/solutions/ai-supply-chain-security/">Checkmarx AI Supply Chain Security</a>, we made several decisions that shaped the product. The most important was this: <strong>detection had to be deterministic</strong>. We made a deliberate choice not to use AI to detect AI components.</p>



<p>The reason is straightforward. If a finding in an AI-BOM cannot be traced back to a specific location in source code or configuration, it won’t hold up as audit evidence. When an auditor asks where a component reference comes from, they need something concrete – a file name and a line number – not a confidence score. Deterministic detection, based on imports, API call patterns, configuration files, and string constants produces findings that developers can act on and auditors can trust.</p>



<p>The second decision was to build AI-BOM generation directly into Checkmarx One, rather than offering it as a standalone product. The rationale is similar to why teams adopted SCA inside an AppSec platform: governance works best when it embedded into existing workflows, not running alongside them as a separate process.</p>



<p>Checkmarx One generates the AI-BOM in CycloneDX format, aligned with the schema extensions for AI and machine learning components. When a customer or auditor requests a bill of materials, the AI layer is already included.</p>



<p>Policy enforcement works through the same mechanisms teams already use for open-source governance. Provider allowlists and blocklists are enforced in pull requests and CI/CD pipelines, floating model references get flagged before they introduce undocumented changes, and agent scope constraints surface alongside SAST and SCA findings in the same security gate. The discipline is familiar; the coverage now just extends to AI.</p>



<p>For teams navigating multiple compliance frameworks simultaneously – which, given the global regulatory landscape, is most enterprise teams – Checkmarx One also provides compliance posture reporting that maps AI-BOM output to the documentation requirements of CRA, the EU AI Act, NIST AI RMF, ISO 42001, and others. When an assessment arrives, the documentation does not need to be assembled from scratch; it’s already versioned per release, traceable to specific code, and structured to answer the questions auditors are asking.</p>



<p>As Carsten put it: “The SBOM with AI-BOM as structured documentation, providing tooling output for audit-ready security evidence.” That is exactly what we set out to build.</p>



<h2 class="wp-block-heading article-anchor" id="timing-is-everything-in-ai-era">Timing Is Everything in AI Era</h2>



<p>The question I hear most often from AppSec leads is simple: how urgently do we need to move on this?</p>



<p>My honest answer is that the urgency is already here, even if it doesn’t feel that way yet. For teams shipping into European markets, the CRA timeline is fixed: reporting obligations in 2025, CE marking in 2026, and full compliance by December 2027. In the U.S., alignment with the NIST AI RMF is already showing up in vendor assessments. In sectors like financial services and healthcare, regulators are extending existing compliance frameworks to cover AI. And across the board, enterprise procurement teams are starting to ask for AI-BOM documentation in security questionnaires, driven by their own compliance requirements.</p>



<p>At the same time, building the ability to produce a compliance-ready AI-BOM takes longer than most teams expect. Achieving meaningful detection coverage across applications, integrating into CI/CD pipelines, defining policies, and validating outputs against regulatory expectations aren’t quick wins; they require deliberate investment and take time.</p>



<p>But beyond timelines and deadlines, there’s a more immediate reality: AI components are already in production. They&#8217;re influencing product behavior in ways that carry real risk, and that risk is invisible in a traditional SBOM. Governing those AI components properly isn’t about preparing for future compliance obligations &#8211; <em>it’s about closing a security gap that exists right now</em>.</p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>The Vibe Coding Hangover</title>
		<link>https://checkmarx.com/blog/the-vibe-coding-hangover/</link>
		
		<dc:creator><![CDATA[Checkmarx Team]]></dc:creator>
		<pubDate>Thu, 14 May 2026 06:58:22 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Application Security Trends & Insights]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[AppSec]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108777</guid>

					<description><![CDATA[What Gartner® reveals about the security gaps behind AI-driven development.]]></description>
										<content:encoded><![CDATA[<p>Developers are moving faster than ever, with pull requests piling up and features that once took weeks now shipping in days. AI coding tools are working exactly as advertised, and the business impact shows up clearly in the numbers.</p>



<p>The problem is that as development speed increases, so does risk. AI doesn’t just write features; it writes vulnerabilities just as easily.</p>



<p>This is the AI coding paradox. The same technology accelerating development is also accelerating exposure, because code coming out faster doesn’t mean it’s coming out cleaner. Even advanced AI models introduce security vulnerabilities while generating functionally correct code – and it’s because code that works and code that’s secure are not the same thing. At the scale and speed that AI operates today, the gap between “works” and “secure” is growing faster than any security team can manually manage.</p>



<p>Eventually, the hangover sets in: the vulnerability backlog grows, rework starts slowing teams down, and security debt accumulates under all that increased productivity. According to Checkmarx’s Future of Application Security report, <strong>81% of organizations knowingly ship vulnerable code</strong>, driven by overwhelming noise, uncontextualized backlogs, and limited resources. AI alone didn’t create that behavior, it just dramatically accelerated the consequences.</p>



<p>Gartner highlight this trend in their latest report<sup>1</sup>, noting that as AI-generated code enters the codebase “without governance of its presence, the risks of security incidents and breaches from software products are exponentially increasing.”</p>



<p>But slowing down AI adoption isn’t a practical option at this point; it’s too deeply entrenched in development workflows to slow down, and business expectations have already shifted to match.</p>



<h2 class="wp-block-heading article-anchor" id="appsec-infrastructure-is-broken">AppSec Infrastructure Is Broken</h2>



<p>The only path forward is ensuring security infrastructure evolves at the same pace as development. The latest Gartner research maps exactly where organizations are falling short, identifies three specific gaps driving the problem:</p>



<p>The first is <strong>accountability</strong>. Gartner posits that “agentic coding tools are inherently incapable of taking accountability; you and your engineers are.” Without clear governance structures, responsibility diffuses and nothing gets caught until it&#8217;s complex and expensive to fix. Gartner recommends that organizations designate AI software leads: individuals explicitly accountable for the security and quality of AI-generated code, so there’s always someone looking for vulnerabilities.</p>



<p>The second is <strong>policy</strong>. Most teams have no formal allow and deny lists for AI coding tools, no structured training on data privacy risks, and no centralized visibility into what’s being produced. Gartner’s position it that internal governance for AI tool use needs to be built into strategic goals, performance reviews, and the secure software development methodology – not treated as an afterthought.</p>



<p>The third is <strong>automation</strong>. Running a single security scan at the end of a sprint isn’t enough when AI is generating code continuously throughout it. Gartner calls for a layered approach, combining tools that catch different vulnerability types across different stages of the pipeline, noting that organizations need to “layer multiple tools to provide defense-in-depth to security review AI-generated code at scale and with greater efficiency.” The goal is coverage that’s as continuous as the code being produced.</p>



<p>None of these gaps can be closed independently, and that&#8217;s what makes them difficult to address. Good tooling doesn’t help much if no one is accountable for acting on what it finds. Strong policy doesn&#8217;t do much if there&#8217;s no automation to actually enforce it. All three need to be in place for any of them to work properly.</p>



<h2 class="wp-block-heading article-anchor" id="how-checkmarx-closes-all-three">How Checkmarx Closes All Three</h2>



<p>Checkmarx One is designed to address these gaps directly through a single, integrated platform rather than a patchwork of point solutions.</p>



<p>For <strong>accountability</strong>, its ASPM layer creates a unified risk profile across code, dependencies, AI models, and runtime environments. Centralized audit logs, usage analytics, and AI output acceptance rates give teams clear visibility into what is being produced and deployed. When issues arise, there is already a complete record in place, making ownership and traceability straightforward.</p>



<p>For <strong>policy</strong>, Checkmarx enforces security rules consistently across the entire AI toolchain, not just the code it generates. Every model, dependency, MCP server, and AI tool is evaluated against organizational policies and tracked within a centralized AI-BOM. This gives security leaders a complete, enforceable inventory and turns governance from an abstract goal into an operational reality.</p>



<p>For <strong>automation</strong>, Checkmarx uses a hybrid approach that combines deterministic, rules-based engines with AI-powered contextual reasoning – because neither works as well alone. The deterministic layer reliably identifies known vulnerability patterns, while AI-driven analysis detects the novel issues introduced by agentic coding tools. Together, they reduce noise and deliver higher-confidence findings, allowing teams to focus on real risk instead of spending time validating false positives.</p>



<p>Addressing these gaps is not just about better tooling; it’s about keeping security aligned with the speed of modern development. That is where agentic AppSec comes in. Instead of relying on scans at the end of a sprint, Checkmarx Assist agents operate directly within the development workflow. Developer Assist flags vulnerabilities in the IDE before code is committed, Triage Assist prioritizes what truly represents risk, and Remediation Assist provides ready-to-merge fixes within pull requests.</p>



<p>This creates a continuous loop where risks are identified, understood, and resolved as code is written, rather than after the fact. Gartner calls autoremediation “a stand-out use case for AI in application security programs,” and this is exactly the role Checkmarx’s agentic agents are built to fulfill, with human oversight remaining firmly in control.</p>



<h2 class="wp-block-heading article-anchor" id="what-happens-when-you-dont-act">What Happens When You Don&#8217;t Act</h2>



<p>he cost of ignoring these gaps shows up quickly. Checkmarx research shows that <strong>up to 45% of AI-generated code may be insecure</strong>, and large language models produce inconsistent results across tools and environments, meaning the problem is not isolated to a single model or team. Without accountability structures, policy enforcement, and automated scanning in place, there is no reliable way to catch what AI is quietly introducing into the codebase.</p>



<p>In practice, the way this debt accumulates follows a familiar pattern. Code ships quickly, tests pass, and everything appears fine until a security scan weeks later flags a vulnerability buried in an AI-generated dependency chain. By then the developer has moved on, the original context is gone, and what could have been a quick fix in the IDE turns into hours of rework, reproduction, and validation. When this plays out across hundreds of developers and projects simultaneously, security debt stops looking like a backlog and starts becoming structural drag on the entire organization.</p>



<p>The progression is predictable: fixes caught early are inexpensive, fixes after commit are costly, and fixes after a breach are far more severe. The three gaps Gartner identifies aren’t just operational inconveniences; they are the conditions that make the expensive version of this problem inevitable. Closing them is what keeps the cost manageable.</p>



<h2 class="wp-block-heading article-anchor" id="hangovers-dont-fix-themselves">Hangovers Don’t Fix Themselves </h2>



<p>Gartner’s argument is not that teams should slow down AI adoption. It is that security infrastructure must keep pace with development, and most organizations have not caught up.</p>



<p>The vibe coding hangover is real, and it gets worse the longer it goes untreated. Every week of unscanned AI-generated code is another week of debt accumulating quietly underneath the productivity gains.</p>



<p>Checkmarx One is built for this reality, closing the accountability, policy, and automation gaps directly inside the developer workflow so security scales with development instead of falling behind it. The hangover remedy isn’t slowing down; it’s building the infrastructure that makes the speed sustainable.</p>



<p>Access Gartner’s Best Practices to Mitigate Security Risks With Agentic Coding Tools report here and learn more about Checkmarx’s agentic application security here.</p>



<p><em><sup>1</sup></em><em>Gartner, Best Practices to Mitigate Security Risks&nbsp;</em><em>With</em><em>&nbsp;Agentic Coding Tools</em><em>,&nbsp;</em><em>Aaron Lord</em><em>,</em><em>&nbsp;Manjunath Bhat, 2</em><em>4</em><em>&nbsp;March 2026</em><em></em>&nbsp;</p>



<p><em>GARTNER is a trademark of Gartner, Inc. and/or its affiliates.</em><em></em>&nbsp;</p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Something’s Wrong With Your Code. And Attackers Know It.</title>
		<link>https://checkmarx.com/blog/somethings-wrong-with-your-code-and-attackers-know-it/</link>
		
		<dc:creator><![CDATA[Checkmarx Team]]></dc:creator>
		<pubDate>Thu, 14 May 2026 06:57:37 +0000</pubDate>
				<category><![CDATA[Application Security Trends & Insights]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[Application Security Testing]]></category>
		<category><![CDATA[AppSec]]></category>
		<category><![CDATA[Awareness]]></category>
		<category><![CDATA[Leadership]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108738</guid>

					<description><![CDATA[Checkmarx CEO Sandeep Johri shares insights from a recent conversation with the New York Stock Exchange (NYSE) on how AI is reshaping modern codebases.]]></description>
										<content:encoded><![CDATA[<p>Picture this: you ask an AI to write a novel and it can deliver it in under an hour. And that’s really impressive – until you read it closely. The plot drifts, key details contradict each other, some ideas vanish halfway through, while others appear out of nowhere.</p>



<p>Now imagine handing that novel to a meticulous editor whose only job is to find every flaw. You’re in trouble.</p>



<p>That’s the analogy <a href="https://youtube.com/watch?v=_O1VTfWu8Xo">Checkmarx CEO Sandeep Johri used in his recent conversation with the New York Stock Exchange (NYSE)</a>, and it captures what&#8217;s happening to modern codebases. AI is accelerating software creation at a staggering pace, but it’s also introducing inconsistencies, blind spots, and unintended behavior just as quickly. And unlike a novel, your code doesn’t get a friendly editor; it gets attackers actively searching for those gaps.</p>



<p>According to Johri, the volume of AI-generated code is growing faster than the security programs designed to protect it. The result is that developers are no longer just building software, they’re also responsible for securing a much larger and more complex codebase.</p>



<p>And the stakes are rising.</p>



<p>With systems like <a href="https://checkmarx.com/blog/checkmarx-application-security-guide-to-claude-mythos/">Anthropic’s Claude Mythos</a> reportedly capable of autonomously discovering and exploiting vulnerabilities at unprecedented speed and scale, the imbalance is only getting worse.</p>



<p>The question isn’t whether your code has gaps; it’s whether your security can keep up with how fast they’re being created and how quickly someone else can find them.</p>



<h2 class="wp-block-heading article-anchor" id="more-code-more-risk">More Code, More Risk </h2>



<p>Johri’s core point is straightforward: AI coding agents are producing more code – and more vulnerabilities. In fact, AI-generated code can contain two to three times the density of vulnerabilities compared to code written solely by humans, and the overall volume is growing fast.</p>



<p>Before AI, developers had a deep understanding of the code they wrote. Now, a single prompt can generate hundreds of lines instantly. The code works, but the context behind it – the decisions, trade-offs, and potential risks – is often missing.</p>



<p>Open source adds another layer. <strong>Roughly 70% of a typical enterprise application is made up of open-source components</strong>. Developers rely on it to move quickly, trusting that the code has been properly maintained and secured upstream. Sometimes that trust is well placed, but other times vulnerabilities or malicious code slip through.</p>



<p>The result is a growing backlog of risk. According to <a href="https://checkmarx.com/report-future-of-appsec-2025/">Checkmarx’s Future of Application Security report</a>, <strong>81% of organizations knowingly ship software with vulnerabilities they’ve already identified</strong>. These aren’t unknown threats or zero-days, they’re known issues that get deprioritized in favor of speed.</p>



<h2 class="wp-block-heading article-anchor" id="developers-are-in-the-crosshairs">Developers Are in the Crosshairs</h2>



<p>Developers are at the center of this problem because that’s where code begins. But most developers aren’t security experts – and they shouldn’t have to be. Their job and discipline is to build the functionality the business needs, and to build it fast. Security has historically been a separate discipline, applied after the fact, by a completely different team. But in the age of AI, later is really just too late.</p>



<p>What’s changed is the level of exposure. Because now developers aren’t just introducing risk, they’re being directly targeted. Attackers go after their package registries, plant malicious open-source dependencies, and compromise their credentials to gain access to codebases. The developer’s entire workflow – the IDE, the coding assistant, the dependencies – has become the attack surface.</p>



<p><a href="https://checkmarx.com/blog/checkmarx-application-security-guide-to-claude-mythos/">Anthropic’s Claude Mythos</a> makes this shift even harder to ignore. When Mythos found a 27-year-old bug in OpenBSD and catalogued vulnerabilities across major open-source dependencies, it wasn’t finding anything new. Those vulnerabilities were already there, sitting in production systems that developers had built on top of for years. What Mythos demonstrated is that finding and exploiting them is now fast, automatic, and cheap – <strong>roughly $1 per exploit in 10 to 15 minutes with no specialized expertise required.</strong></p>



<p>And these vulnerabilities that developers unknowingly ship won’t sit idle anymore. With AI, the window between disclosure and active exploitation has shrunk, from roughly <strong>840 days in 2018 to about 1.6 days today</strong>.</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" width="922" height="582" src="https://checkmarx.com/wp-content/uploads/2026/05/image-3.png" alt="" class="wp-image-108779" style="aspect-ratio:1.584205097981435;width:699px;height:auto" srcset="https://checkmarx.com/wp-content/uploads/2026/05/image-3.png 922w, https://checkmarx.com/wp-content/uploads/2026/05/image-3-300x189.png 300w, https://checkmarx.com/wp-content/uploads/2026/05/image-3-768x485.png 768w, https://checkmarx.com/wp-content/uploads/2026/05/image-3-400x252.png 400w" sizes="(max-width: 922px) 100vw, 922px" /></figure>



<h2 class="wp-block-heading article-anchor" id="ai-is-also-creating-new-threats">AI Is Also Creating New Threats</h2>



<p>AI development isn’t just introducing more vulnerabilities, but it’s also introducing entirely new kinds of risk.</p>



<p>Coding assistants can hallucinate package names that don’t exist, and attackers are already registering those names to turn a simple mistake into a malicious dependency. Applications that pass user input into LLMs are now exposed to prompt injection, an entirely new attack vector with no real equivalent in traditional software. And as development becomes more agent-driven, with AI systems taking actions through MCP servers, the attack surface is expanding beyond what conventional security tools were designed to handle.</p>



<p>Some coding tools are starting to layer in security features, but as Johri points out, they don’t do it as exhaustively or with the full enterprise context of purpose-built AppSec platforms – and that includes Claude Code Security.</p>



<p>As AI-driven development accelerates, closing this gap will require security tools built specifically for how software is being created today, not how it was built before in the pre-AI era.</p>



<h2 class="wp-block-heading article-anchor" id="security-has-to-become-agentic-too">Security Has To Become Agentic Too</h2>



<p>Johri’s conclusion is simple: application security needs to become agentic. The human-in-the-loop model that’s worked until now can’t keep pace with the velocity of AI-generated code. Agents generating code need security tools that can be called automatically, integrated into the pipeline, and capable of acting on what they find rather than just flagging it for someone to review later.</p>



<p>That urgency is reinforced by developments like Anthropic’s Project Glasswing, a coalition of 40+ technology organizations built around using Mythos defensively. It’s a clear signal that the industry sees what’s coming – but a coalition isn’t the same thing as a security program.</p>



<p>What’s really needed in this new age is a hybrid approach that combines AI’s speed and scale with deterministic analysis that doesn’t hallucinate. On its own, AI scanning produces findings that erode trust: it will flag an exception already caught upstream, describing a race condition in single-threaded code. Without a rules-based SAST, SCA, and IaC layer to validate what the AI finds, you’re just generating noise at scale.</p>



<p>And timing is just as important. Security has to begin at the moment code is created, while context still exists. In AI-driven development, even a short delay means that context is gone. And when vulnerabilities are found later, developers have to revisit code they’ve already moved past and no longer have the context for – and that retrace slows everything down and increases the chance risk will slip through.</p>



<h2 class="wp-block-heading article-anchor" id="keeping-up-with-the-code">Keeping Up With the Code</h2>



<p>The takeaway here is that AI is accelerating how code is written, but security isn’t keeping up. More code, less context, and faster exploitation are all converging at once – and with the recent Mythos announcement, that gap is widening.</p>



<p>The good news is that slowing down development isn’t the answer. The path forward is bringing security into the same flow as development for a more seamless experience: integrated, automated, and able to keep pace with how code is created.</p>



<p>That’s where agentic application security comes in. It needs to move beyond detection to help developers understand, prioritize, and remediate issues in real time, without adding friction or noise.</p>



<p>Watch the full interview <a href="https://youtube.com/watch?v=_O1VTfWu8Xo">here</a>, or learn more about how <a href="https://checkmarx.com/product/checkmarx-one-assist/">Checkmarx One</a> is tackling this with <a href="https://checkmarx.com/product/developer-assist/">Developer Assist</a>, <a href="https://checkmarx.com/product/triage-and-remediation/">Triage Assist</a>, and <a href="https://checkmarx.com/product/triage-and-remediation/">Remediation Assist</a>.</p>


<section class="dark-theme section-video light-theme-2">
    <div class="main-wrapper section-video__wrapper">
        <div class="left">
			        </div>
        <div class="right">
            <div class="video-container">
                <div class="show-video">
									<iframe src="https://www.youtube.com/embed/_O1VTfWu8Xo?autoplay=1&#038;enablejsapi=1" title="YouTube video player" frameborder="0" allow="autoplay" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>                </div>
            </div>
        </div>
    </div>
</section>]]></content:encoded>
					
		
		
		
		<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/image-3-150x150.png" />
		<media:content url="https://checkmarx.com/wp-content/uploads/2026/05/image-3.png" medium="image">
			<media:title type="html">image</media:title>
			<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/image-3-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>Two Fronts, One Risk: Securing Yesterday’s Debt and Today’s AI Code  </title>
		<link>https://checkmarx.com/blog/two-fronts-one-risk-securing-yesterdays-debt-and-todays-ai-code/</link>
		
		<dc:creator><![CDATA[Eran Kinsbruner]]></dc:creator>
		<pubDate>Tue, 12 May 2026 13:17:34 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CISO Strategy & Leadership in Application Security]]></category>
		<category><![CDATA[ADLC]]></category>
		<category><![CDATA[AI generated code]]></category>
		<category><![CDATA[AppSec]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Mythos]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108722</guid>

					<description><![CDATA[With advanced AI models capable of generating working exploits in&#160;minutes&#160;for under a dollar, no vulnerability is too small to ignore. The security calculus has fundamentally changed, and the only winning strategy runs on two tracks simultaneously: remediate everything in the backlog and stop new vulnerabilities from entering the codebase at all.&#160; The Old Playbook No [&#8230;]]]></description>
										<content:encoded><![CDATA[<p class="has-medium-font-size"><em>With advanced AI models capable of generating working exploits in&nbsp;minutes&nbsp;for under a dollar, no vulnerability is too small to ignore. The security calculus has fundamentally changed, and the only winning strategy runs on two tracks simultaneously: remediate everything in the backlog and stop new vulnerabilities from entering the codebase at all.</em>&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="the-old-playbook-no-longer-works">
<strong>The Old Playbook No Longer Works</strong>&nbsp;</h2>



<p>For years, security teams&nbsp;operated&nbsp;on a pragmatic assumption: not every vulnerability is equal. Prioritize critical and high-severity findings. Let medium and low age in the backlog. There was logic to this approach — resources are finite, and&nbsp;triaging&nbsp;CVSS score felt like rational risk management.</p>



<h3 class="wp-block-heading">
<strong>That logic is now obsolete.</strong>&nbsp;</h3>



<p>The arrival of advanced large language models has detonated the foundation beneath severity-based triage. These models do not read CVE databases the way humans do — they reason through code,&nbsp;identify&nbsp;attack vectors, and generate working exploits autonomously. The result is a threat environment where the old categories of “critical” versus “low” risk are becoming meaningless distinctions.</p>



<p>Consider the trajectory: in 2018, it took an attacker an average of&nbsp;840 days&nbsp;to exploit a disclosed vulnerability. By 2026, that number has collapsed to 1.6 days. Security researchers project it will reach one minute by 2028. Meanwhile, the cost of generating a working exploit has dropped to approximately $1, achievable in 10 to 15 minutes using commodity AI tools.</p>



<p>The most alarming proof point arrived in April 2026 with Claude Mythos,&nbsp;Anthropic’s&nbsp;most capable model. In independent testing, Mythos achieved a 72.4% exploit success rate against known vulnerabilities — compared to 14.4% for Opus 4.6 and 4.4% for Sonnet 4.6. For context, the model designed for reasoning and safety is now among the most capable offensive security tools ever tested.&nbsp;</p>



<p>The implication is stark: a vulnerability your team rated “low severity” and deprioritized two years ago can now be weaponized by an adversary using an AI model, in minutes, for less than the cost of a cup of coffee. The backlog is not a sorted list of future work. It is a list of open attack surfaces — every item on it, regardless of its original severity score.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="747" height="370" src="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147.webp" alt="Threat velocity: time to exploitation collapse in the post-Mythos era " class="wp-image-108726" srcset="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147.webp 747w, https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147-300x149.webp 300w, https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147-400x198.webp 400w" sizes="(max-width: 747px) 100vw, 747px" /></figure>



<p>The industry is already feeling this in practice. Bug bounty programs &#8211; long structured around 30-to-60-day disclosure and remediation cycles, are collapsing under the weight of AI-speed weaponization. What once gave organizations a reasonable window to assess, triage, and patch is now measured in hours, not weeks. Security leaders who have spoken to&nbsp;Checkmarx’s&nbsp;have been consistent in their reaction: this is happening, and it is happening at a scale larger than anyone&nbsp;anticipated.&nbsp;</p>



<p>The pressure extends to release cycles themselves. As new AI models&nbsp;emerge&nbsp;with increasingly sophisticated reasoning capabilities, they surface new attack vectors against existing code,&nbsp;meaning a vulnerability that was&nbsp;practically unexploitable&nbsp;last quarter may become a live risk the moment the next frontier model ships.&nbsp;<strong>Release cadences will need to become far more dynamic</strong>, with security gates that respond to the threat environment in real time rather than on a fixed calendar.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="front-one-get-the-backlog-to-zero">
<strong>Front One: Get the Backlog to Zero</strong>&nbsp;</h2>



<p>The first strategic imperative is a mindset shift: the remediation backlog is not a queue to be managed. It is a liability to be eliminated. Every unresolved vulnerability, regardless of its original severity rating,&nbsp;represents&nbsp;a door that a capable AI adversary can now open.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Why Severity Scoring Has Lost Its Primacy</strong>&nbsp;</h3>



<p>Traditional CVSS scoring was designed for a world where exploiting a vulnerability required genuine&nbsp;expertise, time, and effort. A “low” score reflected the realistic difficulty of weaponization. That friction no longer exists.&nbsp;</p>



<p>Advanced LLMs can reason through code the way a skilled human security researcher would — but at machine speed, at near-zero cost, and without fatigue. A vulnerability that was previously difficult to exploit because it required understanding complex application logic, chaining multiple conditions, or crafting a precise payload is now within reach of any adversary with API access to a frontier model.&nbsp;</p>



<p>This does not mean severity scores are worthless for ordering work. It means they can no longer be used to justify inaction. A “low” vulnerability left unresolved is not a calculated risk — it is an invitation.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>The Agentic Remediation Imperative</strong>&nbsp;</h3>



<p>Getting to zero is not achievable through human effort alone.&nbsp;The math&nbsp;does not work. Security teams are already buried: 81% of companies knowingly ship vulnerable code because backlogs are growing faster than teams can manually remediate. AI-generated code compounds this further — every AI coding session produces approximately 1.7x more issues than human-written code, and&nbsp;roughly 45%&nbsp;of AI model solutions are insecure.&nbsp;</p>



<p>The response must be agentic. Security teams need AI-powered remediation pipelines that do not just surface findings but close them — automatically, at the pull request level, prioritized by what is&nbsp;actually exploitable&nbsp;in the production environment. The goal is not&nbsp;faster&nbsp;triage. The goal&nbsp;is&nbsp;autonomous closure at scale.&nbsp;</p>



<p>This is where&nbsp;attackability-based prioritization becomes essential. Not&nbsp;all of&nbsp;those 22,500 raw findings across a typical enterprise codebase represent equal danger. The critical filter is not severity — it is reachability and exploitability in the specific production context. A confirmed exploitable vulnerability in a code path that handles authentication for a production system is categorically different from a theoretical flaw in a dead code branch.&nbsp;Checkmarx’s&nbsp;fidelity funnel reduces&nbsp;that 22,500&nbsp;raw findings to 500 actionable risks — then agentic remediation closes 7 out of 9 confirmed findings automatically.&nbsp;</p>



<p>The proof point: mean time to remediation drops from six hours to 1.8 minutes. That is not an incremental improvement. That is a different operational model entirely.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Remediation at Zero: What It Requires</strong>&nbsp;</h3>



<p>Getting the backlog to zero at enterprise scale requires three capabilities working in concert:&nbsp;</p>



<ul class="wp-block-list">
<li>
<strong>Attackability&nbsp;scoring:&nbsp;</strong>Confirming reachability and exploitability in the production environment, not just in the abstract. This is the step that separates&nbsp;signal&nbsp;from noise at scale.&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li>
<strong>Agentic fix generation:&nbsp;</strong>AI-generated patches applied at the PR level,&nbsp;validated&nbsp;before&nbsp;merge, and executed without developer interruption for&nbsp;the majority of&nbsp;findings.&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li>
<strong>Continuous scheduled coverage:&nbsp;</strong>AppSec must&nbsp;operate&nbsp;as a continuous practice, not a quarterly audit. Scheduled scan cadences normalize remediation as an ongoing operational rhythm — not a reactive fire drill.&nbsp;</li>
</ul>



<h2 class="wp-block-heading article-anchor" id="front-two-prevent-at-the-point-of-creation">
<strong>Front Two: Prevent at the Point of&nbsp;Creation</strong>&nbsp;</h2>



<p>Eliminating&nbsp;the existing backlog is necessary. It is not sufficient. If the prevention layer does not move left — all the way to the moment code is generated with AI — remediation teams will be permanently fighting upstream production.&nbsp;</p>



<p>The economics of AI-generated code have created a structural problem: LLMs give developers unprecedented velocity, but they simultaneously introduce vulnerabilities at scale. Approximately one in three lines of code written today is AI-generated.&nbsp;Nearly half&nbsp;of AI model solutions&nbsp;contain&nbsp;security flaws. Old vulnerability classes that legacy SAST tools were trained to catch are being reintroduced at speed — not by inexperienced developers, but by models that do not natively reason&nbsp;about&nbsp;application security context.&nbsp;</p>



<p><strong>The response is not to slow AI adoption. It is to make security native to the AI development workflow.</strong>&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Security at the Prompt Level</strong>&nbsp;</h3>



<p>The earliest possible intervention is at the prompt — before insecure code is even generated. When a developer interacts with an AI coding assistant inside an IDE like Cursor, Windsurf, VS Code, AWS Kiro, or Claude Code, that is the moment to apply security guardrails. Real-time scanning engines running alongside the AI assistant can catch insecure patterns as they&nbsp;emerge, before they are committed, before they enter a PR, before they compound the backlog.&nbsp;</p>



<p>This is not a suggestion to make developers slow down. Early-stage interception is faster and cheaper than downstream remediation. Fixing a vulnerability at the IDE takes seconds. Fixing it after it reaches production — or after it is exploited — takes days, or worse.&nbsp;Checkmarx&nbsp;Developer Assist&nbsp;users report a 50% boost in productivity precisely because security feedback arrives in context, in real time, without breaking flow.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Security Inside the AI Pipeline</strong>&nbsp;</h3>



<p>Prevention cannot stop at the developer’s keyboard. Modern software is built not just by humans using AI, but by AI agents executing autonomous coding workflows — writing code, making commits, opening PRs, and triggering deployments with minimal human review in the loop.&nbsp;</p>



<p>Every stage of this pipeline is a potential insertion point for security vulnerabilities: the IDE, the pull request, the CI/CD pipeline, and the AI supply chain itself. Security coverage must span the entire application development lifecycle (ADLC), not just the code repository.&nbsp;</p>



<p>This means securing:&nbsp;</p>



<ul class="wp-block-list">
<li>
<strong>The IDE layer:&nbsp;</strong>real-time SAST, SCA,&nbsp;secrets&nbsp;detection, and&nbsp;IaC&nbsp;scanning as code is written.&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li>
<strong>The PR layer:&nbsp;</strong>automated scanning and agentic fix generation triggered on every pull request before&nbsp;merge.&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li>
<strong>The pipeline layer:&nbsp;</strong>continuous scanning integrated into CI/CD, enforcing security gates without slowing release velocity.&nbsp;</li>
</ul>



<ul class="wp-block-list">
<li>
<strong>The AI supply chain:&nbsp;</strong>scanning MCP servers, AI agents, and AI models for embedded risks, malicious packages, and supply chain tampering — a category of risk that has no coverage in any LLM-native AppSec tool today.&nbsp;</li>
</ul>



<h3 class="wp-block-heading">
<strong>The AI Supply Chain Risk No One Is Talking About</strong>&nbsp;</h3>



<p>There is a third dimension of AI-era risk that most security programs have not yet addressed: the AI supply chain. When development teams adopt AI coding assistants, MCP (Model Context Protocol) servers, and autonomous AI agents as part of their workflow, they introduce new vectors for supply chain compromise that traditional AppSec tools were never designed to detect.&nbsp;</p>



<p>A malicious MCP server can exfiltrate credentials or inject malicious code into an agent’s output. An AI model with embedded bias or a compromised training provenance can systematically introduce vulnerabilities,&nbsp;representing&nbsp;a scale of attacks&nbsp;that no human review process can match.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="777" height="412" src="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232.webp" alt="Prevention at inception: Full ADLC security coverage" class="wp-image-108727" srcset="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232.webp 777w, https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232-300x159.webp 300w, https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232-768x407.webp 768w, https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232-400x212.webp 400w" sizes="(max-width: 777px) 100vw, 777px" /></figure>



<p>Prevention at the point of inception means covering this layer too: an AI Bill of Materials (AI-BOM) that provides deterministic discovery of every AI component in the development workflow, mapped to compliance frameworks including NIST AI RMF, the EU AI Act, ISO 42001, and OWASP LLM Top 10.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="why-general-purpose-llms-cannot-solve-this-problem">
<strong>Why General-Purpose LLMs Cannot Solve This Problem</strong>&nbsp;</h2>



<p>There is a seductive narrative circulating in the market: the same AI models creating the security problem can also solve it. This is not supported by&nbsp;the evidence.&nbsp;</p>



<p>In independent benchmarking, the best general-purpose LLMs detect&nbsp;approximately 25&nbsp;to 28% of known vulnerabilities in real codebases. That means 72 to 75% of vulnerabilities&nbsp;remain&nbsp;undetected — while false positive rates run between 36 and 52%, generating exactly the kind of analyst noise that buries security teams. Claude Opus 4.6, even with strong prompting and tool access, detects only 28.5% of vulnerabilities. An AI cannot effectively self-police the code it generates.&nbsp;</p>



<p>The structural limitations are not&nbsp;model-specific. LLMs lack taint tracking and data flow analysis&nbsp;required&nbsp;for true SAST. They cannot confirm reachability —&nbsp;Anthropic’s&nbsp;own documentation explicitly&nbsp;states&nbsp;that reviewing code “cannot confirm whether that code is reachable in production.” They cannot perform runtime testing (DAST). They produce non-deterministic outputs that fail enterprise audit requirements. And they have no native capability for AI Supply Chain coverage.&nbsp;</p>



<p>The asymmetry is alarming: LLM offense improved approximately 100x between 2024 and 2026 (from near-zero autonomous exploit capability to 72.4% with Mythos), while LLM defense improved only 2x (from 12.9% to 28.5% detection rate). General-purpose models are not closing this gap. They are widening it.&nbsp;</p>



<p>Purpose-built AppSec infrastructure — combining deterministic scanning engines, AI-augmented triage,&nbsp;attackability&nbsp;confirmation, DAST, and agentic remediation — is the only architecture designed to&nbsp;operate&nbsp;at the speed and scale this threat environment demands.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="the-two-front-mandate">
<strong>The Two-Front Mandate</strong>&nbsp;</h2>



<p>Security leaders face a simultaneous mandate that cannot be sequenced. You cannot clear the backlog first and then shift left. By the time the backlog is cleared, the prevention gap will have refilled it. Both fronts must advance in parallel.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Front One: Remediation-led, backlog-to-zero</strong>&nbsp;</h3>



<p>Treat every item in the vulnerability backlog as an active risk, regardless of its original severity rating. Deploy&nbsp;attackability&nbsp;scoring to confirm exploitability in the production context. Apply agentic remediation to close findings automatically at scale. Establish continuous scheduled scanning to normalize AppSec as an operational practice, not a point-in-time audit.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Front Two: Prevention at&nbsp;inception</strong>&nbsp;</h3>



<p>Bring security into the AI coding workflow — at the prompt, in the IDE, inside the CI/CD pipeline, and across the AI supply chain. Security must be native to the development experience, not a gate at the end of it. When developers receive real-time, high-confidence security feedback in context, they fix issues&nbsp;immediately&nbsp;rather than generating backlog for the next cycle.&nbsp;</p>



<p>Organizations that execute on both fronts simultaneously will&nbsp;emerge&nbsp;from the AI era with security programs that can match the pace of innovation. Those that treat remediation and prevention as sequential will find themselves perpetually behind a threat environment that&nbsp;operates&nbsp;at machine speed.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="where-innovation-and-security-move-as-one">
<strong>Where Innovation and Security Move as One</strong>&nbsp;</h2>



<p>The AI era has not made application security harder. It has made the consequences of failing at it more immediate, more costly, and more visible. Adversaries now have access to the same generative AI capabilities that are powering the development productivity boom — and they are using those capabilities to compress the window between vulnerability disclosure and active exploitation to near zero.&nbsp;</p>



<p>The organizations that will thrive are those that refuse to treat security as a trade-off against velocity. The Prevent → Resolve → Govern model — catching vulnerabilities at&nbsp;inception, resolving them agentically at scale, and governing continuous coverage as an operational discipline — is the architecture of that future.&nbsp;</p>



<p><strong>Two fronts. One risk. No vulnerabilities left behind.</strong>&nbsp;</p>



<p>The architecture that closes both fronts is the same: a security control plane that sits outside the AI systems it governs. Checkmarx&#8217;s whitepaper on LLM Application Security breaks down exactly how — from the four critical ADLC control points to the hybrid deterministic-plus-AI framework built for the speed this threat environment demands. </p>



<p>Read it <a href="/resources/llm-application-security-governing-ai-driven-risk/">here</a>.</p>]]></content:encoded>
					
		
		
		
		<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147-150x150.webp" />
		<media:content url="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147.webp" medium="image">
			<media:title type="html">Screenshot 2026-05-12 093147</media:title>
			<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093147-150x150.webp" />
		</media:content>
		<media:content url="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232.webp" medium="image">
			<media:title type="html">Screenshot 2026-05-12 093232</media:title>
			<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/Screenshot-2026-05-12-093232-150x150.webp" />
		</media:content>
	</item>
		<item>
		<title>Windsurf Makes Coding Faster. Developer Assist Makes It Safer.</title>
		<link>https://checkmarx.com/blog/windsurf-makes-coding-faster-developer-assist-makes-it-safer/</link>
		
		<dc:creator><![CDATA[Steve Boone]]></dc:creator>
		<pubDate>Mon, 04 May 2026 15:32:50 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AppSec]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI generated code]]></category>
		<category><![CDATA[developer assist]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108610</guid>

					<description><![CDATA[AI-native editors are changing how developers work. ]]></description>
										<content:encoded><![CDATA[<p>Instead of writing every line manually, developers are prompting, iterating, accepting suggestions, generating files, and moving from idea to working code faster than ever. Windsurf is one of the clearest examples of that shift. It helps developers move quickly, stay in flow, and offload repetitive tasks to AI.</p>



<p>But there is a tradeoff.</p>



<p>The faster code is created, the faster security issues can enter the codebase too.</p>



<p>AI-generated code can introduce vulnerable packages, insecure coding patterns, exposed secrets, and risky infrastructure configurations just as easily as it can generate productivity gains. And when teams are moving at AI speed, traditional AppSec processes often cannot keep up.</p>



<p>Security reviews that happen during a pull request, in CI/CD, or after code is merged come too late. By then, the developer has already moved on, forgotten the original context behind the code, or shipped the issue downstream.</p>



<p>That is why security has to move earlier in the process, closer to the moment code is created.</p>



<h2 class="wp-block-heading article-anchor" id="traditional-appsec-was-not-built-for-ai-native-development">Traditional AppSec Was Not Built for AI-Native Development</h2>



<p>Most AppSec programs still rely on a familiar model: developers write code, scanners run later, and security teams review the results afterward.</p>



<p>That model already struggled to keep up with modern development, and in an AI-native workflow, it breaks completely.</p>



<p>When developers are using AI to generate code, update dependencies, create infrastructure-as-code (IaC) templates, or accelerate repetitive tasks, the volume of changes increases dramatically. Teams are no longer reviewing a handful of manual changes at a time. They are reviewing far more generated code, and often with less scrutiny because the pace of work is so much faster.</p>



<p>That creates a growing execution gap between how fast code is produced and how fast security can respond.</p>



<h2 class="wp-block-heading article-anchor" id="bringing-security-directly-into-windsurf">Bringing Security Directly Into Windsurf</h2>



<p>Developer Assist brings AppSec directly into Windsurf, so developers can identify and fix issues while they are still coding.</p>



<p>Instead of waiting for a pull request review or a pipeline scan, developers get immediate feedback directly in the editor. Vulnerabilities, risky dependencies, secrets, infrastructure misconfigurations, and malicious packages can all be surfaced in real time as code is written or modified.</p>



<p>That matters even more in an AI-native editor like Windsurf, where code is not just being typed manually. Files may be generated, updated, or rewritten by AI assistants in seconds.</p>



<p>Developer Assist helps ensure those changes are reviewed with security in mind before they move downstream.</p>



<h2 class="wp-block-heading article-anchor" id="what-developer-assist-catches-in-real-time">What Developer Assist Catches in Real Time</h2>



<ul class="wp-block-list">
<li>Vulnerabilities in custom code</li>



<li>Risky open source dependencies</li>



<li>Exposed secrets and credentials</li>



<li>IaC misconfigurations</li>



<li>Malicious or suspicious packages</li>



<li>Insecure AI-generated code patterns</li>
</ul>



<p>Scans happen automatically as developers work, including when files are edited, saved, opened, or updated by AI. That means developers can catch issues while they are still in the context of writing the code, when fixes are faster, easier, and far less disruptive.</p>



<p>This is especially important for open source packages and AI-generated code. It’s easy for an AI assistant to recommend an outdated package version, insecure configuration, or code snippet that looks correct but in reality introduces risk.</p>



<p>Developer Assist gives developers a way to validate those changes before they make it into the codebase.</p>



<h2 class="wp-block-heading article-anchor" id="security-without-breaking-developer-flow">Security Without Breaking Developer Flow</h2>



<p>The biggest challenge with traditional AppSec is not just that it happens too late. It is that it interrupts developers at the worst possible moment.</p>



<p>No developer wants to stop what they are doing, switch tools, wait for a scanner to finish, or debug a security finding days after they wrote the code.</p>



<p>The best security tools are the ones developers barely notice because they fit naturally into the workflow.</p>



<p>That is what makes Developer Assist a strong fit for Windsurf. Developers can stay in the editor, keep moving quickly, and still get the security guidance they need when it matters most.</p>



<h2 class="wp-block-heading article-anchor" id="see-developer-assist-in-windsurf">See Developer Assist in Windsurf</h2>



<p>Checkmarx is partnering with Windsurf through Agentic Labs to give developers hands-on experience with Developer Assist in an AI-native coding environment.</p>



<p>These labs allow developers to explore how real-time vulnerability detection, dependency analysis, secret detection, and inline remediation work directly inside Windsurf. Instead of reading about secure AI-assisted development, developers can experience what it looks like in practice.</p>



<p>As AI-native development becomes more common, security teams will need to shift from scan-and-fix-later to secure-as-you-generate.</p>



<p>Because in an editor like Windsurf, code is moving too fast for anything else. </p>


<section class="dark-theme video-frame-medium section-video light-theme-2">
    <div class="main-wrapper section-video__wrapper">
        <div class="left">
			        </div>
        <div class="right">
            <div class="video-container">
                <div class="show-video">
									<iframe src="https://player.vimeo.com/video/1185041997?badge=0&#038;autopause=0&#038;player_id=0&#038;app_id=58479%22&#038;autoplay=1&#038;loop=1" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>                </div>
            </div>
        </div>
    </div>
</section>


<p></p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Cursor Is Changing How Developers Build. Security Has to Change Too.</title>
		<link>https://checkmarx.com/blog/cursor-is-changing-how-developers-build-security-has-to-change-too/</link>
		
		<dc:creator><![CDATA[Steve Boone]]></dc:creator>
		<pubDate>Mon, 04 May 2026 15:32:37 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI generated code]]></category>
		<category><![CDATA[developer assist]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108607</guid>

					<description><![CDATA[Developers are no longer writing every line of code themselves. In tools like Cursor, developers are increasingly prompting, reviewing, editing, and accepting work produced by AI. Entire functions, files, fixes, and dependency updates can be generated in seconds. That shift is changing the role of the developer. Instead just authoring code, developers are becoming reviewers [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Developers are no longer writing every line of code themselves.</p>



<p>In tools like Cursor, developers are increasingly prompting, reviewing, editing, and accepting work produced by AI. Entire functions, files, fixes, and dependency updates can be generated in seconds.</p>



<p>That shift is changing the role of the developer.</p>



<p>Instead just authoring code, developers are becoming reviewers and orchestrators of AI-generated work. They are evaluating suggestions, validating changes across multiple files, deciding which fixes to accept, and making sure generated code is ready for production.</p>



<p>That can dramatically improve productivity. But it also introduces a new challenge: developers are now responsible for reviewing far more code than they ever actually wrote.</p>



<h2 class="wp-block-heading article-anchor" id="cursor-is-changing-how-developers-build">Cursor Is Changing How Developers Build</h2>



<p>One of the biggest advantages of Cursor is its ability to take on larger coding tasks.</p>



<p>Developers can ask Cursor to generate new functions, refactor existing code, update dependencies, make changes across multiple files, or suggest fixes for bugs. Instead of spending time on repetitive implementation work, developers can focus more on direction, validation, and refinement.</p>



<p>That changes the development workflow in an important way.</p>



<p>Developers are no longer reviewing only a handful of lines they wrote manually. At any time they may be reviewing dozens or hundreds of lines of AI-generated code, often spanning multiple files, packages, or services.</p>



<p>When that happens, security issues can spread just as quickly as productivity gains.</p>



<h2 class="wp-block-heading article-anchor" id="ai-can-introduce-risk-at-machine-speed">AI Can Introduce Risk at Machine Speed</h2>



<p>AI-generated code is not automatically secure.</p>



<p>An AI assistant can recommend outdated dependencies, insecure coding patterns, weak authentication logic, vulnerable package versions, exposed secrets, or infrastructure configurations that create unnecessary risk.</p>



<p>And because Cursor can generate changes so quickly, those issues can make their way into the codebase faster than traditional AppSec tools can catch them.</p>



<p>Security reviews that happen in pull requests, CI/CD pipelines, or after code is merged are often too late. By then, the developer has already accepted the code, moved on to another task, or lost the context behind why the change was made.</p>



<p>The faster AI-generated code moves, the more important it becomes to validate that code before it is accepted.</p>



<h2 class="wp-block-heading article-anchor" id="bringing-security-into-the-review-process">Bringing Security Into the Review Process</h2>



<p>Developer Assist brings security directly into Cursor so developers can validate AI-generated code while they are still reviewing it.</p>



<p>Instead of waiting for a later-stage scan, developers can get immediate feedback directly in the editor. Vulnerabilities, risky dependencies, secrets, infrastructure issues, and malicious packages can all be surfaced before the generated code is accepted or committed.</p>



<p>That is especially important in Cursor, where developers are often reviewing larger, more complex sets of generated changes.</p>



<p>Developer Assist helps developers move from simply accepting AI-generated output to actively validating it.</p>



<h2 class="wp-block-heading article-anchor" id="what-developer-assist-helps-cursor-users-validate">What Developer Assist Helps Cursor Users Validate</h2>



<ul class="wp-block-list">
<li>AI-generated code for insecure patterns</li>



<li>Multi-file changes that may introduce risk</li>



<li>Dependency upgrades and package recommendations</li>



<li>Exposed secrets and credentials</li>



<li>Infrastructure-as-code (IaC) misconfigurations</li>



<li>Malicious or suspicious packages</li>



<li>Suggested remediations before they are accepted</li>
</ul>



<p>Scans happen automatically while developers work, including when files are opened, edited, saved, or updated by AI.</p>



<p>That means developers can review security findings while they are still in the context of evaluating the generated code, instead of discovering issues much later in a pull request or pipeline scan.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="630" src="https://checkmarx.com/wp-content/uploads/2026/05/image-1024x630.png" alt="" class="wp-image-108609" srcset="https://checkmarx.com/wp-content/uploads/2026/05/image-1024x630.png 1024w, https://checkmarx.com/wp-content/uploads/2026/05/image-300x184.png 300w, https://checkmarx.com/wp-content/uploads/2026/05/image-768x472.png 768w, https://checkmarx.com/wp-content/uploads/2026/05/image-951x585.png 951w, https://checkmarx.com/wp-content/uploads/2026/05/image-400x246.png 400w, https://checkmarx.com/wp-content/uploads/2026/05/image.png 1514w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading article-anchor" id="trust-but-verify">Trust, But Verify</h2>



<p>AI coding tools like Cursor are changing how software gets built.</p>



<p>They allow developers to move faster, automate repetitive work, and focus more on problem solving than implementation. But they also introduce a new responsibility: developers need to validate the code they did not write themselves. The gap between generation and validation is where risk accumulates, and it grows as speed increases.</p>



<p>The future of development is not about choosing between speed and security. Cursor can generate code in seconds, but speed means nothing if the code introduces vulnerabilities before it reaches production.</p>



<p>Developer Assist gives developers a way to close that gap, so AI-generated code secure, compliant, and ready to ship.</p>]]></content:encoded>
					
		
		
		
		<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/image-150x150.png" />
		<media:content url="https://checkmarx.com/wp-content/uploads/2026/05/image.png" medium="image">
			<media:title type="html">image</media:title>
			<media:thumbnail url="https://checkmarx.com/wp-content/uploads/2026/05/image-150x150.png" />
		</media:content>
	</item>
		<item>
		<title>Guardrails for Agentic Development</title>
		<link>https://checkmarx.com/blog/guardrails-for-agentic-development/</link>
		
		<dc:creator><![CDATA[Rebecca Spiegel]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 04:42:03 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[Agentic AppSec]]></category>
		<category><![CDATA[AI Agents]]></category>
		<category><![CDATA[AI generated code]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108459</guid>

					<description><![CDATA[Securing AI-generated code at machine speed without slowing the business. ]]></description>
										<content:encoded><![CDATA[<p>Software used to be written in sprints. Now it is generated continuously, reviewed in minutes, and deployed before most security teams have time to react.</p>



<p>That speed has a cost. According to the <a href="https://reports.weforum.org/docs/WEF_Global_Cybersecurity_Outlook_2026.pdf">World Economic Forum</a>, <strong>94% of surveyed leaders expect artificial intelligence to be the most significant driver of change in cybersecurity</strong>, even as <strong>87% identify AI-related vulnerabilities as the fastest-growing cyber risk</strong>. Vulnerabilities now propagate faster than traditional controls can detect them. At this speed, pausing development to evaluate risk isn’t just inconvenient – it&#8217;s operationally impossible. </p>



<p>Security has to move with the code, not after it.</p>



<h2 class="wp-block-heading article-anchor" id="the-scale-problem-vulnerability-growth-is-now-an-operational-constraint">The Scale Problem: Vulnerability Growth Is Now an Operational Constraint</h2>



<p>Alongside this explosion of AI-driven development, the global vulnerability landscape is expanding just as fast. <a href="https://first.org/newsroom/releases/20260211">The Forum of Incident Response and Security Teams (FIRST)</a> projects that <strong>2026 will be the first year to exceed 50,000 published vulnerabilities</strong>, with a median forecast of approximately 59,427. Manual prioritization is no longer viable.</p>



<p>The numbers alone don’t capture the operational shift. For decades, application security programs depended on predictable development cycles that created natural pauses for risk evaluation. AI-driven development removes those pauses. Code is generated automatically, refined instantly, and deployed continuously. Traditional security gates depend on time – and continuous delivery eliminates it.</p>



<p>A recent breach illustrates how quickly this can play out in practice. Using GenAI, a small group of attackers generated more than 400 custom scripts and launched attacks across 300+ servers, automating what once required coordinated teams and significantly compressing the time from vulnerability discovery to exploitation.</p>



<p>Security is no longer restrained by <em>detection capability</em>, but by <em>decision capacity</em>. The challenge is no longer whether organizations can find vulnerabilities. It is whether security teams can make decisions fast enough to keep pace with the volume and velocity of AI-generated code. Teams must determine which risks matter most and how to reduce exposure fast. As the<a href="https://nccoe.nist.gov/news-insights/new-live-guidelines-secure-software-development-security-and-operations-practices"> National Institute of Standards and Technology (NIST)</a> has observed, secure practices must be embedded directly into lifecycle stages rather than appended as separate steps.</p>



<h2 class="wp-block-heading article-anchor" id="from-engineering-problem-to-organizational-risk">From Engineering Problem to Organizational Risk&nbsp;</h2>



<p>AI security has moved from an engineering concern to an organizational one. Leaders increasingly recognize that the risks associated with AI-driven development extend beyond technical vulnerabilities to affect organizational resilience, regulatory compliance, and customer trust.</p>



<p>The risks are operational: misconfigured dependencies can introduce vulnerabilities, unauthorized access can compromise systems, and automated workflows can propagate errors at scale. Governance and engineering are describing the same problem from different angles, and the challenge isn’t choosing between them but integrating them.</p>



<p>That integration doesn’t happen through policy updates alone. It requires rethinking how AI development is structured, how dependencies are managed, and how security controls are embedded into the workflow itself.</p>



<p>The supply chain is where that challenge becomes most visible.</p>



<h2 class="wp-block-heading article-anchor" id="the-expanding-supply-chain-from-software-components-to-ai-systems">The Expanding Supply Chain: From Software Components to AI Systems</h2>



<p>Supply chain risk has always been a central concern in software security, but AI introduces new layers of dependency that are harder to observe and harder to control. Traditional software supply chains included libraries, frameworks, and external services, while modern supply chains include AI models, prompts, orchestration layers, and runtime agents.</p>



<p>The <a href="https://enisa.europa.eu/publications/enisa-threat-landscape-2025">European Union Agency for Cybersecurity reports</a> that <strong>supply chain risks currently account for 10.6 percent of identified threat categories</strong>. As software ecosystems become more interconnected, the number of potential entry points for attackers increases – and dependencies that once served as conveniences become liabilities.</p>



<p>The <a href="https://securityweek.com/cursor-ai-vulnerability-exposed-developer-devices">recent attack on Cursor</a> illustrates how quickly trust assumptions can be exploited. Attackers chained a prompt injection with a sandbox bypass and remote tunneling capability to obtain shell access simply by convincing a developer to open a repository. Because the attack leveraged legitimate tooling features rather than traditional malware, perimeter defenses offered little protection. Modern supply chain risk increasingly originates inside the developer workflow itself, where trusted automation interacts directly with untrusted code and content. Developer tool itself has become part of the attack surface.</p>



<p>This is part of a broader pattern. When applications automatically retrieve and execute external artifacts without verifying their integrity or origin, malicious actors can substitute compromised components into the execution environment – turning trusted dependencies into attack vectors.</p>



<p>These attacks do not rely on advanced exploitation techniques, but on assumptions: when AI systems automatically trust external components, attackers can manipulate that trust.</p>



<h2 class="wp-block-heading article-anchor" id="the-two-layer-guardrail-architecture">The Two-Layer Guardrail Architecture&nbsp;</h2>



<p>Security leaders are responding to these challenges by adopting a new architectural principle that treats AI-generated code as untrusted input until it has been verified through independent controls. This guardrail model gives this principle operational form, organizing security into two complementary control loops: prevention (inner loop) and enforcement (outer loop).</p>



<p>The <strong>preventive loop</strong> operates at the moment code is created. This is the stage when developers have the most context, and the remediation costs are lowest. Errors caught here can be immediately corrected, before vulnerabilities have a chance to propagate downstream. Traditional review processes were designed for a world where code arrived in batches. AI-generated code arrives continuously, which means security controls must operate continuously as well.</p>



<p><a href="https://checkmarx.com/product/developer-assist/">Checkmarx&#8217;s Developer Assist</a> embodies this approach. Working within the developer workflow, it analyzes generated and handwritten code in real time, identifies patterns associated with security risk, and provides contextual guidance before changes leave the local environment. Security shifts from reactive to proactive, preventing vulnerabilities during creation instead of after deployment. </p>



<p>The <strong>enforcement loop </strong>operates at the moment that code is integrated. This is where organizations apply consistent policies across environments, evaluate risk in context, and establish accountability for security decisions.</p>



<p><a href="https://checkmarx.com/product/triage-and-remediation/">Checkmarx&#8217;s Triage Assist and Remediation Assist</a> operationalize this by analyzing vulnerabilities in relation to runtime behavior, dependency relationships, and exposure paths. Rather than surfacing large volumes of findings ranked by severity alone, the agent evaluates which issues are realistically attackable and generates prioritized remediation actions.</p>



<p>This distinction between detection and decision-making is central to the scalability of modern security programs. At the scale of today’s vulnerability landscape, the ability to prioritize effectively determines whether security controls reduce risk or simply generate noise.</p>



<h2 class="wp-block-heading article-anchor" id="a-continuous-security-workflow-for-ai-driven-development">A Continuous Security Workflow for AI-Driven Development&nbsp;</h2>



<p>The guardrail model operates as a continuous workflow across three stages.</p>



<p><strong>As code is written</strong>, Developer Assist evaluates changes in real time, identifying potential vulnerabilities and recommending secure alternatives before anything leaves the local environment.</p>



<p><strong>At integration</strong>, automated pipelines execute security scans and policy checks. Triage Assist and Remediation Assist analyze the results, determining which vulnerabilities pose immediate risk and generating remediation guidance. Human approval is required before deployment, keeping accountability for critical decisions with the team.</p>



<p><strong>After deployment</strong>, monitoring systems track system behavior, detect anomalies, and feed insights back into the development workflow. This feedback loop allows security controls to dynamically adapt as new threats emerge, rather than waiting for the next scheduled review.</p>



<p>The result is a system where security is no longer a checkpoint, but a continuous property of the development process itself.</p>



<h2 class="wp-block-heading article-anchor" id="what-effective-governance-looks-like-in-practice">What Effective Governance Looks Like in Practice&nbsp;</h2>



<p>Organizations that succeed in AI-driven development environments build operational guardrails that define how software is generated, validated, and deployed. Governance works when risk management is translated into enforceable controls embedded directly into the development workflow.</p>



<p>A practical governance baseline for 2026 includes the following minimum controls:</p>



<h3 class="wp-block-heading">1. Govern AI Systems as First-Class Assets&nbsp;</h3>



<p>AI coding tools, agents, and model components are now part of the software supply chain. They must be managed with the same rigor as production infrastructure.</p>



<p><strong>Operational controls</strong>: </p>



<ul class="wp-block-list">
<li>Maintain a centralized inventory of AI coding tools, agents, and model dependencies&nbsp;&nbsp;</li>



<li>Assign accountable owners for each AI&nbsp;component&nbsp;&nbsp;</li>



<li>Classify AI systems by risk and operational impact&nbsp;&nbsp;</li>



<li>Enforce approved usage policies for AI development tools</li>
</ul>



<p><strong>Why this matters</strong>: AI systems become governable infrastructure rather than unmanaged productivity tools.</p>



<h3 class="wp-block-heading">2. Enforce Risk-Based Prioritization</h3>



<p>At the current vulnerability scale, remediation effectiveness depends on prioritization accuracy. Organizations cannot fix everything; they must fix what is exploitable in their environment.</p>



<p><strong>Operational controls</strong>:</p>



<ul class="wp-block-list">
<li>Implement contextual risk scoring based on exploitability and exposure&nbsp;&nbsp;</li>



<li>Automate triage workflows within pull request and CI/CD pipelines&nbsp;&nbsp;</li>



<li>Define remediation service-level&nbsp;objectives&nbsp;tied to business risk&nbsp;&nbsp;</li>



<li>Suppress non-exploitable findings to reduce operational noise&nbsp;&nbsp;</li>
</ul>



<p><strong>Why this matters:</strong> Engineering effort is directed toward vulnerabilities that materially increase risk.</p>



<h3 class="wp-block-heading">3. Centralize Software and AI Supply Chain Controls</h3>



<p>Modern supply chains include models, prompts, orchestration components, and external dependencies. These assets must be continuously verified to prevent trust-based compromise.</p>



<p><strong>Operational controls:</strong></p>



<ul class="wp-block-list">
<li>Enforce dependency provenance and integrity validation&nbsp;&nbsp;</li>



<li>Maintain software and AI bills of materials (SBOM and AI-BOM)&nbsp;&nbsp;</li>



<li>Monitor repositories and registries for unverified or malicious components&nbsp;&nbsp;</li>



<li>Apply consistent security policies across software and AI dependencies&nbsp;&nbsp;</li>
</ul>



<p><strong>Why this matters:</strong> Supply chain risk becomes observable and controllable across the full development ecosystem.</p>



<h3 class="wp-block-heading">4. Establish Guardrails for Agentic Systems</h3>



<p>Agentic workflows introduce operational risk because automated systems can execute actions without direct human oversight. Governance must define the boundaries within which agents operate.</p>



<p><strong>Operational controls:</strong></p>



<ul class="wp-block-list">
<li>Assign unique identities to all AI agents and automation services&nbsp;&nbsp;</li>



<li>Define permission boundaries for agent actions&nbsp;&nbsp;</li>



<li>Enforce tool invocation policies for automated workflows&nbsp;&nbsp;</li>



<li>Maintain auditable records of agent decisions and system interactions&nbsp;&nbsp;</li>
</ul>



<p><strong>Why this matters</strong>: Agent behavior becomes predictable, accountable, and traceable across environments.</p>



<h3 class="wp-block-heading">5. Standardize Prompts as Governed Inputs</h3>



<p>Prompts influence system behavior and security outcomes. They must be treated as controlled inputs rather than informal instructions.</p>



<p><strong>Operational controls:</strong></p>



<ul class="wp-block-list">
<li>Develop approved prompt templates for common development tasks&nbsp;&nbsp;</li>



<li>Enforce prompt validation and policy checks before execution&nbsp;&nbsp;</li>



<li>Log prompt activity for audit and incident response&nbsp;&nbsp;</li>



<li>Restrict generation patterns that introduce known security risks&nbsp;</li>
</ul>



<p><strong>Why this matters</strong>: Prompt usage becomes consistent, auditable, and aligned with secure development practices.</p>



<h3 class="wp-block-heading">6. Measure Security Performance Using Operational Metrics</h3>



<p>Governance is only sustainable when performance is measurable. Metrics must reflect real risk reduction, not activity volume.</p>



<p><strong>Operational controls</strong>:</p>



<ul class="wp-block-list">
<li>Track time-to-fix for exploitable vulnerabilities&nbsp;&nbsp;</li>



<li>Measure reduction in non-actionable findings&nbsp;&nbsp;</li>



<li>Monitor policy compliance across development workflows&nbsp;&nbsp;</li>



<li>Report risk reduction outcomes to executive leadership&nbsp;</li>
</ul>



<p><strong>Why this matters</strong>: Security performance becomes quantifiable and aligned with business resilience.</p>



<p>The <a href="https://weforum.org/publications/global-cybersecurity-outlook-2026/">World Economic Forum emphasizes</a> that guardrails and secure-by-design practices must accompany AI adoption. Without them, misconfiguration and adversarial manipulation become predictable outcomes rather than isolated incidents. The lesson is straightforward: resilience depends on architecture, not intervention.</p>



<h2 class="wp-block-heading article-anchor" id="the-strategic-shift-ahead">The Strategic Shift Ahead</h2>



<p>The most common mistake organizations make when confronting AI security challenges is assuming that the solution is more tools. Tools improve visibility, but they cannot compensate for structural misalignment between development speed and security processes.</p>



<p>Traditional security models assumed that software was produced by humans operating predictable workflows, but that assumption no longer holds. Software is now continuously produced by AI and security controls must operate at the same speed. This isn’t an incremental change; it’s a different relationship between development and risk. Organizations that recognize this shift early will be able to adapt their workflows and maintain confidence in their software. Those that don’t will find themselves managing the complexity of modern systems instead of reducing risk.</p>



<p>The organizations that succeed in the age of agentic development won’t rely on stronger gates or stricter controls. They’ll build smarter guardrails.</p>



<p><em>Want to see this in practice? Explore <a href="https://checkmarx.com/product/triage-and-remediation/">Triage Assist and Remediation Assist</a>. Still evaluating your options? Check out the <a href="https://checkmarx.com/the-agentic-ai-buyers-guide/">Agentic AppSec Buyer’s Guide</a></em>.</p>



<p></p>



<p></p>]]></content:encoded>
					
		
		
		
	</item>
		<item>
		<title>Securing Your AI Supply Chain: Your AI Is Running, But You Don&#8217;t Know What It&#8217;s Doing </title>
		<link>https://checkmarx.com/ai-llm-tools-in-application-security/securing-your-ai-supply-chain-your-ai-is-running-but-you-dont-know-what-its-doing/</link>
		
		<dc:creator><![CDATA[Emma Datny]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 08:38:28 +0000</pubDate>
				<category><![CDATA[AI & LLM Tools in Application Security]]></category>
		<category><![CDATA[Application Security Trends & Insights]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Supply Chain Security]]></category>
		<category><![CDATA[ADLC]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[Software Supply Chain]]></category>
		<category><![CDATA[SSCS]]></category>
		<guid isPermaLink="false">https://staging.checkmarx.com/?p=108380</guid>

					<description><![CDATA[You passed your security audit. SAST came back clean. SCA found no critical vulnerabilities. Secrets scanning turned up nothing. Your release moved forward with confidence.&#160; Then, weeks later, leadership asks: &#8220;Are we using AI in any of our applications?&#8221;&#160; Honestly? No one knows.&#160; Somewhere in your codebase, invisible to every tool you have, an application [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>You passed your security audit. SAST came back clean. SCA found no critical vulnerabilities. Secrets scanning turned up nothing. Your release moved forward with confidence.&nbsp;</p>



<p>Then, weeks later, leadership asks: &#8220;Are we using AI in any of our applications?&#8221;&nbsp;</p>



<p>Honestly? No one knows.&nbsp;</p>



<p>Somewhere in your codebase, invisible to every tool you have, an application is calling a hosted LLM service. An agent framework arrived through a dependency. Prompts are loading from runtime configuration. Embeddings are being sent to a vector store.&nbsp;</p>



<p>None of it shows up in your SBOM. None of it is on anyone&#8217;s radar.&nbsp;</p>



<p>This&nbsp;isn&#8217;t&nbsp;a failure of your security team.&nbsp;It&#8217;s&nbsp;a structural gap.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="the-supply-chain-is-changing-again">
<strong>The Supply Chain is Changing (Again)</strong>&nbsp;</h2>



<p>For years, traditional AppSec protected a predictable set of things: application code, open-source packages, secrets, containers, and infrastructure. SAST, SCA, vulnerability management, all built for that world. </p>



<p>Then AI became a production dependency.&nbsp;</p>



<p>More than&nbsp;<a href="https://gartner.com/en/newsroom/press-releases/2025-08-26-gartner-predicts-40-percent-of-enterprise-apps-will-feature-task-specific-ai-agents-by-2026-up-from-less-than-5-percent-in-2025" target="_blank" rel="noreferrer noopener">75% of enterprises are already embedding LLMs, AI SDKs, and AI services directly into their applications</a>. But the security and governance programs designed to manage software&nbsp;haven&#8217;t&nbsp;caught up.&nbsp;</p>



<p><strong>Modern applications now depend on:</strong>&nbsp;</p>



<ul class="wp-block-list">
<li>Hosted AI services (LLM APIs) </li>
</ul>



<ul class="wp-block-list">
<li>AI frameworks and SDKs </li>
</ul>



<ul class="wp-block-list">
<li>Agent code and MCP servers </li>
</ul>



<ul class="wp-block-list">
<li>Prompts and datasets </li>
</ul>



<ul class="wp-block-list">
<li>Embeddings and vector stores </li>
</ul>



<p><strong>These&nbsp;don&#8217;t&nbsp;behave like traditional dependencies:</strong>&nbsp;</p>



<ul class="wp-block-list">
<li>A model can be safe in testing and unsafe under real-world prompts </li>
</ul>



<ul class="wp-block-list">
<li>A prompt can quietly change system behavior without changing application logic </li>
</ul>



<ul class="wp-block-list">
<li>An MCP tool can expand execution capability beyond what developers intended </li>
</ul>



<ul class="wp-block-list">
<li>A service provider can change data retention terms without a code change </li>
</ul>



<p>Traditional AppSec tools&nbsp;don&#8217;t&nbsp;detect these risks because they&nbsp;weren&#8217;t&nbsp;designed to. They&nbsp;can&#8217;t&nbsp;assess model poisoning, unverified weights, unsafe adapters, malicious MCP servers, or licensing violations.&nbsp;&nbsp;</p>



<p>None of these are hypothetical. They&#8217;re showing up in real pipelines, real codebases, and real compliance conversations, often without anyone realizing it. </p>



<p>At the same time, regulatory&nbsp;pressure is real. The EU AI Act, ISO 42001, and&nbsp;other&nbsp;frameworks&nbsp;are&nbsp;creating&nbsp;real accountability for AI governance.&nbsp;Yet, most organizations lack even a basic AI asset inventory, let alone the ability to&nbsp;demonstrate&nbsp;compliance.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="the-hidden-threats-in-your-ai-dependencies">
<strong>The Hidden Threats in Your AI Dependencies</strong>&nbsp;</h2>



<p>Below are 10 prominent AI supply chain risks&nbsp;validated&nbsp;by&nbsp;<a href="https://genai.owasp.org/llmrisk/llm032025-supply-chain/" target="_blank" rel="noreferrer noopener">OWASP LLM03:2025</a>&nbsp;(the industry standard) and our own&nbsp;Checkmarx&nbsp;Zero research team.&nbsp;</p>



<p>These risks reflect where visibility gaps&nbsp;typically become security gaps in this new supply chain structure:&nbsp;</p>



<p><strong>Group A: Trust &amp; Provenance</strong>&nbsp;Poisoned models, fake models, abandoned models, vulnerable AI packages—risks tied to where models actually come from and whether you can trust them.&nbsp;</p>



<p><strong>Group B: Modification &amp; Fine-Tuning</strong>&nbsp;Malicious adapters, model merge exploits—risks introduced when models are altered without visibility.&nbsp;</p>



<p><strong>Group C: Deployment Risks</strong>&nbsp;Mobile and edge model attacks where compromised models are embedded outside standard update mechanisms.&nbsp;</p>



<p><strong>Group D: MCP Supply Chain</strong>&nbsp;Tool poisoning, compromised dependencies, shadow MCP servers, unauthorized integrations that expand what AI can&nbsp;actually do.&nbsp;</p>



<p><strong>Group E: Governance &amp; Exposure</strong>&nbsp;Licensing violations, unclear terms-of-service, privacy policy drift that quietly changes how your data is used.&nbsp;</p>



<p>Each reflects a different failure mode: compromised artifacts, unmanaged modifications, invisible deployments, unauthorized connections, and untracked obligations.&nbsp;</p>



<h3 class="wp-block-heading">
<strong>Where Does Your Organization Actually Stand?</strong>&nbsp;</h3>



<p>Most security teams assume&nbsp;they&#8217;re&nbsp;at least partially aware of their AI exposure. In practice, the answer is usually Stage 1: Unknown.&nbsp;There&#8217;s&nbsp;no inventory, no policy enforcement,&nbsp;and&nbsp;no audit trail,&nbsp;just scattered usage across repos and environments.&nbsp;</p>



<p>Getting from Unknown to Governed&nbsp;isn&#8217;t&nbsp;a single leap.&nbsp;It&#8217;s&nbsp;a defined progression: from discovery, to control, to compliance-ready reporting. Understanding where you sit today is the prerequisite to knowing what to do next.&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="visibility-first-then-everything-else">
<strong>Visibility First, Then Everything Else</strong><strong>&nbsp;</strong>&nbsp;</h2>



<p>What connects&nbsp;all&nbsp;these risks is something simple: if you&nbsp;don&#8217;t&nbsp;know an AI&nbsp;component&nbsp;exists in your software, you&nbsp;can&#8217;t&nbsp;assess it, govern it, or protect against what it might do.&nbsp;</p>



<p>This requires building what&nbsp;didn&#8217;t&nbsp;exist before: an AI-BOM, an inventory that captures what AI is running your applications and what that implies for risk and compliance.&nbsp;</p>



<p>This requires four capabilities:&nbsp;</p>



<ol start="1" class="wp-block-list">
<li>
<strong>Discover</strong> AI assets across code and configuration </li>
</ol>



<ol start="2" class="wp-block-list">
<li>
<strong>Assess</strong> AI-specific risks (not just CVEs) </li>
</ol>



<ol start="3" class="wp-block-list">
<li>
<strong>Control</strong> through policy enforcement and approved registries </li>
</ol>



<ol start="4" class="wp-block-list">
<li>
<strong>Report</strong> compliance-ready documentation </li>
</ol>



<p>AI is already embedded in your stack, whether you know it or not. The goal&nbsp;isn&#8217;t&nbsp;to slow adoption,&nbsp;it&#8217;s&nbsp;to bring the same AppSec discipline to AI dependencies that teams already apply to everything else they ship.&nbsp;</p>



<p>That starts with visibility.&nbsp;&nbsp;</p>



<h2 class="wp-block-heading article-anchor" id="want-to-go-deeper">Want to go deeper?&nbsp;&nbsp;</h2>



<p>We&#8217;ve&nbsp;put together a full breakdown of the threat&nbsp;landscape&nbsp;with&nbsp;all 10 risk categories, real-world examples, and the controls mapped to each. But more than that: the guide walks through a practical AI Supply Chain Maturity Model so you can identify where your organization stands today, a side-by-side comparison of traditional SBOMs vs. AI-BOMs, and a two-floor security architecture that tells you what to preserve from your existing AppSec program and what to add on top of it.&nbsp;</p>



<p><a href="https://checkmarx.com/resources/10-ai-supply-chain-risks-hiding-in-your-codebase/" target="_blank" rel="noreferrer noopener">Read it now</a>&nbsp;&nbsp;</p>]]></content:encoded>
					
		
		
		
	</item>
	</channel>
</rss>
