38C3

AI Meets Git: Unmasking Security Flaws in Qodo Merge
2024-12-29 , Saal ZIGZAG
Language: English

The whole world is talking about AI, and developers are no exception. When a developer hears about a tool that can help them handle git pull requests using AI, it is likely that they will start using it for their open source project.

This is precisely what's happening with Qodo Merge (formerly PR-Agent), an open source tool that can help review and handle git pull requests by using AI to provide feedback and suggestions to developers. It is getting adopted by more and more open source projects, including popular ones.

It is so easy to add new features by relying on external tools, yet the consequences on security can be catastrophic.

Indeed, if the tool contains security vulnerabilities, the project using it may become vulnerable too and may grant anyone permissions to perform unexpected actions without realizing it. But everyone wants to use AI so security may be overlooked.

We found multiple vulnerabilities in Qodo Merge that may lead to privilege escalation on Gitlab, getting write access to Github repositories and leaking Github repository secrets. Additionally we found multiple high profile Github repositories using Qodo Merge with a configuration that makes them vulnerable, such as highly popular projects, government official repositories, self-driving automotive industry projects, blockchains and more.

In this talk we go through what Qodo Merge is, how it can be used, how it works, how it can be exploited, what projects are affected and what are the impacts. We also mention remediation steps to fix these issues.


Qodo (formerly CodiumAI) develops an open source tool called Qodo Merge (formerly PR-Agent). This tool can be setup to automatically analyze pull requests on a Gitlab, Github or Bitbucket project.

Qodo Merge uses AI to perform various tasks that may help a developer handle a pull request, such as:
* Summarizing a pull request
* Suggesting code changes to improve a pull request
* Generating a CHANGELOG file entry for a pull request
* Answering questions about a pull request
* and more

In this talk, we describe vulnerabilities we found in Qodo Merge that may lead to privilege escalation on Gitlab, write access to Github repositories and leaking secrets of Github repositories.

We mention popular open source projects that are vulnerable because they started using Qodo Merge, and discuss how to protect your project from these attacks.

We also talk about the multiple ways we tried to report those vulnerabilities to the developers of Qodo Merge and the lack of a way for security people to contact them. Finally, we describe the current security posture of the project regarding the vulnerabilities we found.

Nils is a Security Researcher on Kudelski Security’s research team performing research on various topics including AI application security testing, fuzzing, privacy, authentication, big data analytics, and internet scanning. He also writes blog posts on various topics for Kudelski’s research blog. Nils likes open-source software and has presented his research at DEF CON and Black Hat Arsenal. He was part of creating a massively distributed system for breaking RSA public keys. He's also the author of fuzzomatic, an open source AI powered fuzzer for Rust projects.