[00:00]
Viktor Petersson
Welcome back to another episode of Nerding up with Victor.
[00:03]
Viktor Petersson
Today I'm joined by Dustin Kirkland.
[00:05]
Viktor Petersson
Welcome, Dustin.
[00:06]
Dustin Kirkland
Hey, Victor.
[00:07]
Dustin Kirkland
Thank you for having me.
[00:08]
Viktor Petersson
So today's episode is going to be around Chainguard, largely.
[00:12]
Viktor Petersson
And I guess before we dive into what Chainguard is and all the juicy details on how you do security, maybe first let's talk about you.
[00:22]
Viktor Petersson
Like, your resume reads like a who's who of tech.
[00:25]
Viktor Petersson
You're from Austin, proud Austin, as far as I'm aware.
[00:28]
Viktor Petersson
And let's just maybe give the audience a kind of a view of who you are and your backstory.
[00:33]
Dustin Kirkland
Yeah, you bet.
[00:34]
Dustin Kirkland
I've lived in Austin, Texas for 25 years.
[00:37]
Dustin Kirkland
I graduated from Texas A and M University, computer engineering degree.
[00:41]
Dustin Kirkland
Moved to Austin for a very specific purpose, which was to work at IBM on Linux.
[00:47]
Dustin Kirkland
In the very early days, late 90s, early 2000s, IBM was one of the first companies that would pay people to work on open source software.
[00:55]
Dustin Kirkland
And I love that and certainly built an early part of my career around Linux and the Linux Technology center, worked on the security team.
[01:05]
Dustin Kirkland
I spent eight years at IBM.
[01:08]
Dustin Kirkland
In fact, one of those years I was on site at Red hat in Boston 2005, long before IBM and Red Hat became one thing.
[01:18]
Dustin Kirkland
After eight good years at IBM, I joined Canonical, a very small, scrappy Canonical that was just building its first server, Ubuntu.
[01:27]
Dustin Kirkland
The, the server edition that was 2008.
[01:30]
Viktor Petersson
Time frame, which was a 704ish, was the first server.
[01:35]
Dustin Kirkland
804 was the really the first time we had a, a real, you know, server experience.
[01:42]
Dustin Kirkland
Maybe.
[01:43]
Dustin Kirkland
Maybe, yeah.
[01:45]
Dustin Kirkland
804, I think Hardy Heron was, I think, our first real server and went straight to the cloud, you know, so like we skipped hardware.
[01:56]
Dustin Kirkland
It was kind of interesting.
[01:57]
Dustin Kirkland
The strategy then was Amazon was, AWS was just spinning up.
[02:02]
Dustin Kirkland
So yeah, I actually left Canonical and joined a startup that had built itself around an open source project that I had co authored called ecryptfs.
[02:13]
Dustin Kirkland
It was in the security space, an encrypted file system that we used in Ubuntu to encrypt home directories.
[02:21]
Dustin Kirkland
In the very early days of Ubuntu, I would say notably were encrypting home directories in Ubuntu before disk encryption in either Windows or Mac was a thing or default.
[02:36]
Dustin Kirkland
And now I think it's pretty standard to expect to encrypt your data.
[02:41]
Dustin Kirkland
But I think we did something pretty remarkable there in the early days of the Ubuntu desktop.
[02:46]
Dustin Kirkland
Anyway, this little company called Gazing was built around an encryption module that encrypted first MySQL databases.
[02:55]
Dustin Kirkland
The founders actually raised a round of venture capital funding and then hired a CEO and hired myself as cto and we had a really interesting fun run encrypting basically healthcare data in the 20111213 time frame, right around when the HIPAA compliance was going into effect.
[03:17]
Dustin Kirkland
Remind me to circle back to that when we get to Chain Guard because there's an important tie in there.
[03:23]
Dustin Kirkland
That company actually was acquired by Cloudera.
[03:26]
Dustin Kirkland
I did not go to Cloudera.
[03:27]
Dustin Kirkland
I went actually back to Canonical and led product for a number of years.
[03:31]
Dustin Kirkland
I did two stints at Canonical, four years the first time and then six years the second time around and you know, 10 years total.
[03:40]
Dustin Kirkland
Really proud of everything, you know, that we build at Ubuntu.
[03:43]
Dustin Kirkland
I still, you know, celebrate the Ubuntu Schweig and fun memorabilia.
[03:50]
Dustin Kirkland
After Ubuntu, I joined Google and worked on Kubernetes.
[03:54]
Dustin Kirkland
I was a product manager bringing basically Kubernetes on prem.
[03:58]
Dustin Kirkland
So I worked on the operating system and the Kubernetes worker nodes, which was, you know, important part of running Kubernetes on Prem for Google prior to the Anthos product.
[04:10]
Dustin Kirkland
But basically that became the on prem part of Anthos.
[04:14]
Dustin Kirkland
After Google, I spent a couple of years in financial services.
[04:17]
Dustin Kirkland
It was interesting.
[04:18]
Dustin Kirkland
I really saw a wave of change coming in the financial services industry around just modernizing infrastructure and tech.
[04:27]
Dustin Kirkland
Both Canonical and Google had a lot of customers that were looking at Kubernetes and open source and cloud and scale.
[04:35]
Dustin Kirkland
So I first joined a private startup that provided clearing and custody services as an API called Apex, and then joined one of our customers, which was Goldman Sachs, who had built one of Apex's customers rather, who had built basically a consumer bank on top of that.
[04:55]
Dustin Kirkland
Took some time off after that and got in touch with some old friends, the founders of Chainguard, and they recruited me to join early on and help build out the engineering team.
[05:05]
Dustin Kirkland
So I think I'd wrap that with saying of 25 years of work, I've spent half of that in three of the world's biggest companies, Google, IBM and Goldman Sachs.
[05:16]
Dustin Kirkland
The other half in growth mode startups.
[05:19]
Dustin Kirkland
I've also spent half of that in engineering and half of that in product management.
[05:24]
Dustin Kirkland
So I've kind of had a foot in both engineering and product camps and both startups and big public company.
[05:31]
Viktor Petersson
Awesome, awesome.
[05:32]
Viktor Petersson
That's a lot to unpack there.
[05:35]
Viktor Petersson
And I guess that's a natural segue.
[05:38]
Viktor Petersson
Over to Chainguard, which is your current employer.
[05:41]
Viktor Petersson
And I guess for those not familiar with chainguard, what's the elevator pitch?
[05:45]
Viktor Petersson
What's the story like?
[05:46]
Viktor Petersson
How do you describe it?
[05:48]
Viktor Petersson
Briefly?
[05:48]
Dustin Kirkland
Yeah, we call ourselves the safe source for open Source.
[05:54]
Dustin Kirkland
So we've bootstrapped our own everything.
[05:58]
Dustin Kirkland
We build everything straight from source compilers, libraries, tool chains.
[06:04]
Dustin Kirkland
You could kind of think of it as a distro, but an undistro or a distro less distro.
[06:09]
Dustin Kirkland
We have, we don't take the typical distro approach of snapshot the whole world.
[06:14]
Dustin Kirkland
We're much more of a rolling distro rebuild all the time and constantly our product today that we sell and we've got customers, many customers running in production have basically purchased from chain guard hardened container images.
[06:31]
Dustin Kirkland
So we build all of this from source so that we can produce a docker image or that'll run in any OCI compliant docker runtime kubernetes and so forth.
[06:41]
Dustin Kirkland
And we keep those docker images@0cve.
[06:45]
Dustin Kirkland
CVEs are common vulnerabilities and exposures.
[06:49]
Dustin Kirkland
Those are named numbered vulnerabilities.
[06:53]
Dustin Kirkland
And basically we have an SLA with our for our customers that say that we will remediate vulnerabilities criticals within seven days, highs, mediums and lows within 14 days of there being a fix available for that CVE.
[07:09]
Dustin Kirkland
In doing so we have exceeded the Fedramp standards which are required by the US government in order to remediate CVEs.
[07:18]
Dustin Kirkland
We exceed the FedRAMP mandates which is 30 days for critical, 60 for high, 90 for medium and 120 for low.
[07:26]
Dustin Kirkland
So our customers often when they're buying chainguard, what they're buying is peace of mind that they will get their vulnerabilities remediated well before the Fedramp requirements require.
[07:37]
Dustin Kirkland
And in many cases they've got some work they need to do to rework, rebuild their services, redeploy those services.
[07:43]
Dustin Kirkland
So we bought them basically time.
[07:47]
Viktor Petersson
Okay, so it's a really well hardened docker image.
[07:52]
Viktor Petersson
So rolling releases, obviously there must be some friction with old school enterprise when you say rolling releases, because that would probably make a lot of CTOs for legacy firms quite uncomfortable.
[08:07]
Viktor Petersson
Right, so how do you actually think of that?
[08:10]
Dustin Kirkland
Yeah, sometimes Victor, but I think for every one of those there's a dozen developers saying yeah, but I want this latest and greatest software, this version of this library that doesn't exist in another distro and won't exist in another distro until the next LTS or major release.
[08:31]
Dustin Kirkland
And so there are plenty of developers and platform engineers clamoring for a different way or for something new and different.
[08:40]
Dustin Kirkland
The other thing that we do is enrolling forward.
[08:46]
Dustin Kirkland
We're constantly absorbing all of those security fixes and what we're shipping is exactly vanilla upstream source code built into binaries rather than taking that code and transmuting it with merged patches or ported patches.
[09:05]
Dustin Kirkland
We don't backport patches, that's generally not part of the chainguard strategy.
[09:10]
Dustin Kirkland
So we don't snapshot something and then maintain it for 12 or 15 or 10 years or whatever the, you know, the current super long term support is.
[09:18]
Dustin Kirkland
We don't go through that process of having to decide is this patch back portable if we have back ported it, is the software still any good or does it work?
[09:29]
Dustin Kirkland
Yeah, in order to backport this is going to take all of this other work that we have to also move forward.
[09:34]
Dustin Kirkland
We just, we don't do that.
[09:36]
Dustin Kirkland
Instead we roll everything forward and in doing so we're shipping a much more, a much closer to the upstream maintainers vision of what they have just released.
[09:47]
Dustin Kirkland
And we often ship that within minutes to hours of upstream releasing.
[09:51]
Dustin Kirkland
And if we can pass, if all of our automation builds, tests, qualifies, signs, we can publish updated images typically within hours of an upstream release that fixes a CVE.
[10:03]
Dustin Kirkland
So those seven and 14 days on the SLA, that's the worst case by far.
[10:07]
Viktor Petersson
Right.
[10:07]
Viktor Petersson
Okay, there's a lot to unpack there because I think the first thing to unpack is if you dive into the world distros in particular, if you look at the amount of patches that applied to any piece of software like you mentioned, backports.
[10:20]
Viktor Petersson
Right.
[10:20]
Viktor Petersson
That's a huge part of the overhead that all the distros more or less will need to maintain.
[10:27]
Viktor Petersson
Right.
[10:27]
Viktor Petersson
And that's.
[10:28]
Viktor Petersson
So you basically say we're not going to do any of that, we're just going to move forward.
[10:31]
Viktor Petersson
Right?
[10:32]
Dustin Kirkland
Yeah, very minimally.
[10:34]
Dustin Kirkland
I mean we have the ability to patch.
[10:36]
Dustin Kirkland
There may be a few dozen patches that by the way we look to drop typically within hours or days of upstream actually releasing that fake.
[10:45]
Dustin Kirkland
So if there is a super critical thing that is in an upstream repository but hasn't been in a cut release yet, we can make a call which says all right, cherry pick that fix.
[10:57]
Dustin Kirkland
We're only backboarding it, you know, a micro version or two.
[11:01]
Dustin Kirkland
We're not backporting it to something that was released in, you know, 20, 15 or something.
[11:06]
Dustin Kirkland
You know, it, this is, it's A it's typically very small and we keep it for a very short duration of time and then drop it as soon as we can and we can get onto a newer released version which again passes upstream testing, passes our cicd, passes all of our integration testing of all these containers have to work together.
[11:25]
Dustin Kirkland
We drop that patch and we don't carry the burden.
[11:28]
Dustin Kirkland
The maintenance of, you know, continuing to need to port that forward.
[11:32]
Viktor Petersson
How do you deal with, I mean, backwards compatibility must be coming up quite a lot, right?
[11:37]
Viktor Petersson
In particular, I mean what springs to mind is Python 2.7 to Python 3, right?
[11:41]
Viktor Petersson
Massive breaking changes, right?
[11:44]
Viktor Petersson
If you're always rolling on latest, you will have obviously the latest and greatest, but you also will have some cutoff period where there is a breaking change, right?
[11:55]
Viktor Petersson
And how do you kind of deal with that for your customers?
[11:57]
Viktor Petersson
Because that's.
[11:58]
Viktor Petersson
That must be painful for some of the customers, right?
[12:00]
Dustin Kirkland
Yeah.
[12:00]
Dustin Kirkland
So a couple of things there.
[12:01]
Dustin Kirkland
First of all, I oversimplified it a little bit with latest and greatest.
[12:05]
Dustin Kirkland
That is true.
[12:06]
Dustin Kirkland
We do that.
[12:07]
Dustin Kirkland
We actually ship all versions and rebuild automatically all versions of any open source software that is still maintained by upstream.
[12:16]
Dustin Kirkland
So we only end up life something when the upstream maintainers end of life.
[12:20]
Dustin Kirkland
So if Python still has an LTS or still has a security supported version of 3.13 and 3.12 and 3.10 and if hypothetically there was a 2.7 version, we would continue building all of those.
[12:35]
Dustin Kirkland
And when a customer buys the Python image from us, they get access to all Python images that are simultaneously supported.
[12:41]
Dustin Kirkland
Ditto for Postgres or MySQL or any of the other thousands of open source packages we have.
[12:50]
Dustin Kirkland
Now the second thing is back to compatibility.
[12:54]
Dustin Kirkland
Here's something that's I think really interesting about the modern paradigm, the current paradigm, and that's the container boundary, Victor.
[13:03]
Dustin Kirkland
Like within a container you can ship a whole bunch of things that you know, need to work together and that's that application.
[13:09]
Dustin Kirkland
And that application still requires and a down level version of, you know, Python, Ruby, Java, some library or something, but you don't have to move all the rest of your infrastructure that might be one of your 2,000 applications that you're maintaining inside of this, you know, giant financial services or health care company.
[13:28]
Dustin Kirkland
And there's an exception made for this one application which sits behind the firewall and it can continue running an older version of Python, but all the rest of the things have access to, you know, newer, later, greater software and then it's really risk management at that point.
[13:44]
Dustin Kirkland
Are you Willing tolerate some number of CVs and unpatched vulnerabilities in this end of life or, you know, less maintained software than the stuff that's truly latest and greatest.
[13:54]
Viktor Petersson
Yeah, because you have, I mean, by moving it to the container level, your blast rate is a lot smaller.
[13:58]
Viktor Petersson
Right.
[13:58]
Viktor Petersson
So you don't have to think on.
[13:59]
Viktor Petersson
Yeah, that makes a lot of sense.
[14:02]
Viktor Petersson
Let's talk a bit more about the open source versus the closed source.
[14:06]
Viktor Petersson
I wouldn't say closed source, but the subscription service.
[14:09]
Viktor Petersson
How you want to define that.
[14:10]
Viktor Petersson
I'm not sure what terminology you guys are using, but how do you kind of split this too?
[14:15]
Viktor Petersson
Right, because obviously you need to make money.
[14:16]
Viktor Petersson
So obviously providing free disk images is not a great way to just provide revenue streams.
[14:21]
Viktor Petersson
Right, so tell me a bit more like what's your strategy around that?
[14:25]
Viktor Petersson
How do they differ from the ones that anybody can use from your equivalent to Docker Up?
[14:30]
Dustin Kirkland
Yeah, yeah, good question.
[14:32]
Dustin Kirkland
So first of all, chainguard exists to solve a customer problem.
[14:35]
Dustin Kirkland
We're a commercially oriented company, we're venture funded.
[14:39]
Dustin Kirkland
You know, we're building a business around producing a great product that solves a particular customer need.
[14:46]
Dustin Kirkland
For the most part, our customers are largely either trying to meet a specific compliance framework.
[14:53]
Dustin Kirkland
Obligations under a compliance framework could be FedRAMP, HIPAA, PCI, any one of a number of those.
[15:01]
Dustin Kirkland
And in doing so, you know, we charge money for the value that we provide.
[15:05]
Dustin Kirkland
In doing that, we're often, you know, sometimes the business value analysis that we'll do, the BVA that we'll do for our customers will show 18 to 20x return on investment.
[15:18]
Dustin Kirkland
So what they're paying for Chain Guard is saving them 18 to 20 times what they would be paying to try to do this themselves, to manually patch this themselves or manually address these with other distros.
[15:31]
Dustin Kirkland
I would say, you know, from an open source Linux distro.
[15:37]
Dustin Kirkland
You know, we don't consider ourselves a distro as much as we consider ourselves a secure software supply chain.
[15:44]
Dustin Kirkland
You know, just in terms of what we're building.
[15:45]
Dustin Kirkland
It's a way to build software and it's everything that a customer needs to build their software.
[15:50]
Dustin Kirkland
We don't really, you know, look at ourselves necessarily as a Linux distro in terms of like free Linux distros.
[15:57]
Dustin Kirkland
I mean, Debian's fantastic, Ubuntu's great.
[16:00]
Dustin Kirkland
There's Arch, there's Gen 2, there's Nix.
[16:03]
Dustin Kirkland
I'm running one or more of those in the various machines I have spread around my desk.
[16:08]
Dustin Kirkland
Right Here the world is Fedora.
[16:11]
Dustin Kirkland
I forgot to mention Fedora.
[16:12]
Dustin Kirkland
Right?
[16:12]
Dustin Kirkland
The world is awash in awesome ways to, you know, do it yourself, build yourself, you know, and run a free Linux distro.
[16:22]
Dustin Kirkland
Chainguard is not really designed for that.
[16:24]
Dustin Kirkland
Chain Guard's design for the platform engineering team that needs to deploy thousands of container images at tremendous scale while mitigating vulnerabilities and risk so that they can go about running their business, which might be an airline or a hospital or a financial institution.
[16:45]
Dustin Kirkland
Those types of customers of ours, they are not in the need to be in the business of mitigating CVEs.
[16:52]
Dustin Kirkland
And so we take that headache off of their plate for a fee, effectively.
[16:58]
Dustin Kirkland
And you know, for the most part it's a really, you know, it's a really, it's a good value prop.
[17:05]
Viktor Petersson
Right?
[17:05]
Viktor Petersson
But you can still, even if you're not a customer, you can pull down all your latest images.
[17:09]
Viktor Petersson
Right, if they are publicly exposed.
[17:11]
Viktor Petersson
Right.
[17:12]
Dustin Kirkland
There's a.
[17:13]
Dustin Kirkland
We have a subset, it's 40 or 50.
[17:15]
Dustin Kirkland
Yeah, we have 40 or 50 Docker images that are available.
[17:19]
Dustin Kirkland
You can, you can docker run cgr.dev or images.chainguard.dev is our image repository.
[17:27]
Dustin Kirkland
You can clearly see which ones are available, which ones are freely available.
[17:31]
Dustin Kirkland
Docker run Docker run Chain Guard slash Python.
[17:36]
Dustin Kirkland
We've got some in Docker Hub as well.
[17:37]
Dustin Kirkland
That's another good place to pull it from.
[17:39]
Dustin Kirkland
So if you're pulling from, from Docker Hub, you could run Docker run chainguard slash Python and a handful of others.
[17:48]
Dustin Kirkland
We basically kept our 40 most heavily used images.
[17:53]
Dustin Kirkland
The latest version is free.
[17:54]
Dustin Kirkland
All of the other, you know, subsequently supported.
[17:58]
Dustin Kirkland
Also supported versions are available, you know, as part of the commercial license.
[18:02]
Dustin Kirkland
We have FIPS versions of many of those images which, you know, utilize FIP certified cryptography.
[18:09]
Dustin Kirkland
And then there's a catalog.
[18:11]
Dustin Kirkland
We have about 1200 distinct images that we
[email protected] about 40 of which, you know, are available for free.
[18:20]
Dustin Kirkland
And the for free is really for proof of concept.
[18:22]
Dustin Kirkland
It's for, you know, try before you buy is for test it out.
[18:25]
Dustin Kirkland
It's for comparison.
[18:26]
Dustin Kirkland
Go scan Chain Guards Python image compared to another one and you know, let your sneak or wiz or a trivia gripe or aquasec.
[18:38]
Dustin Kirkland
Let it tell you know, which image has more vulnerabilities and which one has fewer.
[18:43]
Viktor Petersson
Okay, all right, interesting.
[18:45]
Viktor Petersson
But, but there's nothing that prevents me from using them for like say, coming outside of Your target audience, so speak like a smaller startup, they can just go in and run it and try it out.
[18:54]
Viktor Petersson
Or smaller projects.
[18:55]
Viktor Petersson
Right?
[18:55]
Dustin Kirkland
Yeah, absolutely.
[18:57]
Dustin Kirkland
I mean our.
[18:59]
Dustin Kirkland
We've got a wide swath of customers, you know, many of which are governments, government agencies, some of which are public companies protecting their data, their users.
[19:12]
Dustin Kirkland
Some are public companies who are selling services to government agencies and so forth.
[19:19]
Dustin Kirkland
Some are startups, AI startups.
[19:21]
Dustin Kirkland
We have a number of AI startups that start with Chainguard because we have images for many of the.
[19:27]
Dustin Kirkland
We keep talking about Python.
[19:29]
Dustin Kirkland
Python's hot right now in the AI space.
[19:31]
Dustin Kirkland
We have Python images, chainguard, Python images for many of the AI tools that don't exist as a package in another distro.
[19:40]
Dustin Kirkland
You can't apt get, install or yum install the vast majority of the software and yet we've got Chainguard images that you can just run in your kubernetes.
[19:49]
Viktor Petersson
Right, okay, cool.
[19:51]
Viktor Petersson
So let's talk a bit about govtech in particular.
[19:54]
Viktor Petersson
Well, not govtech but like compliance, I guess, for governments, obviously the executive order, for instance, drove a lot of SBOM adoption.
[20:03]
Viktor Petersson
Right?
[20:03]
Viktor Petersson
That was a big tipping point for sbombs.
[20:05]
Viktor Petersson
You guys kind of slapped into that kind of wave of new, kind of forced, I guess, forcing the old brigade to kind of like step up the game for security.
[20:14]
Viktor Petersson
Right.
[20:15]
Viktor Petersson
So tell me a little bit more about that.
[20:17]
Viktor Petersson
Like what you mentioned, Fedramp is I would imagine is one of the big drivers for you guys.
[20:23]
Viktor Petersson
Tell me more about like it's a big responsibility, right?
[20:29]
Viktor Petersson
And being.
[20:30]
Viktor Petersson
You must have like automated a lot of that build process in order to meet those compliance requirements, right?
[20:35]
Dustin Kirkland
Yeah, indeed.
[20:39]
Dustin Kirkland
So a couple of things.
[20:40]
Dustin Kirkland
First of all, let's talk like briefly sboms, especially for, you know, someone who doesn't know.
[20:46]
Dustin Kirkland
SBOM is a software bill of materials.
[20:49]
Dustin Kirkland
I like to think of it as the nutrition facts on the side of the cereal box.
[20:54]
Dustin Kirkland
The SBOM tells you what's in your software and there's a very standard, I think your last episode, at least that I listened to, talked a bit about the SPDX file format and SBOMs.
[21:10]
Dustin Kirkland
It's a byproduct of what we do at Chainguard.
[21:13]
Dustin Kirkland
So we produce an SBOM for every single image that we produce.
[21:18]
Dustin Kirkland
Along with that SBOM or within that SBoM, we've got every package, every version of the package is identified clearly in that SBoM.
[21:29]
Dustin Kirkland
The open source license, the pointer to the source code and the commit, the exact commit ID where we built this from and the exact tool chain that we used to build that.
[21:41]
Dustin Kirkland
So Going down to all of the linked libraries or static libraries that got included in all of the software.
[21:48]
Dustin Kirkland
And so it's, you know, think about it as a much more machine readable and much more detailed version of, you know, hey, your, your cereal included flaked oats and wheat and, you know, random other flavors and some high fructose corn syrup.
[22:03]
Dustin Kirkland
It's like that.
[22:03]
Dustin Kirkland
But for the thousands of pieces of software that went into building that one image, which runs Redis or something, I mean, that's.
[22:13]
Viktor Petersson
I, I have a few questions around that, right?
[22:16]
Viktor Petersson
Because obviously building SBOMs, people never built SBOMs.
[22:20]
Viktor Petersson
They think it's just like, oh, I run a command and here is my sbom.
[22:23]
Viktor Petersson
Great.
[22:24]
Viktor Petersson
That's how people who've never actually done sboms in real life tend to view it, right?
[22:28]
Viktor Petersson
You guys obviously have and particular building SBOMs in an environment like you are.
[22:35]
Viktor Petersson
So if you're building everything from Source, generate the SBoMS for C code and I would imagine it's like a large set of different languages that goes into that toolchain.
[22:47]
Viktor Petersson
How do you derive this?
[22:48]
Viktor Petersson
Do you do it?
[22:49]
Viktor Petersson
I know Yocto and some of the other projects, they do it on the compiler level.
[22:55]
Viktor Petersson
That's how they derive all the response from artifacts from the compiler, essentially.
[22:59]
Viktor Petersson
How do you guys solve that?
[23:01]
Dustin Kirkland
Yeah, it's sort of a sum of different, a couple of different pieces.
[23:04]
Dustin Kirkland
You know, we've got, at our core we've got a build system that is driven by GitHub Actions and then runs build jobs in Google Cloud.
[23:17]
Dustin Kirkland
Basically we start with building packages.
[23:20]
Dustin Kirkland
Our package format is apk, which is the Alpine package format.
[23:24]
Dustin Kirkland
We're not a derivative of Alpine, but we use the APK package format.
[23:28]
Dustin Kirkland
It's just a tarball.
[23:29]
Dustin Kirkland
I mean, it's literally tar.
[23:30]
Dustin Kirkland
You can untar an apk.
[23:32]
Dustin Kirkland
Out of that comes the files that get laid down on the file system, plus a little bit of metadata.
[23:37]
Dustin Kirkland
The, the, basically the S BOM and A dot packages.
[23:43]
Dustin Kirkland
That YAML file that describes the entire tool chain that was used to build that package at that moment in time.
[23:50]
Dustin Kirkland
And we've actually got a patch set in a PR in flight right now where we're adding in the case where we carry any patches, you know, I told you earlier, we don't carry patches very often.
[24:01]
Dustin Kirkland
But in the case where we carry patches, we will put that into the metadata as well.
[24:06]
Dustin Kirkland
And we'll do that regardless of the license.
[24:08]
Dustin Kirkland
You know, GPL and GPL software requires that you do it.
[24:11]
Dustin Kirkland
Apache, BSD don't.
[24:13]
Dustin Kirkland
The patches are not precious to us on that.
[24:17]
Dustin Kirkland
So we're going to.
[24:18]
Dustin Kirkland
We'll ship that as part of that metadata that's part of the package as well.
[24:23]
Dustin Kirkland
Those packages then go into.
[24:26]
Dustin Kirkland
We use a form of terraform internally to define the images.
[24:30]
Dustin Kirkland
Images for us are those container images.
[24:33]
Dustin Kirkland
The images then are built from a set of packages that get installed, plus some other things we've got to do to fix up that image.
[24:41]
Dustin Kirkland
One of the.
[24:42]
Dustin Kirkland
I don't know how deep you are into packaging up packaged RPMs and DEBs and now APKs.
[24:48]
Dustin Kirkland
APKs are much simpler than DEVS and RPMs.
[24:51]
Dustin Kirkland
Our APKs don't, for instance, create users.
[24:55]
Dustin Kirkland
You install Postfix on Debian Ubuntu.
[24:58]
Dustin Kirkland
The Postfix patch package creates the Postfix user.
[25:02]
Dustin Kirkland
We don't do that inside of the APK itself.
[25:04]
Dustin Kirkland
The APK is just bytes that get written to disk.
[25:08]
Viktor Petersson
More similar to Slackware back in the days.
[25:10]
Dustin Kirkland
Yeah, exactly.
[25:12]
Dustin Kirkland
But we do need a Postfix user if we're going to run Postfix to send mail or something.
[25:18]
Dustin Kirkland
So instead we do that at the image layer.
[25:21]
Dustin Kirkland
So that image will include, add the Postfix user, set its uid, create its home directory, run whatever scripts we need to do to configure.
[25:29]
Dustin Kirkland
Configure Postfix.
[25:31]
Dustin Kirkland
And then some of that allows for Docker style, environment variables and injection of metadata and data that happens at that image level.
[25:44]
Dustin Kirkland
The image itself comes with its master SBOM of everything that's in that image, which is sort of the packages have their sboms of what's in the package and then the image is.
[25:56]
Dustin Kirkland
Includes an sbom of all the packages that are in there as well.
[26:01]
Viktor Petersson
So you have a hierarchy of pointers essentially inside the SBoM.
[26:04]
Viktor Petersson
External reference whatnot.
[26:05]
Dustin Kirkland
Yeah, yeah, exactly.
[26:06]
Dustin Kirkland
And then each of those will point very directly back to the typically git repository or whatever the source repository is, the exact hash ID of the commit that we use to build that thing.
[26:21]
Dustin Kirkland
So, you know, the goal is totally reproducible, whether it's us, we need to rebuild it sometime later, or you the customer, or someone else downstream of us needs it sometime later.
[26:32]
Viktor Petersson
Right.
[26:33]
Viktor Petersson
You touched on something that's highly hot topic right now in Espo, which is license compliance.
[26:40]
Viktor Petersson
Right.
[26:40]
Viktor Petersson
Like we touched on that in last episode with Gary and Kate.
[26:44]
Viktor Petersson
Doing that audit is non trivial work.
[26:47]
Viktor Petersson
In particular if you build the everything on source.
[26:49]
Viktor Petersson
Right.
[26:50]
Viktor Petersson
So how are you guys going ahead and do that?
[26:53]
Viktor Petersson
Do you literally audit every single package?
[26:56]
Viktor Petersson
Like, ooh, Somebody modified this GPL2 license in this file.
[27:00]
Viktor Petersson
Or how Stringent.
[27:01]
Viktor Petersson
Have you guys been in that audit process?
[27:04]
Dustin Kirkland
Yeah, it's ironic you're asking me that.
[27:05]
Dustin Kirkland
Just a couple of hours ago we had our prioritization for this quarter's worth of work and we've got an important piece of work we're going to do here, which is ongoing license auditing.
[27:18]
Dustin Kirkland
So essentially what we do right now is the first person who packages something, the first person, engineer who builds something, does the license research and then sets that license in the YAML metadata about the package.
[27:32]
Dustin Kirkland
And we've got, you know, some audits and checks and balances and another developer has to sign off on it.
[27:37]
Dustin Kirkland
But it's generally assumed that the license doesn't change over time.
[27:42]
Dustin Kirkland
And if it does, then it's a manual if someone would need to manually notice that and go and fix that.
[27:48]
Dustin Kirkland
And yeah, there are some license changes which, you know, make hacker news.
[27:51]
Dustin Kirkland
And we all hear about and read about usually when something's going from a open source or permissive license to a BUSL or something like that.
[28:00]
Dustin Kirkland
And it's, I mean, it's not a problem when we know that we can go and fix it.
[28:04]
Dustin Kirkland
However, there's something that we've been, I've been increasingly concerned about, which is just in keeping with that chain guard ethos of tracking everything it took to build a thing and scanning.
[28:16]
Dustin Kirkland
We also scan, you know, all these packages for vulnerabilities.
[28:20]
Dustin Kirkland
Why, why don't we also scan those for licenses and yeah, both check that what we say the license is that it matches that and then really throw up the flag if somehow, some way, something, a package changed its license.
[28:35]
Dustin Kirkland
So yeah, just a couple hours ago, we signed off on a bit of work for a couple of our engineers to lead around ongoing license CICD basically for those packages.
[28:49]
Dustin Kirkland
And then, you know, failing a build, for instance, if the build says a package is GPL v2 and instead it's MIT, or maybe it was GPL, GPL and then one day became MIT.
[29:01]
Dustin Kirkland
Then, yeah, hey, let's take a look and make sure that, you know, nothing's amiss here.
[29:06]
Dustin Kirkland
It's important to us, it's important to our customers.
[29:08]
Dustin Kirkland
You know, so far it's usually not the ospo, the open source office driving, you know, the chain guard purchase.
[29:17]
Dustin Kirkland
It's usually more the platform or security engineering, maybe the CISO or cto.
[29:21]
Dustin Kirkland
But usually to buy chainguard, it goes through their OSPO for a review.
[29:26]
Dustin Kirkland
And you know, we've been able to answer their questions with our SBoMS and SPDX files and demonstration of that.
[29:32]
Dustin Kirkland
But this one is trying to go above and beyond what our ongoing obligations are.
[29:37]
Viktor Petersson
Right.
[29:38]
Viktor Petersson
So and because you do this manual process for every package, I guess as part of that you could do an audit and making sure that you are adhering to the SPDX license files properly and all that.
[29:51]
Viktor Petersson
Right, because that's a mess as well.
[29:53]
Viktor Petersson
Like if you just generate nest bomb for something like you will most likely not have a complete correct, you will have some, that's Apache 2, some of the attributes space 2.0 and like it will be a mess, right?
[30:06]
Dustin Kirkland
Yeah, that's right.
[30:08]
Dustin Kirkland
I mean you could get down like literally the line of code and it also gets really complicated when you start talking about like statically compiled software.
[30:19]
Dustin Kirkland
In fact, some of the most sophisticated licensed checkers have come out of the Golang community, especially Google, in fact, GitHub Google go to GitHub Google.
[30:30]
Dustin Kirkland
There's I don't know, five or six projects built around license checking, all of which are written in Go and most of which have to do with ensuring that, that like stack of libraries that get statically jammed into a statically compiled Golang single binary that those licenses are compatible.
[30:49]
Dustin Kirkland
You know, there are incompatible open source licenses, two perfectly acceptable open source licenses that cannot, you know, you can't cross those streams.
[30:57]
Viktor Petersson
Yeah, that brings me back to.
[30:59]
Viktor Petersson
I had a conversation with Alan Jude on why ZFS not in Linux kernel.
[31:03]
Viktor Petersson
Right.
[31:04]
Viktor Petersson
That's a perfect examp.
[31:05]
Viktor Petersson
Right.
[31:06]
Viktor Petersson
So but the goal is then that you want basically to deliver NTIA minimal element compliant SBOMs to your customer essentially on their behalf.
[31:17]
Viktor Petersson
Like how do you, are you comfortable with that output?
[31:20]
Viktor Petersson
Right now they are fully meeting and exceeding those output, those standards.
[31:24]
Dustin Kirkland
What was the standard you mentioned on.
[31:25]
Viktor Petersson
All the NTIA minimum elements, which is kind of the gold standard for S pumps, right?
[31:30]
Dustin Kirkland
Yeah, I'm going to plead ignorance on that exact standard.
[31:34]
Dustin Kirkland
I don't know.
[31:35]
Dustin Kirkland
I can double check that one or let you know in the comments.
[31:37]
Viktor Petersson
Fair enough.
[31:39]
Dustin Kirkland
We produce S bombs, you know, for every image, for every package, you know, and I, I think we're.
[31:48]
Dustin Kirkland
So far this has not become a blocker for any opportunities we've had.
[31:52]
Viktor Petersson
Fair enough.
[31:52]
Viktor Petersson
Yeah.
[31:52]
Viktor Petersson
No, one of the contrast you have around there is, that's becoming more of a controversy is like stating who the producers of a particular package is.
[32:00]
Viktor Petersson
Right.
[32:00]
Viktor Petersson
Because that's hard.
[32:01]
Viktor Petersson
How do you even do that in open source world?
[32:03]
Viktor Petersson
Like, oh, I have this GitHub user who did this commit what country Is this person from who knows?
[32:09]
Viktor Petersson
Right, right.
[32:10]
Viktor Petersson
And that becoming more of, more a topic in the SBOM world, as I've seen lately at least.
[32:15]
Viktor Petersson
All right, cool.
[32:16]
Viktor Petersson
So this is super interesting and what do I turn my attention to now is you kind of already hint at this, but I really want to understand this better in terms of like attestation, signing how this, like from zero to like how this image is created and like, I guess the attestation all the way, like how you can really trust that all the way through.
[32:39]
Viktor Petersson
Like talk me through that process from zero.
[32:42]
Viktor Petersson
Like how do you like sign everything from the very first like thing you pull in?
[32:49]
Dustin Kirkland
Yeah.
[32:49]
Dustin Kirkland
So it really starts with.
[32:52]
Dustin Kirkland
We typically pull.
[32:54]
Dustin Kirkland
I don't know what the percentage is.
[32:55]
Dustin Kirkland
It's 90 plus percent now.
[32:57]
Dustin Kirkland
The vast majority of the time we are pulling straight from a source repository.
[33:01]
Dustin Kirkland
We're not grabbing a tarball and that's important.
[33:04]
Dustin Kirkland
So, you know, you kind of, you look attacks like the XZ attack and the binary artifact is very vulnerable to an injection of some malicious code.
[33:16]
Dustin Kirkland
It doesn't even take that much, Victor.
[33:18]
Dustin Kirkland
I mean, it's.
[33:19]
Dustin Kirkland
Yeah, it's literally bytes of base 64 encoded code that gets inserted somewhere, somehow that can open a door or break some other security that allows for a more sophisticated attack later.
[33:32]
Dustin Kirkland
So we did a full audit.
[33:34]
Dustin Kirkland
XE was very specifically targeting Debian and Ubuntu.
[33:38]
Dustin Kirkland
We pulled the XC.
[33:40]
Dustin Kirkland
We had that XE code available.
[33:43]
Dustin Kirkland
It wasn't affecting APKs, but was targeted at devs.
[33:47]
Dustin Kirkland
We pulled that code within hours, replaced it, rolled it back, waited for a fix, and then republished that.
[33:53]
Dustin Kirkland
But the other thing we did is we took a full audit of our source repos and went and looked at the few places were still pulling tarballs instead of zip files and tarballs instead of source repos and replace pretty much any of them, all of them that we could.
[34:10]
Dustin Kirkland
What we do now instead is when we build a package, we use git ostensibly, if not git, then whichever other distributed source repo is being used and checksums, basically look for hashes and digest and make sure that matches.
[34:28]
Dustin Kirkland
If that doesn't match, we don't attempt the build and we flag that and someone has to go and double check what got out of sync.
[34:37]
Dustin Kirkland
But we do have this automatically part of our back end build system, which is proprietary and we hold precious.
[34:43]
Dustin Kirkland
That's part of the chain guard Secret sauce is watching thousands of open source projects simultaneously.
[34:51]
Dustin Kirkland
Multiple, you know, multiple streams of that, multiple, you know, versions.
[34:56]
Dustin Kirkland
And anytime a New version gets tagged by the upstream maintainer.
[35:00]
Dustin Kirkland
We've got asynchronous jobs that watch those.
[35:03]
Dustin Kirkland
And the moment a new release is tagged, a bit of chainguard automation will fork a job that will go and pull that source code.
[35:14]
Dustin Kirkland
Check that, and this is the part that you've asked about.
[35:16]
Dustin Kirkland
Check that those checksums match.
[35:18]
Dustin Kirkland
We'll apply our build rules.
[35:20]
Dustin Kirkland
We'll increment the version number to match what upstream has released.
[35:24]
Dustin Kirkland
We'll rebuild that package and then build a dependency graph, a directed dependency graph of everything that depends on that build depends and runtime depends.
[35:34]
Dustin Kirkland
When there's a build dependency, there's a big flurry of activity that happens where we will rebuild everything that build depends on this thing that's bumped and changed recursively all the way till we get to the solution that solves all of the nodes at the end of the tree.
[35:52]
Dustin Kirkland
When those packages are done, then we build another graph of which images do we need to go and update and rebuild, because that package has actually changed.
[36:04]
Dustin Kirkland
And so that kicks off another set of jobs to rebuild those images.
[36:08]
Dustin Kirkland
Then we resign, and then we republish to the Chain Guard registry.
[36:12]
Dustin Kirkland
And then our customers, most of our customers run their own registry and they can configure it in either a pull or a push.
[36:19]
Dustin Kirkland
They get.
[36:19]
Dustin Kirkland
Our customers have access to their list of images that they have their license.
[36:25]
Dustin Kirkland
So we've got a, basically a master list for each customer which images have they bought from Chain Guard.
[36:30]
Dustin Kirkland
And then either in a push or a pull, we sync to their repositories or they pull from our repositories all the updated images that have changed.
[36:38]
Dustin Kirkland
And this is happening right now as we speak, Victor, without anyone doing anything for, you know, 80, 90% of the time, this is just automation flowing through.
[36:48]
Dustin Kirkland
And then we've got engineers that are catching our.
[36:50]
Dustin Kirkland
We've got, you know, sustaining engineers, delivery engineers who are catching the ones that fall out of that automation and we'll go and address it.
[36:57]
Dustin Kirkland
And some of those are manual things we've just got to go and fix.
[36:59]
Dustin Kirkland
Occasionally we'll see a pattern of failures that we can go and solve at the automation level so that we never see that class of build failures again.
[37:09]
Viktor Petersson
Right, Talk to me a bit more about how you actually do this.
[37:12]
Viktor Petersson
Right, so in Toto cosine, those are tools that are pretty widely used in Sigstor in this ecosystem.
[37:21]
Viktor Petersson
Right.
[37:22]
Viktor Petersson
So talk to me about that, how that fits into the whole chainguard system and how people can verify data that's.
[37:30]
Dustin Kirkland
Pretty close to the chainguard origin story.
[37:34]
Dustin Kirkland
Two of our founders, our CEO Dan and our CPO Kim, were two of the original creators of Git, Cosign and six Store.
[37:45]
Dustin Kirkland
In fact, chainguard.
[37:47]
Dustin Kirkland
Our first product when were a very new startup, before we started building these hardened images, was built around Sig Store.
[37:54]
Dustin Kirkland
Actually, we ended up sunsetting that product and focusing on the guarded containers once we saw tremendous product market fit and, you know, just the value of the problem that we're solving for those customers.
[38:08]
Dustin Kirkland
That said, we produced Sig Store artifacts signatures all verified through CoSign for every single chain guard chainguard image that we produce.
[38:20]
Dustin Kirkland
In fact, I would direct you to images.chainguard.dev where you can grab any particular chainguard image and you can actually see the provenance of that image and get the commands you need to run Cosine Verify.
[38:38]
Dustin Kirkland
All right, here we go.
[38:41]
Dustin Kirkland
you can see down here view all 1177 images and you can filter on FIPS or AI or GPU.
[38:50]
Dustin Kirkland
I'm going to grab one of these and you can search.
[38:52]
Dustin Kirkland
I'm going to grab one of these at random.
[38:54]
Dustin Kirkland
I'm going to grab the Envoy Image, Last Change 5 hours ago.
[38:57]
Dustin Kirkland
And you can see how frequently these things are getting rebuilt.
[39:00]
Dustin Kirkland
Envoy last built five hours ago.
[39:02]
Dustin Kirkland
I'm going to click on it.
[39:04]
Dustin Kirkland
Envoy is not one of the free images, so you'll get the pull URL as Contact us, contact us.
[39:09]
Dustin Kirkland
I'll pull Python up in a second afterward.
[39:11]
Dustin Kirkland
You were just asking about the provenance, being able to really track and understand where this code is coming from.
[39:17]
Dustin Kirkland
If I click on the Provenance tab, you can verify those Envoy images with this Cosine Verify going and checking Sig Store piping this through jq.
[39:29]
Dustin Kirkland
You can do that for the production or the developer images.
[39:32]
Dustin Kirkland
We've been talking sboms.
[39:34]
Dustin Kirkland
I'll click on this SBOM tab and you can see everything that goes into the chainguard Envoy image.
[39:40]
Dustin Kirkland
And it's these two dozen packages.
[39:42]
Dustin Kirkland
There's a busybox and some certificates.
[39:44]
Dustin Kirkland
You need glibc, you need gcrypt.
[39:47]
Dustin Kirkland
And then you know, the main package is of course, Envoy.
[39:50]
Dustin Kirkland
And then this configuration and this entry point.
[39:53]
Dustin Kirkland
And by the way, you can see the licenses were talking about.
[39:55]
Dustin Kirkland
Those licenses, you know, gpl, Apache.
[39:59]
Dustin Kirkland
Look, this one's MPL and mit.
[40:01]
Dustin Kirkland
And then the big tab is the vulnerabilities tab.
[40:05]
Dustin Kirkland
So every couple of hours we rescan all of our images as of 5 hours ago.
[40:11]
Dustin Kirkland
And that Changes, you know, because vulnerabilities get published all the time.
[40:15]
Dustin Kirkland
Right.
[40:15]
Dustin Kirkland
But as of five hours ago, this envoy image was free of CVEs.
[40:20]
Dustin Kirkland
It was last updated, last built five hours ago and scanned here.
[40:25]
Dustin Kirkland
So built and then scanned.
[40:27]
Dustin Kirkland
Now just seeing a bunch of zero CVE images is actually kind of hard to understand what's going on.
[40:32]
Dustin Kirkland
If you click on the Advisories tab, you'll get a timeline of the things that were fixed and when they were fixed.
[40:39]
Dustin Kirkland
So there was a glibc vulnerability that was patched on January 23, which is less than a week ago.
[40:46]
Dustin Kirkland
And you can see some of these.
[40:48]
Dustin Kirkland
We do some research on and we decide, hey, this busy box doesn't actually affect Chain Guard because, you know, we disable networking and busy box or something like that.
[40:58]
Dustin Kirkland
So yeah, that's a pretty good look at, you know, an image.
[41:03]
Dustin Kirkland
I'll.
[41:03]
Dustin Kirkland
We've talked about Python a lot here.
[41:05]
Dustin Kirkland
I'll just grab the Python image as a one more quick point here you can see the Python latest image is freely available cgr.dev chainguard python.
[41:15]
Dustin Kirkland
We mirror those to get to Docker Hub as well.
[41:20]
Dustin Kirkland
Remarkably, I think you'll notice that python say 21 megs.
[41:25]
Dustin Kirkland
This is absolutely tiny.
[41:27]
Dustin Kirkland
And the reason is because you go to the SBoM and you see what's in our Python image.
[41:31]
Dustin Kirkland
It's a minimal Python.
[41:33]
Dustin Kirkland
You go and pull the Docker Hub image for python and it's 300 megabytes of image magic and like hundreds of modules that you may not need in your Python image.
[41:44]
Viktor Petersson
Well, once you've done a PIP install, you will have up to 300 megs already very quickly.
[41:49]
Dustin Kirkland
That's true if you're adding, you know, additional stuff on top of there.
[41:54]
Dustin Kirkland
So I'm grabbing the vulnerabilities tab again.
[41:57]
Dustin Kirkland
This Python image was scanned five hours ago.
[41:59]
Dustin Kirkland
Completely vulnerability free.
[42:04]
Viktor Petersson
This is really cool.
[42:05]
Viktor Petersson
I saw Wolfie in one of these ones.
[42:07]
Viktor Petersson
I'm not sure is that one of the repositories or.
[42:11]
Viktor Petersson
I wasn't quite sure what that was.
[42:12]
Dustin Kirkland
I saw that Wolfie is kind of our.
[42:14]
Dustin Kirkland
It's sort of a code name, It's a beloved code name for essentially the open source core that is core to Chain Guard.
[42:22]
Dustin Kirkland
It's not exactly like.
[42:24]
Dustin Kirkland
But you could kind of think of Wolfie like Rawhide or maybe Fedora is to rel or something like that.
[42:34]
Dustin Kirkland
Wolfie is actually the species of octopus.
[42:39]
Dustin Kirkland
That's our little logo right here.
[42:40]
Dustin Kirkland
It's the world's smallest octopus size of your thumbnail.
[42:45]
Dustin Kirkland
It's absolutely tiny, and that's a testament to how small.
[42:48]
Dustin Kirkland
We try to build images.
[42:49]
Dustin Kirkland
We really shoot for that minimal nature for our images.
[42:53]
Viktor Petersson
It's no doubt impressive to build a Python image in such a small footprint.
[42:58]
Viktor Petersson
All right, so we talked a bit about how you guys are building things, how you're signing things.
[43:02]
Viktor Petersson
Those are super interesting in terms of where you see things are going forward and particularly around open source supply chain security.
[43:12]
Viktor Petersson
It's been in the news a lot lately and finally feels like last year was a big awakening for a lot of people.
[43:18]
Viktor Petersson
Like, oh, we actually need to stop paying attention to this stuff.
[43:20]
Viktor Petersson
And there were actually some legal compliance coming through that actually, I mean, for me at least, I think security is one of those things that we actually do need legal push for because otherwise it's just being brushed under the rug.
[43:33]
Viktor Petersson
Right.
[43:35]
Viktor Petersson
With the rise of cra, all these things like, how do you see the landscape shaping out in the future of supply chain security?
[43:41]
Dustin Kirkland
Really?
[43:43]
Dustin Kirkland
Yeah, I mean, of course there's a balance between how much regulation is too much regulation.
[43:49]
Dustin Kirkland
I think it's clear that no regulation is the wrong answer, you know, especially when it's your data and my data and your healthcare data.
[43:58]
Dustin Kirkland
My healthcare data and financial records and stuff like that.
[44:03]
Dustin Kirkland
It's not a matter of, well, don't worry about it.
[44:05]
Dustin Kirkland
If a company is irresponsible with your data, they'll just go out of business.
[44:10]
Dustin Kirkland
That doesn't work when we're talking about like too big to fail type institutions, you know, And I don't know, I'm pretty exhausted by it.
[44:18]
Dustin Kirkland
Right.
[44:18]
Dustin Kirkland
I mean, it feels like once a month I get another free credit report because someone's leaked my data.
[44:23]
Dustin Kirkland
Like, yeah, I don't need more free credit reports.
[44:26]
Dustin Kirkland
What I need you to do is take care of my damn data.
[44:28]
Viktor Petersson
Right.
[44:30]
Dustin Kirkland
So, like, there's just, there's no value in another, you know, another free credit report.
[44:36]
Dustin Kirkland
And that's all that we get basically when there's a, a data breach or it's a get.
[44:41]
Viktor Petersson
Of j free card.
[44:42]
Viktor Petersson
Right?
[44:43]
Dustin Kirkland
Yeah.
[44:43]
Dustin Kirkland
Or go cash this check for $11.27, you know.
[44:47]
Viktor Petersson
Right.
[44:47]
Dustin Kirkland
Like, oh my God, that's going to cover, you know, my privacy being violated.
[44:52]
Viktor Petersson
Right?
[44:53]
Dustin Kirkland
Yeah, I think there's, I think we need something here.
[44:56]
Dustin Kirkland
You know, the small piece of the space that we've carved out in chain guard is patch the vulnerabilities that have fixes.
[45:03]
Dustin Kirkland
Like there is no excuse.
[45:05]
Dustin Kirkland
I, you know, would posit there's no Excuse for a major company, especially a public company, a company that has public shareholders, trusting them with the data.
[45:17]
Dustin Kirkland
There's no excuse for having unpatched vulnerabilities beyond a small amount of time.
[45:22]
Dustin Kirkland
And that's kind of what FedRamp says.
[45:24]
Dustin Kirkland
30 days for critical.
[45:25]
Dustin Kirkland
And like I said, we can beat that.
[45:27]
Dustin Kirkland
And I think you should beat that.
[45:28]
Dustin Kirkland
But putting some number out there that.
[45:30]
Dustin Kirkland
Look, you can't just have criticals, highs, mediums, vulnerabilities that have fixes.
[45:35]
Dustin Kirkland
That's the thing, Victoria, we're not talking about.
[45:37]
Dustin Kirkland
We're not asking, you know, your airline company to go and write the code that fixes a vulnerability.
[45:44]
Dustin Kirkland
They're depending on us, who's depending on Upstream to fix it.
[45:47]
Dustin Kirkland
And until such time as it's fixed, it's still a zero day.
[45:51]
Dustin Kirkland
And so none of these say anything about zero days.
[45:53]
Dustin Kirkland
There's going to be zero days where I just find there's like almost blatant irresponsibility is not applying fixes that exist out there in the world just because we can't go that fast or it might break compatibility or, you know, excuse, excuse.
[46:11]
Dustin Kirkland
I think, I think we got to move past that.
[46:14]
Viktor Petersson
Yeah, 100%.
[46:15]
Viktor Petersson
I mean it does open the Pandora's box of like.
[46:18]
Viktor Petersson
I mean, you're saying we talk about zero days, but like Open Source is, no, is obviously here to stay.
[46:25]
Viktor Petersson
There's.
[46:26]
Viktor Petersson
I mean, I think you have to be very naive to say that Open Source is dead.
[46:30]
Viktor Petersson
Right.
[46:31]
Viktor Petersson
So.
[46:31]
Viktor Petersson
But it does raise the problem with this, which I kind of covered a bit with my episode with Mark, which is like Open Source funding, Right?
[46:38]
Viktor Petersson
Like we need to figure out that.
[46:41]
Viktor Petersson
And how do you see that?
[46:43]
Viktor Petersson
Obviously you've been in the Open Source and Linux world for a long time.
[46:46]
Viktor Petersson
Open Source funding hasn't quite been solved is probably a very big understatement.
[46:55]
Dustin Kirkland
Yeah, I mean, I'm, you know, going, I'm in the middle of my third decade in and around Open Source and I would say that it's nice to say that Open Source is here to stay.
[47:06]
Dustin Kirkland
It certainly wasn't that way in the late 90s, early 2000s, you know, were putting this thing together, you know, called Linux and Open Source.
[47:16]
Dustin Kirkland
And were up against Microsoft at the time, right?
[47:20]
Dustin Kirkland
Not this Microsoft, but you know, Gates and Ballmer era Microsoft, were up against Unix for that matter, Solaris, even in IBM where were, you know, loud and proud.
[47:33]
Dustin Kirkland
Linux, were the revolutionaries.
[47:35]
Dustin Kirkland
AIX was the, you know, was the Darling System 390 mainframe, was the Darling, that was the cash cow.
[47:42]
Dustin Kirkland
There were, you know, a few dozen of us and then a couple of hundred of us working on Linux at IBM in the, in that, you know, 2000, 1, 2, 3 time frame.
[47:51]
Dustin Kirkland
Thankfully I think we got past that.
[47:54]
Dustin Kirkland
Actually you know what, I'll even go back to the startup that I was at gazing which you know, we built a brilliant product.
[48:02]
Dustin Kirkland
This encryption encrypted file system and key manager that I think was pretty prescient.
[48:06]
Dustin Kirkland
It predated Hashicorp Vault, but worked a lot like Vault works in terms of serving keys.
[48:14]
Dustin Kirkland
This was 11, 20, 11, 12, 13.
[48:16]
Dustin Kirkland
We struggled to fundraise, built around an open source project.
[48:21]
Dustin Kirkland
I mean we raised a little bit of money but certainly not the kind of money that chain guards raised to date or other companies, you know, like us.
[48:29]
Dustin Kirkland
I think that's a testament to how far we've come.
[48:33]
Dustin Kirkland
Yes, I do think back to like funding I do believe, and this is maybe a different Dustin speaking than you would have gotten 10 years ago or 20 years ago.
[48:44]
Dustin Kirkland
You got to have a business model around it.
[48:46]
Dustin Kirkland
I don't, I don't think certainly if you're in the, in the startup world, the idea of build a thing, give it away for free and then one day rug pull, change the license and now expect everyone, your, you know, beloved users to just hand over money to you.
[49:03]
Dustin Kirkland
It's a little disingenuous.
[49:05]
Dustin Kirkland
I want to know that going, you know, I want to know that from the start, you know.
[49:09]
Viktor Petersson
Yeah, I agree with that and my head is more around the open cells of the world, right, where there are like five people the planet who knows that this stuff works and you can't quite monetize that.
[49:19]
Viktor Petersson
Right, the libraries, right?
[49:23]
Dustin Kirkland
Yeah.
[49:24]
Dustin Kirkland
I mean look, there is a, I think there's a huge place for the Apache foundation, for the Linux Foundation.
[49:31]
Dustin Kirkland
I think, you know, the nonprofits, for the common goods is definitely, I think that's the right place for it.
[49:41]
Dustin Kirkland
I'd love to see more opportunities for independent developers to have a, you know, a full time or a part time home there.
[49:48]
Dustin Kirkland
You know, Linux foundation is very famous, fully famously made a home for you know, Lina Storval's, Greco Hartman, you know, others like that and lots of little foundations that have spun out of that.
[50:02]
Dustin Kirkland
Apache is a collection of similar foundations.
[50:04]
Dustin Kirkland
The Wikimedia Group is a collection of different but similar foundations.
[50:10]
Dustin Kirkland
I think that's a, I think that's a model that maybe scales a bit better than an independent developer who writes one essential library or tool and you know, either doesn't.
[50:22]
Dustin Kirkland
It's hard to monetize, man.
[50:23]
Dustin Kirkland
It is.
[50:24]
Dustin Kirkland
Without a, without, you know, some stroke of brilliance, without a, an mba, without like a co founder or a teammate who knows how to take your brilliant innovation and turn it into money.
[50:36]
Dustin Kirkland
That's not something that independent developers who can write some amazing code can necessarily do over and over again.
[50:42]
Dustin Kirkland
But I do think the frameworks around some of the foundations could maybe help if there was residencies available for things like, you know, Open ssl.
[50:51]
Dustin Kirkland
Open ssl I think got the kind of help it needed once someone shined a light on the fact that, you know, the entire world's infrastructure depends one person working either figuratively or literally in their basement.
[51:04]
Dustin Kirkland
I don't know.
[51:05]
Dustin Kirkland
That is an important thing to shine a light on.
[51:08]
Viktor Petersson
Yeah, I mean it's the old XKCD cartoon, right?
[51:11]
Viktor Petersson
It's like this one piece of everything depends on.
[51:14]
Dustin Kirkland
Right, yeah, that's exactly what I was referencing and thinking.
[51:16]
Viktor Petersson
Yeah, I mean it's interesting.
[51:18]
Viktor Petersson
Like I.
[51:19]
Viktor Petersson
Yeah, I think, yeah, maybe that is the path.
[51:23]
Viktor Petersson
I know GitHub tried their funding thing with like subscription donations, but I don't know how.
[51:29]
Viktor Petersson
I have no data on how well that has actually worked out.
[51:31]
Viktor Petersson
But yeah, it's obviously it's an unsolved problem, I would say at this point in time at least.
[51:37]
Viktor Petersson
Good.
[51:38]
Viktor Petersson
So this has been super interesting.
[51:39]
Viktor Petersson
I think we covered a lot of grounds here.
[51:41]
Viktor Petersson
Is there anything you want to add to the conversation before we wrap up for today?
[51:48]
Dustin Kirkland
What do you hear from your listeners, your viewers?
[51:52]
Dustin Kirkland
What are they worried about from a software supply chain?
[51:55]
Dustin Kirkland
Are they worried and if not, is that a problem?
[52:00]
Viktor Petersson
I think the people that are listening to this tend to be very tech savvy.
[52:04]
Viktor Petersson
So I think they are the enlightened ones that they want to know the juice, the secret sauce that goes into the chain card.
[52:12]
Viktor Petersson
I think that's really what people want to know about and that's why I wanted to focus on.
[52:18]
Viktor Petersson
I think on the other hand, there is a massive part that is not my audience and I think that CRA in particular in Europe, EU Cyber Resilience act will really force a lot of companies to have a heart attack in the next six months when they realize that oh, holy shit, this piece of software that we haven't maintained for the last seven years, all of a sudden we actually need to do something about that and we're talking about rolling releases versus static releases.
[52:51]
Viktor Petersson
Try to jump from seven years with the software and be compliant.
[52:55]
Viktor Petersson
That's not a pretty one.
[52:57]
Viktor Petersson
And I think that's.
[52:58]
Viktor Petersson
Yeah, that's what I think.
[53:00]
Viktor Petersson
That's what I think is going to change this year with regards to software supply chain security, at least on the European side of things.
[53:09]
Dustin Kirkland
Yeah, well, I'll take a crack at that first one like demystifying what, you know, what's.
[53:15]
Dustin Kirkland
How does Chain Guard work and what makes it special.
[53:18]
Dustin Kirkland
We're about 300 people.
[53:21]
Dustin Kirkland
Many of the technologists here in the company have come from other distro backgrounds like myself, you know, Canonical Red Hat, others, many of us came from Kubernetes and Docker and open source container back or container backgrounds.
[53:38]
Dustin Kirkland
Almost all of us have open source in our veins, in our blood.
[53:43]
Dustin Kirkland
We are maniacally focused on solving real customer problems, real world customer problem.
[53:49]
Dustin Kirkland
And that's a little different than the completely noble mission of putting out the perfect Linux distro for the world.
[53:58]
Dustin Kirkland
Ubiquity for the world.
[54:00]
Dustin Kirkland
We're not focused on ubiquity.
[54:02]
Dustin Kirkland
I don't think it'll, I don't think any of us lose any sleep at night over whether Chain Guard's gonna take over, you know, the world.
[54:10]
Dustin Kirkland
What we do lose sleep about over, you know, any given night is if we don't meet our SLA for our customers who are expecting Chain Guard to meet or beat or exceed those CVE remediation and so we've got, you know, alerts every alert you can imagine in place to ensure that's not happening.
[54:29]
Dustin Kirkland
Secret sauce, how it's working.
[54:31]
Dustin Kirkland
You know, it starts with a build system that I think is absolutely world class.
[54:36]
Dustin Kirkland
I think if someone wanted to try to reproduce Chain Guard, that's the part that would take them years to build and tens if not hundreds of millions of dollars in funding to reproduce.
[54:51]
Dustin Kirkland
We stay as close to open source releases as possible and the patches are microscopic and fleeting.
[54:58]
Dustin Kirkland
We get rid of them as quickly as we can.
[55:01]
Dustin Kirkland
The concept you mentioned about trying to upgrade from one version to another and there being like six or seven years, this is where I think there's actually a falsehood built in there about stability.
[55:14]
Dustin Kirkland
When you talk about the stability of a thing, and I only use Red Hat or something because it's stable until it's not.
[55:25]
Dustin Kirkland
It's stable until you need to upgrade from one to another and then you've accumulated years and years, if not a decade of tech debt and changes that then need to be accounted for.
[55:40]
Dustin Kirkland
And so instead what you trade when you Take that like rolling release disturb approach that always updating all the time.
[55:48]
Dustin Kirkland
If you're never more than a week or two out of update, if you have a 30 day, everything has to be patch or remediate.
[55:57]
Dustin Kirkland
You got to reboot every 30, you're never more than a month away.
[56:00]
Dustin Kirkland
And so the idea of like git bisecting your code that depended on something in Python that changed between 311 and 312.
[56:09]
Dustin Kirkland
I mean, Victor, that it's a pain, but it's like stubbing your toe as opposed to breaking your leg.
[56:16]
Dustin Kirkland
You know, upgrading distro versions.
[56:18]
Dustin Kirkland
Even from an Ubuntu 22.04 to 24.04, it's like it'll take nine months of rehab to, you know, recover from a broken leg.
[56:26]
Dustin Kirkland
It will take nine months to prepare for, you know, an upgrade of a fleet of ubuntu systems from 22 to 2404.
[56:34]
Viktor Petersson
Yeah, I think you, I mean, you're absolutely correct about that and I completely agree with your viewpoint there.
[56:39]
Viktor Petersson
But I think there is a big sentiment in the tech industry particular people have been around longer that it is.
[56:46]
Viktor Petersson
You want to make microscopic changes so that you don't break things.
[56:50]
Viktor Petersson
Right.
[56:50]
Viktor Petersson
But that is a good way of accumulating all tech debt.
[56:54]
Viktor Petersson
And then you basically have to pay that price at some point.
[56:57]
Viktor Petersson
And do you have.
[56:59]
Viktor Petersson
I agree with your philosophy.
[57:00]
Viktor Petersson
Right.
[57:00]
Viktor Petersson
Like, do you want to do it incrementally or do you want to do it in a big bag?
[57:04]
Viktor Petersson
Right, right.
[57:05]
Viktor Petersson
You will have to face the music at some point.
[57:07]
Dustin Kirkland
Yeah, no doubt.
[57:09]
Dustin Kirkland
I think I've seen it both ways.
[57:10]
Dustin Kirkland
Certainly when I was in financial services, it was much more in the big bang.
[57:14]
Dustin Kirkland
We're going to upgrade every couple of years, but we're going to spend an entire year preparing for an OS upgrade.
[57:22]
Dustin Kirkland
I never want to go back to that again as an operator.
[57:26]
Dustin Kirkland
Many of the developers that we're serving, they're not in tune with that anymore.
[57:32]
Dustin Kirkland
I think maybe the thing that I would love to hear from your audience is, hey, how can we help you communicate to your boss's boss that there's actually.
[57:44]
Dustin Kirkland
I know what you need us to do.
[57:46]
Dustin Kirkland
We the developers, we the platform engineers, we need to deploy secure code, maintain secure code.
[57:52]
Dustin Kirkland
I'd love to hear from them.
[57:53]
Dustin Kirkland
How can we chainguard help communicate to their boss's boss that there is a better way that, you know, we can help them get them what they need in order to deploy that, you know, latest and greatest AI app in order to build that code.
[58:05]
Dustin Kirkland
That depends on a Python or a Java library that doesn't exist in, you know, in another distro right now.
[58:12]
Viktor Petersson
Yeah, no, I think there is an opportunity to do this at this point in time.
[58:16]
Viktor Petersson
Right.
[58:17]
Viktor Petersson
Because now if you're already in the cloud native mindset.
[58:22]
Viktor Petersson
Right.
[58:22]
Viktor Petersson
Where kind of the Docker is your runtime and you don't really like Kubernetes is kind of commodity and Docker is the operating system that.
[58:30]
Viktor Petersson
Well, Docker is the deployment fabric, really.
[58:33]
Viktor Petersson
Right.
[58:33]
Viktor Petersson
For your application, it's a lot easier to swap out the container runtime versus anything else.
[58:40]
Viktor Petersson
Yeah.
[58:41]
Viktor Petersson
I would not want to go back to the days of patching VMs.
[58:47]
Viktor Petersson
That's a lot more complicated than upgrading a Docker image.
[58:50]
Viktor Petersson
Right.
[58:51]
Dustin Kirkland
Replace those in place as opposed to the incremental upgrades, you know.
[58:56]
Viktor Petersson
Yeah, absolutely.
[58:58]
Viktor Petersson
Perfect.
[58:59]
Viktor Petersson
Dustin, I've really enjoyed this has been a lot of fun.
[59:01]
Viktor Petersson
I appreciate you for coming on the show and.
[59:04]
Viktor Petersson
Yeah, good stuff.
[59:06]
Viktor Petersson
Have a good one.
[59:07]
Viktor Petersson
Thank you so much.
[59:07]
Dustin Kirkland
Thank you for your time.
[59:08]
Dustin Kirkland
Really appreciate the thoughtful questions.
[59:10]
Dustin Kirkland
Thank you.
[59:11]
Viktor Petersson
Thank you.
[59:11]
Viktor Petersson
Cheers.