Generative AI helps spot malicious open-source code
Developers can ask DroidGPT natural language questions about the code they’re researching and get instant ratings on its security from Endor Labs’ proprietary database.
With open-source software likely the “next frontier” for cyberattacks, one company is using the generative artificial intelligence found in ChatGPT to help developers research open source software packages to find code components that are secure from attacks.
Startup Endor Labs, which helps governments and businesses secure open-source software, recently made its DroidGPT tool available in private beta, with a view to launching fully in the next two months.
Developers can log onto the company’s platform and use a conversational style to ask various questions, whether it be for examples of code they are looking for or which packages have the fewest vulnerabilities. DroidGPT then produces instant answers drawn from Endor Labs’ extensive and regularly updated database of open-source software, with those results overlaid with the company’s data on each package’s quality, popularity, trustworthiness and security.
Public- and private-sector developers are increasingly reliant on open-source software, which has become the backbone of many technologies and applications.To better ensure security of open-source software, the Biden administration’s 2021 executive order called for open-source software’s “integrity and provenance” to be checked, and it pushed for a “software bill of materials” to keep a formal record of the software supply chain used in building any applications.
Endor Labs CEO and Co-Founder Varun Badhwar said around 80% of the code that makes up applications is open source, which is convenient for developers but creates concerns around where it comes from, especially as there is no support structure in place to identify bad code.
“Fundamentally, while this is great for innovation and the acceleration of the productivity of engineers, it is very dangerous,” Badhwar said.
DroidGPT looks to change that, using Endor Labs’ cloud-based proprietary database that keeps track of open-source code vulnerabilities and is updated every 24 hours. When the tool produces results for users’ searches, it also shows Endor Scores, or ratings of the code’s security, popularity, quality and trustworthiness.
Badhwar said DroidGPT looks to change the usual process for writing software, where developers build an application and then send it to their security team to review it for weaknesses. That process creates a “lot of friction” between developers and security personnel, he said, as any issues that the security team finds can delay shipment of that software.
Using this tool, developers can be more confident that the open-source components they use are already secure and so remove the majority of the application’s security risk.
“If we want to break through this challenge, the saying I use is: ‘How do we start clean? Because if we start clean, we can much more easily stay clean,’” Badhwar said. “If we start with a mess, we're always going to be a mess.”
One area where AI is not quite ready to replace human beings is in identifying malware, although researchers said the technology is making progress. A blog post from Endor Labs’ lead security researcher Henrik Plate found that when asked to classify whether open-source software contained malware, ChatGPT correctly identified malicious code on 19 out of 34 occasions.
Plate found that AI can be tricked into thinking snippets are benign if tweaks are made in the code to include innocent function names, leading him to conclude that tools like ChatGPT “can complement, but not yet substitute human reviews,” he wrote.
Open-source software is the “next frontier of cyberattacks,” Badhwar said, so tools are needed to ensure that the code is not malicious. While AI “has a lot of promise,” it cannot fully replace humans and does not remove the need for some kind of regulation in this space, he said.