Article Details
Scrape Timestamp (UTC): 2024-11-20 17:04:29.396
Source: https://www.theregister.com/2024/11/20/google_ossfuzz/
Original Article Text
Click to Toggle View
Google's AI bug hunters sniff out two dozen-plus code gremlins that humans missed. OSS-Fuzz is making a strong argument for LLMs in security research. Google's OSS-Fuzz project, which uses large language models (LLMs) to help find bugs in code repositories, has now helped identify 26 vulnerabilities, including a critical flaw in the widely used OpenSSL library. The OpenSSL bug (CVE-2024-9143) was reported in mid-September and fixed a month later. Some, but not all, of the other vulnerabilities have also been addressed. Google believes its AI-driven fuzzing tool – which injects unexpected or random data into software to catch errors – found something that's unlikely to have ever been caught by human-driven fuzzing. "As far as we can tell, this vulnerability has likely been present for two decades and wouldn't have been discoverable with existing fuzz targets written by humans," said Oliver Chang, Dongge Liu, and Jonathan Metzman of Google's open source security team in a blog post. If that's correct, security research henceforth really ought to involve AI for fear that threat actors have already done so – and found flaws that would be invisible to the AI-deprived. Another example cited by Google's security team, a bug in the cJSON project, is similarly said to have been spotted by AI and missed by a human-written fuzzing test. So the value of AI assistance appears to be substantial for security professionals. The Chocolate Factory earlier this month announced that, for the first time, a separate LLM-based bug hunting tool called Big Sleep had identified a previously unknown exploitable memory-safety flaw in real software. And in October, Seattle-based Protect AI released an open source tool called Vulnhuntr that used Anthropic's Claude LLM to find zero-day vulnerabilities in Python-based projects. The OSS-Fuzz team introduced AI-based fuzzing in August 2023 in an effort to fuzz a greater portion of codebases – to improve fuzzing coverage, meaning the amount of code tested. The process of fuzzing involves drafting a fuzzing target – "a function that accepts an array of bytes and does something interesting with these bytes using the API under test" – then dealing with potential compilation issues and running the fuzzing target to see how it performs, making corrections, and repeating the process to see whether crashes can be traced to specific vulnerabilities. Initially, OSS-Fuzz handled the first two steps: 1) Drafting an initial fuzz target; and 2) Fixing any compilation issues that arise. Then, at the beginning of 2024, Google made OSS-Fuzz available as an open source project and has been trying to improve how the software handles subsequent steps: 3) Running the fuzz target to see how it performs, and fixing any obvious mistakes causing runtime issues; 4) Running the corrected fuzz target for a longer period of time, and triaging crashes to determine their root causes; and 5) Fixing vulnerabilities. According to Google, its LLM can now handle the first four steps of the developer's fuzzing process and the plan is to tackle the fifth shortly. "The goal is to fully automate this entire workflow by having the LLM generate a suggested patch for the vulnerability," said Chang, Liu, and Metzman. "We don't have anything we can share here today, but we're collaborating with various researchers to make this a reality and look forward to sharing results soon."
Daily Brief Summary
Google's OSS-Fuzz project, utilizing large language models (LLMs), has identified 26 vulnerabilities in various code repositories, including a critical flaw in OpenSSL.
The OpenSSL vulnerability, flagged as CVE-2024-9143, was present for approximately two decades and was deemed unlikely to be discovered through traditional human-driven methods.
Other vulnerabilities found by OSS-Fuzz's AI include issues within the cJSON project, showcasing the effectiveness of AI in identifying bugs that human processes miss.
Google has leveraged AI-based fuzzing since August 2023 to enhance fuzzing coverage, aiming to test a larger portion of codebases more thoroughly.
In 2024, OSS-Fuzz was released as an open source project, highlighting Google's ongoing efforts to iterate and improve the fuzzing process including runtime performance analysis and root cause triage.
Google's future plans involve enabling the LLM to fully automate the fuzzing workflow, including generating suggested patches for identified vulnerabilities.
The inclusion of AI in security research is seen as crucial, given the potential for threat actors to exploit vulnerabilities that traditional methods may not detect.