Phantom Open Source Dependencies – Techstrong AI Podcast EP43
In this Techstrong AI podcast, Amanda Razani speaks with Darren Meyer, staff research engineer at Endor Labs, about why phantom open source dependencies prevent organizations from securing their AI code.
Transcript
Hello and welcome to the Techstrong AI Podcast. I'm Amanda Razani, and with me today is Darren Meyer. He is the staff research engineer for Indoor Labs.
How are you doing today? I'm Doing great yourself? Doing well.
Happy to have you on our show. Great. Can you share a little bit about Indoor Labs and what services do you provide?
Sure. So Indoor Labs is an application security platform that's heavily focused on open source and other dependencies in your organization. So, uh, the things that are traditionally SCA tools, as well as things like GitHub actions, dependencies, AI dependencies, and so on, to try to secure all the stuff you don't write as well as the stuff that you do.
Wonderful. All right. Well, we'll get to our topic of the day, which is why phantom open source dependencies prevent organizations from securing their AI code.
So my first question is, can you share with our audience what do you mean by phantom open source dependencies? Sure. The, the typical way that a developer brings an open source dependency into a software project is one of two ways.
They'll either add it to a manifest. So if they're using something like Maven, they might add it to a Palm XML file, say, I want this dependency of this version to be part of my project, and then it can come transitively as well. So that dependency is also a piece of software with its own dependencies.
So my dependency that I asked for it's dependencies are my transitive dependencies. And those are relatively easy for tools to look for and say, you know, I understand what you have asked for and I understand what that brings along for the ride. However, there are some cases where a library that you are using isn't installed through that path.
You're rather relying on it being already on the system, or it's part of an install script or something that's not through the normal way of installing dependencies. And that can hide from tools, and we call those phantom dependencies. Okay.
And so what security concerns should we have when it comes to those? So the main thing is that their libraries like everything else, right? So they can have vulnerabilities, they can have programming mistakes, they can have bugs.
And when they hide from your toolkits and you don't have a a good system for going and looking for them, you can have these vulnerabilities that impact you that you just have no visibility to whatsoever. So you can't really put them into a vulnerability management program if you don't know they exist. Got it.
So how can we protect ourselves from this and be proactive? So the main way to do that is to figure out a, a tactic or technique within your organization that lets you find and enumerate these things and get them into your vulnerability management program. So the way that we've done it at Indoor Labs is to use program analysis.
So we examine the code that you've written and we look for what dependencies is the code actually attempting to load and use. And then we compare that against what the developer has asked for and the transitive dependencies thereof. And when there are gaps, we find them on the system and say, aha, we found one that you're using that you, you're not explicitly asking for.
That's a phantom dependency. We can now treat that like any other dependency in your, in your product. There are a couple of other approaches to doing this as well, but it's the one that we find works the best.
And can we use AI tools in some way to help with this process? Um, potentially, uh, you know, AI is a little bit early stages in terms of actually using it to do more traditional security tasks. Uh, so the, the interesting implication for AI with these things is really on people adopting AI tend to follow these patterns that produce phantom dependencies more often, uh, you could create an an AI agent that makes guesses about whether you're using phantom dependencies, but you know, our testing, it hasn't had better results than traditional analysis, at least not yet.
Oh, okay. So moving forward, um, you know, as, as businesses are using AI a lot more, uh, therefore we're seeing, uh, more security issues come up, what advice you have for business leaders as far as, um, making sure all their staff is paying attention and, and protecting themselves? So I I think it's really two pieces.
One is you need to expand your concept of what a software developer is in the modern world, because a lot of these AI projects are not coming from software engineering teams. They're coming from data analysis teams. They're coming from marketing teams, surprising places in your organization that you don't normally think of as writing software, right?
Or software developers, uh, and your, your programs for controlling software have to embrace that practice and kind of get them doing the, the important parts of software development and, and control, uh, so that you can keep, keep an eye on what they're doing and make sure they're not inadvertently adding risk to the organization. And I think the other is to really keep an eye on your tool chains. Uh, unfortunately what happens a lot of times in the application security market is very established.
Players lose a little bit of incentive to innovate when there's new things like AI that change a little bit on how you have to analyze and how you have to monitor. And so you really have to keep an eye on your existing vendors and try out new vendors and things on a regular basis to make sure that people are keeping up with the state-of-the-art, As we have seen, technology is advancing very rapidly right now. We're in a technological revolution it seems like.
So, um, what, what do you predict for say, two years from now? Oh man. That, that's a hard one to do.
I, the, my chance of being right is pretty low, but, uh, I do think that we're gonna see increased adoption in AI for a while. Um, I do think it's gonna slow down a little bit. There's, there's definitely some AI skepticism and people are starting to understand where it's limits are, um, and therefore there're being a little, a little less excited and a little less, let's just go do it.
They, they're doing it more thoughtfully. But I do think we'll start to see capabilities that are now very heavily advertised as AI and new and trendy, seen as just sort of normal things and not necessarily think of them as ai, even though they are, which is the same thing that happened with machine learning and other things before it. Absolutely.
Well, if there was one key takeaway you could leave our audience with today, what would that be? I think it's really the, the importance of having an AppSec program that really has a complete and accurate understanding of what your software is built of is not as simple and straightforward as people often see, seem to think at first glance. So it's really important to have both tools and processes in your organization that make sure that you know where all of your software is and kind of what it's made of so that you can manage the risks effectively.
Alright, well thank you so much for coming on the show and sharing your insights with us today. My pleasure. All right.
And thank you to our audience. Stay tuned to theirs more.