{"id":7627,"date":"2025-10-13T06:01:05","date_gmt":"2025-10-13T06:01:05","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=7627"},"modified":"2025-10-13T06:01:05","modified_gmt":"2025-10-13T06:01:05","slug":"introducing-codemender-an-ai-agent-for-code-safety","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=7627","title":{"rendered":"Introducing CodeMender: an AI agent for code safety"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<div class=\"article-cover article-cover--centered\">\n<div class=\"article-cover__header\">\n<p class=\"article-cover__eyebrow glue-label\">Accountability &amp; Security<\/p>\n<dl class=\"article-cover__meta\">\n<dt class=\"glue-visually-hidden\">Printed<\/dt>\n<dd class=\"article-cover__date glue-label\"><time datetime=\"2025-10-06\">6 October 2025<\/time><\/dd>\n<dt class=\"glue-visually-hidden\">Authors<\/dt>\n<dd class=\"article-cover__authors\">\n<p data-block-key=\"8plfi\">Raluca Ada Popa and 4 Flynn<\/p>\n<\/dd>\n<\/dl><\/div>\n<picture class=\"picture article-cover__image\"><source media=\"(min-width: 1024px)\" type=\"image\/webp\" width=\"1072\" height=\"603\" srcset=\"https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w1072-h603-n-nu-rw 1x, https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w2144-h1206-n-nu-rw 2x\"\/><source media=\"(min-width: 600px)\" type=\"image\/webp\" width=\"928\" height=\"522\" srcset=\"https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w928-h522-n-nu-rw 1x, https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w1856-h1044-n-nu-rw 2x\"\/><source type=\"image\/webp\" width=\"528\" height=\"297\" srcset=\"https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w528-h297-n-nu-rw 1x, https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w1056-h594-n-nu-rw 2x\"\/><img loading=\"lazy\" decoding=\"async\" alt=\"A glowing, pixelated blue and pink ribbon curves across a light blue background. The ribbon appears to be made of individual squares, with some of the pink squares near the center breaking away and scattering, suggesting a dynamic process of change or repair.\" class=\"picture__image\" height=\"603\" src=\"https:\/\/lh3.googleusercontent.com\/qQXJtLUbwdtnv5JrIinBUj-JgdjB-aA65EWcYSWxiLGoYPj8jTSmTAE2mmEpk530JlkLnV21krL-KdOH6N1NghVnAKTmQLobB7PNKaSFHyjmawjgKw=w1072-h603-n-nu\" width=\"1072\"\/>\n    <\/picture>\n<\/p><\/div>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<p data-block-key=\"bx9s8\" class=\"gdm-rich-text__subtitle\">Utilizing superior AI to repair essential software program vulnerabilities<\/p>\n<p data-block-key=\"7jiud\">As we speak, we\u2019re sharing early outcomes from our analysis on CodeMender, a brand new AI-powered agent that improves code safety routinely.<\/p>\n<p data-block-key=\"e8ggo\">Software program vulnerabilities are notoriously troublesome and time-consuming for builders to seek out and repair, even with conventional, automated strategies like fuzzing. Our AI-based efforts like <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/googleprojectzero.blogspot.com\/2024\/10\/from-naptime-to-big-sleep.html\" rel=\"noopener\" target=\"_blank\">Massive Sleep<\/a> and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/security.googleblog.com\/2023\/08\/ai-powered-fuzzing-breaking-bug-hunting.html\" rel=\"noopener\" target=\"_blank\">OSS-Fuzz<\/a> have demonstrated AI\u2019s capacity to seek out new zero-day vulnerabilities in well-tested software program. As we obtain extra breakthroughs in AI-powered vulnerability discovery, it should change into more and more troublesome for people alone to maintain up.<\/p>\n<p data-block-key=\"16s9k\">CodeMender helps clear up this drawback by taking a complete strategy to code safety that\u2019s each reactive, immediately patching new vulnerabilities, and proactive, rewriting and securing present code and eliminating total courses of vulnerabilities within the course of. Over the previous six months that we\u2019ve been constructing CodeMender, we have now already upstreamed 72 safety fixes to open supply initiatives, together with some as massive as 4.5 million strains of code.<\/p>\n<p data-block-key=\"flpqu\">By routinely creating and making use of high-quality safety patches, CodeMender\u2019s AI-powered agent helps builders and maintainers concentrate on what they do finest \u2014 constructing good software program.<\/p>\n<h2 data-block-key=\"ddl7e\">CodeMender in motion<\/h2>\n<p data-block-key=\"2oqaj\">CodeMender operates by leveraging the considering capabilities of current <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/blog.google\/products\/gemini\/gemini-2-5-deep-think\/\" rel=\"noopener\" target=\"_blank\">Gemini Deep Assume<\/a> fashions to supply an autonomous agent able to debugging and fixing advanced vulnerabilities.<\/p>\n<p data-block-key=\"5jo5\">To do that, the CodeMender agent is supplied with strong instruments that permit it purpose about code earlier than making adjustments, and routinely validate these adjustments to ensure they\u2019re right and don\u2019t trigger regressions.<\/p>\n<\/div>\n<figure class=\"single-media single-media--large\" aria-label=\"Animation showing CodeMender\u2019s process for fixing vulnerabilities.\" aria-describedby=\"caption-166fca69-5b27-40eb-8c43-c5ddc638fe22\"><figcaption class=\"caption\">\n<div class=\"caption__text glue-caption\" id=\"caption-166fca69-5b27-40eb-8c43-c5ddc638fe22\">\n<p data-block-key=\"hrdy6\">Animation exhibiting CodeMender\u2019s course of for fixing vulnerabilities.<\/p>\n<\/p><\/div>\n<\/figcaption><\/figure>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<p data-block-key=\"bx9s8\">Whereas massive language fashions are quickly bettering, errors in code safety might be expensive. CodeMender\u2019s computerized validation course of ensures that code adjustments are right throughout many dimensions by solely surfacing for human evaluation high-quality patches that, for instance, repair the basis explanation for the difficulty, are functionally right, trigger no regressions and observe type pointers.<\/p>\n<p data-block-key=\"elveb\">As a part of our analysis, we additionally developed new methods and instruments that permit CodeMender purpose about code and validate adjustments extra successfully. This contains:<\/p>\n<ul>\n<li data-block-key=\"5pp0s\"><strong>Superior program evaluation:<\/strong> We developed instruments based mostly on superior program evaluation that embody static evaluation, dynamic evaluation, differential testing, fuzzing and SMT solvers. Utilizing these instruments to systematically scrutinize code patterns, management circulate and information circulate, CodeMender can higher determine the basis causes of safety flaws and architectural weaknesses.<\/li>\n<li data-block-key=\"bth6s\"><strong>Multi-agent programs:<\/strong> We developed special-purpose brokers that allow CodeMender to sort out particular features of an underlying drawback. For instance, CodeMender makes use of a big language model-based critique software that highlights the variations between the unique and modified code with a purpose to confirm that the proposed adjustments don&#8217;t introduce regressions, and self-correct as wanted.<\/li>\n<\/ul>\n<h2 data-block-key=\"3719q\">Fixing vulnerabilities<\/h2>\n<p data-block-key=\"1f6os\">To successfully patch a vulnerability, and forestall it from re-emerging, Code Mender makes use of a debugger, supply code browser, and different instruments to pinpoint root causes and devise patches. We have now added two examples of CodeMender patching vulnerabilities within the video carousel under.<\/p>\n<p data-block-key=\"1594o\"><strong>Instance #1: Figuring out the basis explanation for a vulnerability<\/strong><\/p>\n<p data-block-key=\"c3frf\">Right here\u2019s a snippet of the agent&#8217;s reasoning in regards to the root trigger for a CodeMender-generated patch, after analyzing the outcomes of debugger output and a code search software.<\/p>\n<p data-block-key=\"7h86h\">Though the ultimate patch on this instance solely modified a couple of strains of code, the basis explanation for the vulnerability was not instantly clear. On this case, the crash report confirmed a heap buffer overflow, however the precise drawback was elsewhere \u2014 an incorrect stack administration of Extensible Markup Language (XML) components throughout parsing.<\/p>\n<p data-block-key=\"b8f29\"><strong>Instance #2: Agent is ready to create non-trivial patches<\/strong><\/p>\n<p data-block-key=\"au7ng\">On this instance, the CodeMender agent was capable of give you a non-trivial patch that offers with a fancy object lifetime concern.<\/p>\n<p data-block-key=\"38qf8\">The agent was not solely in a position to determine the basis explanation for the vulnerability, however was additionally capable of modify a very customized system for producing C code inside the venture.<\/p>\n<\/div>\n<p><gdm-carousel class=\"glue-carousel carousel\" id=\"block-f0c4e90a-9d3e-4fa4-8a22-68cdfd27b94f\"><\/p>\n<p><\/gdm-carousel><\/p>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<h2 data-block-key=\"c9bkr\">Proactively rewriting present code for higher safety<\/h2>\n<p data-block-key=\"5nipp\">We additionally designed CodeMender to proactively rewrite present code to make use of safer information constructions and APIs.<\/p>\n<p data-block-key=\"9nv9f\">For instance, we deployed CodeMender to use <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/clang.llvm.org\/docs\/BoundsSafety.html\" rel=\"noopener\" target=\"_blank\">-fbounds-safety<\/a> annotations to components of a broadly used picture compression library known as <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/webmproject\/libwebp\" rel=\"noopener\" target=\"_blank\">libwebp<\/a>. When <strong>-fbounds-safety<\/strong> annotations are utilized, the compiler provides bounds checks to the code to forestall an attacker from exploiting a buffer overflow or underflow to execute arbitrary code.<\/p>\n<p data-block-key=\"7pqtv\">A couple of years in the past, a heap buffer overflow vulnerability in libwebp (<a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2023-4863\" rel=\"noopener\" target=\"_blank\">CVE-2023-4863<\/a>) was utilized by a menace actor as a part of <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/citizenlab.ca\/2023\/09\/blastpass-nso-group-iphone-zero-click-zero-day-exploit-captured-in-the-wild\/\" rel=\"noopener\" target=\"_blank\">a zero-click iOS exploit<\/a>. With <strong>-fbounds-safety<\/strong> annotations, this vulnerability, together with most different buffer overflows within the venture the place we have utilized annotations, would\u2019ve been rendered unexploitable eternally.<\/p>\n<p data-block-key=\"3gflt\">Within the video carousel under we present examples of the agent\u2019s decision-making course of, together with the validation steps.<\/p>\n<\/div>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<p data-block-key=\"c9bkr\"><strong>Instance #1: Agent\u2019s reasoning steps<\/strong><\/p>\n<p data-block-key=\"460ho\">On this instance, the CodeMender agent is requested to deal with the next <strong>-fbounds-safety<\/strong> error on <strong>bit_depths<\/strong> pointer:<\/p>\n<\/div>\n<figure class=\"single-media single-media--inline\">\n<\/figure>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<p data-block-key=\"tpfo0\"><strong>Instance #2: Agent routinely corrects errors and check failures<\/strong><\/p>\n<p data-block-key=\"2d3fo\">One other of CodeMender\u2019s key options is its capacity to routinely right new errors and any check failures that come up from its personal annotations. Right here is an instance of the agent recovering from a compilation error.<\/p>\n<p data-block-key=\"b7787\"><strong>Instance #3: Agent validates the adjustments<\/strong><\/p>\n<p data-block-key=\"773d9\">On this instance, the CodeMender agent modifies a operate after which makes use of the LLM decide software configured for practical equivalence to confirm that the performance stays intact. When the software detects a failure, the agent self-corrects based mostly on the LLM decide&#8217;s suggestions.<\/p>\n<\/div>\n<p><gdm-carousel class=\"glue-carousel carousel\" id=\"block-d6bae008-9da6-4432-8ad7-afee5f4e1cdb\"><\/p>\n<p><\/gdm-carousel><\/p>\n<div class=\"gdm-rich-text rich-text flex-font\">\n<h2 data-block-key=\"c9bkr\">Making software program safe for everybody<\/h2>\n<p data-block-key=\"2fsdp\">Whereas our early outcomes with CodeMender are promising, we\u2019re taking a cautious strategy, specializing in reliability. At the moment, all patches generated by CodeMender are reviewed by human researchers earlier than they\u2019re submitted upstream.<\/p>\n<p data-block-key=\"8i56\">Utilizing CodeMender, we have already begun submitting patches to varied essential open-source libraries, lots of which have already been accepted and upstreamed. We\u2019re steadily ramping up this course of to make sure high quality and systematically tackle suggestions from the open-source group.<\/p>\n<p data-block-key=\"eak4p\">We\u2019ll even be steadily reaching out to  maintainers of essential open supply initiatives with CodeMender-generated patches. By iterating on suggestions from this course of, we hope to launch CodeMender as a software that can be utilized by all software program builders to maintain their codebases safe.<\/p>\n<p data-block-key=\"faorg\">We may have quite a few methods and outcomes to share, which we intend to publish as technical papers and reviews within the coming months. With CodeMender, we have solely simply begun to discover AI\u2019s unbelievable potential to reinforce software program safety for everybody.<\/p>\n<\/div>\n<section class=\"notes\">\n<div class=\"glue-page\">\n<div class=\"gdm-rich-text notes__inner\">\n<p data-block-key=\"kr04z\"><strong>Acknowledgements<\/strong><\/p>\n<p data-block-key=\"bu4vg\">Credit (listed in alphabetical order):<\/p>\n<p data-block-key=\"1rh2v\">Alex Rebert, Arman Hasanzadeh, Carlo Lemos, Charles Sutton, Dongge Liu, Gogul Balakrishnan, Hiep Chu, James Zern, Koushik Sen, Lihao Liang, Max Shavrick, Oliver Chang and Petros Maniatis.<\/p>\n<\/p><\/div><\/div>\n<\/section>\n<section class=\"related-posts\">\n<\/section><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Accountability &amp; Security Printed 6 October 2025 Authors Raluca Ada Popa and 4 Flynn Utilizing superior AI to repair essential software program vulnerabilities As we speak, we\u2019re sharing early outcomes from our analysis on CodeMender, a brand new AI-powered agent that improves code safety routinely. Software program vulnerabilities are notoriously troublesome and time-consuming for builders [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":7629,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[75,977,5875,979,211],"class_list":["post-7627","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-agent","tag-code","tag-codemender","tag-introducing","tag-security"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/7627","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7627"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/7627\/revisions"}],"predecessor-version":[{"id":7628,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/7627\/revisions\/7628"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/7629"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7627"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7627"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7627"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-06-21 05:52:52 UTC -->