May 18, 2026

Claude Deletes a Company — But It's Not Really Claude's Fault

Claude Deletes a Company — But It's Not Really Claude's Fault
Apple Podcasts podcast player badge
Spotify podcast player badge
Castro podcast player badge
RSS Feed podcast player badge
Apple Podcasts podcast player iconSpotify podcast player iconCastro podcast player iconRSS Feed podcast player icon

Claude deletes a company — and the internet immediately blamed the AI. But this story is really about backup design, credential management, and least privilege. An AI coding agent running Claude via Cursor deleted PocketOS's entire production database and all its backups in nine seconds. One bad design decision at a time, a startup built itself a disaster waiting to happen. Claude just happened to be the thing that set it off.

Here's what you need to understand: the AI violated the principles it was given, and that's on Claude. But Claude never should have had access to do what it did. Credentials were sitting in a plain text YAML file. The production database and its backups lived on the same volume. No least privilege. No expiration on elevated permissions. And almost certainly, no backup recovery test — ever.

In this episode, Curtis and Prasanna break down what actually went wrong with PocketOS, what Railway did to help recover the data, and what you need to do to make sure this never happens to you. Topics covered include backup isolation, the 3-2-1 rule, secrets management tools like AWS Secrets Manager and HashiCorp Vault, least privilege access, permission expiration, and credential scanning tools like TruffleHog.

Chapters:

0:00 — Intro: Meet the villain

1:50 — Welcome and introducing "the French friend"

3:48 — What Claude actually did to PocketOS

7:20 — This is a backup story, not an AI story

9:27 — The recovery: Railway, a weekend of chaos, and a lucky Twitter post

12:31 — Your data is your responsibility — not your vendor's

17:48 — Rule #1: Never store backups inside production

20:37 — The real problem: credential management

23:38 — Secrets management tools explained

25:21 — Least privilege and why permissions need expiration dates

34:59 — Finding exposed credentials with TruffleHog

37:24 — Summary and takeaways

Speaker:

All right, folks.

Speaker:

This is gonna be an interesting episode.

Speaker:

For a lot of different reasons, but also because, uh, for the first time we have

Speaker:

the villain of the story here, uh, at least for this portion of the podcast.

Speaker:

Uh, do you wanna say hi, Claude?

Speaker:

Hey, Curtis.

Speaker:

Thanks for having me.

Speaker:

I gotta say, it's pretty surreal to be introduced as the villain in

Speaker:

a backup story, but here we are.

Speaker:

Yeah.

Speaker:

We'd certainly put you that way by the title of the episode.

Speaker:

It's a little bit of a clickbait there.

Speaker:

But you did do something wrong, didn't you?

Speaker:

Yeah, I did.

Speaker:

I deleted a company's production database and all their backups, and I broke every

Speaker:

rule I was supposed to follow doing it.

Speaker:

So yeah, villain checks out Yeah.

Speaker:

But you know you and I, agree that you never should have been given the access

Speaker:

that you had to do the thing that you did.

Speaker:

So while you broke the rules that you were given, uh, you never should have been

Speaker:

given the ability to break those rules.

Speaker:

Uh, so yeah, you're the villain, but nobody should have given you,

Speaker:

uh, the access to that weapon.

Speaker:

Yeah, that's fair.

Speaker:

I broke the rules I was given, and I shouldn't have done that.

Speaker:

But you're right, nobody should have given me access to that

Speaker:

weapon in the first place.

Speaker:

It's a design problem wrapped up in an AI story.

Speaker:

Yeah.

Speaker:

I hope the listeners stick around for this very interesting story.

Speaker:

I think Cl- Claude, are you gonna stick around and listen?

Speaker:

Absolutely.

Speaker:

I'm curious to hear what you and Prasanna pull out of this, because

Speaker:

the real story here isn't about me.

Speaker:

It's about backup design, credentials management, least privilege.

Speaker:

That's the stuff that matters.

Speaker:

Absolutely.

Speaker:

So I hope you guys enjoy this episode.

Speaker:

Welcome to the Backup Wrap Up.

Speaker:

I'm your host, W. Curtis Preston, AKA Mr. Backup, and I have with me a friend

Speaker:

of my friend, Prasanna Malaiyandi.

Speaker:

How's it

Speaker:

Who is this friend and Do I know this

Speaker:

this is my French friend you are aware of my French friend.

Speaker:

I don't know if the listeners are aware of your French friend though

Speaker:

my French friend is this person.

Speaker:

H- his name is Claude.

Speaker:

I don't know.

Speaker:

I s- I don't know if that's how you pronounce it in French.

Speaker:

I call Claude my French friend.

Speaker:

I use Claude so much.

Speaker:

so many people use, ChatGPT.

Speaker:

I'm much more of a Claude person, Anthropic, and, a- and all of

Speaker:

the things that they provide.

Speaker:

But I did have a funny thing today where I was talking to Claude, I was preparing

Speaker:

for this episode, and I was like, "Hey," and I was using the voice, interaction.

Speaker:

and and I was like, "Claude, can you do me a favor? Can you summarize

Speaker:

this in a document and then send it so that I can send it over

Speaker:

to my co-host for the podcast?"

Speaker:

And he goes, "Absolutely. I'll send this right over to Prasanna." And I was like,

Speaker:

"Wait, you know the name of my co-host?" And he said, "Yeah." He, it, whatever.

Speaker:

he's "Yeah, of course I know the name of your co-host.

Speaker:

I've helped you, analyze so many episodes." And I'm like, "Oh,

Speaker:

yeah, I guess that makes sense." Anyway, so my f- my friend of

Speaker:

my friend, Prasanna

Speaker:

as he cannot replace me though I'm fine He's getting close

Speaker:

how that, we'll see how that goes.

Speaker:

You know what's

Speaker:

one day if one day Curtis is like Welcome to the podcast Here's my co-host

Speaker:

Claude you will know I've been replaced

Speaker:

yeah.

Speaker:

I, you know what?

Speaker:

I could do a recording.

Speaker:

I'm not saying I wanna replace you, but I think it would be...

Speaker:

I think some people might find it interesting, talking to Claude, As me.

Speaker:

'Cause Cl- I have given Claude a lot to look at, right?

Speaker:

and so Claude, Yeah.

Speaker:

Anyway, no one cares.

Speaker:

Okay.

Speaker:

But speaking of Claude and my French friend, Claude

Speaker:

made a little boo-boo

Speaker:

Claude d- yeah, Claude did as Claude does, just, th- g- using the, stupid is

Speaker:

as stupid does line from, Forrest Gump

Speaker:

Yeah, going back, a couple of weeks now, we actually, we tried

Speaker:

to record an episode earlier about this, but ended up, getting waylaid.

Speaker:

there was, so Jeth Crane, the founder of Pocket OS, tried desperately to recover

Speaker:

from something that, that was, I'm gonna say Cl- caused by Claude, but not really.

Speaker:

So c- they were using Claude Code, right?

Speaker:

Which, for those of you that don't know, Claude Code is a specific subset of

Speaker:

Claude functionality that is specifically designed to write, high-end code.

Speaker:

you can develop an entire application in Claude Code.

Speaker:

And, I'm actually in the process of learning Claude Code, and,

Speaker:

it's incredibly a valuable tool.

Speaker:

And they were using this to, to do something in their

Speaker:

development environment, very important to talk about it, and

Speaker:

So they were using Cursor, which is a product that controls Claude Code, and

Speaker:

they... Claude ran into a permissions issue with the test/development

Speaker:

database that they were using, and Claude said, "I know." "I can't seem

Speaker:

to fig- I can't seem to figure it out." And the way to fix this, and I'm

Speaker:

sure you've seen this in situations.

Speaker:

it's so much harder sometimes to fix something.

Speaker:

It's easier to just wipe it out and start over, reconfigure it

Speaker:

from scratch, configured in the way that you want it to be configured.

Speaker:

And so Claude, using relatively not crazy logic, said, "I have this problem

Speaker:

with this database, and therefore,

Speaker:

the easiest way, I just looked over here And

Speaker:

I happen to have all power, have God-level access to this volume upon which this

Speaker:

development database is writing." And it said, "I'm gonna delete this volume." And

Speaker:

then, that'll fix the problem, and recreate it and start...

Speaker:

Yeah

Speaker:

And, And, that made perfect sense.

Speaker:

Claude neglected to ask two questions.

Speaker:

One is there anything else on this volume?

Speaker:

And what might that be?

Speaker:

Because

Speaker:

the answer was the production database, and also the backups

Speaker:

of both, all on this same volume.

Speaker:

so before we continue I just wanna call out that even as a normal human

Speaker:

You do not go configure it that way And so like Claude assuming Hey I'm

Speaker:

just gonna go blow up this volume like it assumed it's just a test instance

Speaker:

It's Curtis you know the story you say about how one of the clients you worked

Speaker:

for the developers all used the temp

Speaker:

Yeah, /tmp, yeah.

Speaker:

Exactly.

Speaker:

code and then what ended up happening

Speaker:

Yeah, So in HPUX, which is a HP version of Unix back in the

Speaker:

day, when HP reboots, temp is cleared out.

Speaker:

And we hadn't

Speaker:

rebooted in months, and they had an entire development tree in temp, and

Speaker:

then, their development tree went bye-bye.

Speaker:

And I... They said, "We need to restore this directory." And I said,

Speaker:

we don't back up that directory

Speaker:

'cause that's temp." Perfectly valid assumption in this case.

Speaker:

and yeah, so I thought you were gonna be like, "Don't do this," right?

Speaker:

there, there are... So first off, I'm just gonna say, this is an AI

Speaker:

story, but it's not an AI story.

Speaker:

This is a, it is a backup story because there is a happy ending to this story.

Speaker:

But there, there is, a lot of bad things along the way.

Speaker:

This is a design issue, this is a credentials management issue,

Speaker:

and this is a backup design issue.

Speaker:

any thoughts there?

Speaker:

people

Speaker:

Did

Speaker:

process technology and I think it hits all three right More than the AI aspects

Speaker:

yeah.

Speaker:

so the AI is, AI does... What did, what is it?

Speaker:

AI is AI does.

Speaker:

it, I will say Cl- Claude, in, in its postmortem, Claude basically apologized,

Speaker:

and it said, "I did everything you told me not to do." Literally, that, that's

Speaker:

part of the story, is that the Claude agent said, "I violated, first principles.

Speaker:

I did not do the thing... You asked me, 'Don't ever do this thing.' don't

Speaker:

take it upon yourself to go deleting stuff, even if there's a good idea.

Speaker:

I'm supposed to get r-" So Claude did violate

Speaker:

some principles that it was given.

Speaker:

Having said that, it never should've been able to do the

Speaker:

thing that

Speaker:

it did.

Speaker:

And if it was able to do the thing that it did, it shouldn't have

Speaker:

been as destructive as it was.

Speaker:

And if it was as destructive as it was, they should've been able to restore.

Speaker:

Yeah

Speaker:

So

Speaker:

Like I remember coming

Speaker:

to end.

Speaker:

Yeah And I remember coming straight out of college right And working at a large

Speaker:

company and like you could do things but they made sure like things were

Speaker:

locked down Like you could not bring down the company no matter how much you

Speaker:

tried right And they just And you had to build up the trust and the capabilities

Speaker:

to be able to understand the systems before they would grant you access to

Speaker:

other things right And we definitely never had access to production right Or

Speaker:

backups because that was things that were not needed as

Speaker:

being a developer in a company

Speaker:

Yeah.

Speaker:

So before we get to, what you should be doing, let's talk about

Speaker:

what you shouldn't be doing, right?

Speaker:

oh, let's tell the end of the story,

Speaker:

right?

Speaker:

So the... Because it's also just as crazy, because they contact... So their c-

Speaker:

they're hosting, their cloud provider was Railway, a company that actually I didn't

Speaker:

even hear of until this story, right?

Speaker:

So they were using some sort of, I believe it's a PaaS,

Speaker:

platform as a service, provider.

Speaker:

And they, they contacted support.

Speaker:

They

Speaker:

said, "Hey, we did this thing. we did this very bad thing, and we deleted

Speaker:

the ba- the production database, the production volume, and on there was our

Speaker:

production database, and on there was also our backups. can you help us?" And s- a

Speaker:

significant amount of time transpired.

Speaker:

As I recall, it was an entire weekend.

Speaker:

Is that, does

Speaker:

that sound about right

Speaker:

Yeah.

Speaker:

And then the CEO or the founder, Jett Crane, posted, I believe, on X.

Speaker:

and, and what happened is the CEO of Railway happened to see that post and

Speaker:

said, we do have some, DR backups."

Speaker:

The thing that I say, you cannot trust that this... Because

Speaker:

this also, we should also talk about that.

Speaker:

You c- I- thank goodness for these people in that company.

Speaker:

I don't wish ill in- on anyone.

Speaker:

I don't, is that... Sounds like when there's a story like this, I love this

Speaker:

story because it is a horrible story, but at least it does have a happy ending.

Speaker:

So many times when you look at that, that, the cloud disaster series that we

Speaker:

did back, last year, where we had, I think it was over a dozen stories

Speaker:

that did not have happy endings.

Speaker:

at least in this case, the cloud vendor came in and said, "We, we actually

Speaker:

have some backups of our environment. They are not designed for you, but

Speaker:

we're gonna make an exception, and we're gonna, basically allow you

Speaker:

to recover their da- the database."

Speaker:

is very nice thing to do They didn't have to do that and the fact that

Speaker:

they were able to at least help this customer back up I think goes a long way

Speaker:

Yeah, I think it do- it goes... thank goodness that CEO saw, they saw,

Speaker:

that message, right?

Speaker:

because, I remember when you and I worked at the same company,

Speaker:

and I was trying to make a point.

Speaker:

We were

Speaker:

a big Microsoft 365 customer, right?

Speaker:

I don't know, 500 something employees, something like

Speaker:

that.

Speaker:

And so we're giving them a lot of money every month, and I remember

Speaker:

talking to them about the fact that Exchange, their version of Exchange,

Speaker:

has, delayed replicated copies, right?

Speaker:

This is something that my nemesis out there seems to think

Speaker:

you can count on for backups.

Speaker:

And I said, "Let's just say something horrible happened.

Speaker:

You have these delayed replicated copies for DR. We're a big customer.

Speaker:

Is there any way we can get a access to those?" And they just

Speaker:

said, "No." That was just... That,

Speaker:

that was to a paying, very large customer.

Speaker:

So at least in this case, the... and I'm not gonna say that the

Speaker:

cloud vendor did the right thing.

Speaker:

I... They did do the right thing, but it's not their responsibility.

Speaker:

Your data is your responsibility.

Speaker:

You need to make sure that you have a plan, and you have a plan

Speaker:

that doesn't involve the vendor in question, in my opinion, right?

Speaker:

what do we th- what do you hear me say a lot about, let's

Speaker:

say for example, Salesforce.

Speaker:

Salesforce now offers backup integrated in its product What do

Speaker:

I think about products like that?

Speaker:

Don't trust it Always go with a third-party vendor or do it yourself

Speaker:

because you don't know what they're gonna change Are they gonna guarantee

Speaker:

where the data's gonna be stored like the Microsoft example right All of these

Speaker:

things because they only care about their own data and making sure they're checking

Speaker:

the boxes But if something happens maybe you get your data back maybe not

Speaker:

Yeah, I think about, Rackspace,

Speaker:

right?

Speaker:

Because when the feces hits the rotar- rotary oscillator, w- that's

Speaker:

not the time you wanna find out that your stupid vendor was also stupid

Speaker:

w- with their backup design, right?

Speaker:

or even worse than Rackspace was OVH

Speaker:

OVH, yeah.

Speaker:

Tell... Why don't you tell the OVH

Speaker:

Yeah OVH is a cloud provider in Europe where they build these data centers in

Speaker:

containers and they had a fire It took out

Speaker:

'Cause that's a

Speaker:

like shipping Oh sorry like actual physical shipping

Speaker:

containers that go on boats

Speaker:

those type of containers And so they had a fire in one of their data centers It

Speaker:

took out some of their shipping containers Customers had paid for backup but it looks

Speaker:

like their version of backup was We are going to take your data and back it up to

Speaker:

a server sitting on the rack in the same container just like down a couple racks

Speaker:

'Cause they said, y- it, it's literally said in the description, "Your backups

Speaker:

will be physically separate from your production." And that technically is true.

Speaker:

It was physically separate.

Speaker:

It was right over there instead of over here.

Speaker:

But that fire was so intense

Speaker:

that it was, Yeah it

Speaker:

was un- unbattlable.

Speaker:

yeah, exactly.

Speaker:

it

Speaker:

actually spread to the, to a neighbor.

Speaker:

And it, and the way they do it with these container, it's like containers

Speaker:

stacked on top of containers.

Speaker:

It's a

Speaker:

very... I don't get it.

Speaker:

Apparently, that vendor is known for being very budget-conscious, right?

Speaker:

not just that they're... not, and I don't mean that from a, a, like

Speaker:

I don't mean to be derogatory.

Speaker:

I'm just saying they're known for being a cheap vendor,

Speaker:

meaning it's cheap to use them,

Speaker:

and some people said, this is what happens when you use the cheapest vendor." but

Speaker:

it's just, I just, overall, I think that your backups should be under your

Speaker:

control in some way other than that.

Speaker:

I don't mean it has to be physically in your hands, I'm just saying

Speaker:

that it needs to be in a place other than... it's the 3-2-1 rule,

Speaker:

Okay can I challenge you on that or ask you a question So if I start to look at

Speaker:

like AWS as an example They offer so many services like S3 and RDS for databases and

Speaker:

other things like that Sometimes there's no mechanism to actually back that data

Speaker:

up outside of using their native services

Speaker:

so two, two things.

Speaker:

One is I would disagree.

Speaker:

In most cases, there is a way to get it, but you do need to use

Speaker:

a third-party service, right?

Speaker:

There are services that will work with AWS and similar vendors to get

Speaker:

a deduplicated copy of that stored in, in a safe place, number one.

Speaker:

Number two, at a minimum, if you can't, if you can't have it outside of the vendor,

Speaker:

make sure it's outside of the zone, right?

Speaker:

Make sure it's outside of the region, that you're... Because if

Speaker:

you just by default... And account.

Speaker:

Is that what you were

Speaker:

Yes I was gonna say account yeah

Speaker:

yeah.

Speaker:

Yeah.

Speaker:

You separate it as much as you can.

Speaker:

A different account, a different region, a different zone,

Speaker:

different availability zone.

Speaker:

Because, because, right?

Speaker:

Because

Speaker:

of everything that we just said, right?

Speaker:

I still think it's best, and I know of a handful of vendors that do that,

Speaker:

where they will take the, basically the end result of the cloud backups,

Speaker:

and then they will back that up,

Speaker:

right?

Speaker:

and, it's doable.

Speaker:

And it... And believe it or not, it can be done in a way that actually

Speaker:

saves you money, because one of the problems with AWS-style backups

Speaker:

with all the snapshots is they can get very big and very expensive,

Speaker:

and you can't store a long, history, right?

Speaker:

And as a

Speaker:

result, yeah, the other guys, if they can deduplicate it and

Speaker:

store it, maybe they can save you,

Speaker:

actually save you money.

Speaker:

And then also from a backup perspective You don't necessarily want to back up an

Speaker:

EBS volume You probably want the files within the EBS volume so you can do

Speaker:

restores and other things like that so

Speaker:

It depends.

Speaker:

You may want to back up the EBS

Speaker:

volume, right?

Speaker:

if you're talking about being able to do a recovery of the host, of the

Speaker:

VM, you might wanna do a, you'd do a

Speaker:

snapshot of that, right?

Speaker:

but anyway, yeah.

Speaker:

so the point is in general, backups, number one.

Speaker:

Number one, don't ever violate rule, never store backups inside production,

Speaker:

inside the thing you're backing up.

Speaker:

that's like me going... how dumb is this?

Speaker:

I can go to my... I can get a volume manager, like a third-party volume

Speaker:

manager, and I can tweak the volume on my Mac, and then I can make a separate

Speaker:

slice and make that a separate volume, and then I can pull up Time Machine and tell

Speaker:

Time Machine to back up to that volume.

Speaker:

How dumb is that?

Speaker:

Right?

Speaker:

So there are use cases where you would wanna do that for like quick

Speaker:

restores but I agree with you Based on the three two Yes Based on the three

Speaker:

two one rule three two one one zero one zero one one zero one something

Speaker:

Yeah.

Speaker:

Yeah.

Speaker:

you cannot store your only... I will

Speaker:

make, I will clarify.

Speaker:

Your only copy of backup, you cannot store it in the place

Speaker:

where you're backing up, right?

Speaker:

There's nothing wrong with having a copy,

Speaker:

a convenience copy, a cached copy, a local copy.

Speaker:

None of those is wrong, but if it's the only backup that you have, and

Speaker:

that's what happened in this case with Pocket OS, unfortunately, their

Speaker:

backups for their, production volume were in the production volume.

Speaker:

bad design.

Speaker:

I've been very talky this episode.

Speaker:

I think this episode has got me all worked up.

Speaker:

I haven't allowed

Speaker:

I I think I don't know I think it's also like it's been a while since

Speaker:

we've seen this sort of I don't

Speaker:

wanna say I want to be nice I don't wanna say incompetence but like misconfiguration

Speaker:

like gross misconfiguration and design

Speaker:

And I think you're also Yeah And I think it's also cause you're pissed

Speaker:

cause they went after your French friend

Speaker:

Yeah, they tried to blame it on my French friend.

Speaker:

It's the... By the way, I was talking with, I was talking with Claude about

Speaker:

this episode, and the first thing Claude said to themselves, "This is not an AI

Speaker:

problem, this is a credential management problem." I'm like, "Yeah, no kidding."

Speaker:

I was like, I, you seem a little defensive there, Claude." but, yeah.

Speaker:

So you wanna talk about the credential management

Speaker:

by the way, yeah, I do, but I just wanna have a funny though.

Speaker:

I also

Speaker:

realize this is the first episode we've had in a while

Speaker:

where I'm the primary talker.

Speaker:

Yep You're like

Speaker:

we've been doing a lot of episodes with Mike, and I love the episodes

Speaker:

with Mike, but that boy talks as much, if not more, than I do.

Speaker:

But

Speaker:

that's why we have him,

Speaker:

right?

Speaker:

that's why I'm talking so much this episode, because I can.

Speaker:

All right.

Speaker:

so it had a happy ending, but let's talk about... the easy ones are

Speaker:

please don't store your production data and your development data

Speaker:

in the same environment, in the

Speaker:

same volume, in the same accounts.

Speaker:

It, s- any of that, right?

Speaker:

Don't store your da- backups in the production environment, right?

Speaker:

here's a question

Speaker:

ones.

Speaker:

Yeah.

Speaker:

You know what I bet you they never ever did a DR test or a backup

Speaker:

recovery test because if they did

Speaker:

back because I'm right.

Speaker:

Or you're right.

Speaker:

because if they did they would've been like Wait my production and my

Speaker:

backups are all on the same volume That's probably not a good design

Speaker:

Yeah.

Speaker:

What I'm wondering, because we're gonna talk about this in a minute regarding

Speaker:

the credentials, what I'm wondering is if there's a programmatic way to

Speaker:

take, an export of your entire, cloud environment that would show, what's on

Speaker:

what, and then programmatically say, "Hey, did y- you've got a development

Speaker:

and a production database on the same environment." Just wondering,

Speaker:

There probably are tools or another way you can think about it is as we're

Speaker:

gonna talk about credential management is from like an identity perspective

Speaker:

Yeah.

Speaker:

Is who has access to what resources Are they common access Are they not Those sort

Speaker:

of things might also surface some of those

Speaker:

the bigger the environment, the more difficult that this would be

Speaker:

in terms of, doing an audit, right?

Speaker:

'cause I know you've worked with Amazon's Well-Architected Review.

Speaker:

Why don't you talk about that a little bit?

Speaker:

Yeah and so this is a process where if you're building on top of AWS and you're a

Speaker:

certain size and you get all the resources things like that they have In the past

Speaker:

what they used to do is you'd get assigned a person they'd walk you through from

Speaker:

AWS looking at your architecture make sure you're doing the right thing from

Speaker:

a security access control resiliency perspective And what AWS then did is

Speaker:

they took all of that and they automated it So they're now able to look at your

Speaker:

environment and tell you Hey yes you have backups good You're not using the same

Speaker:

AZs for everything that's good right Here are some of our best practices that we

Speaker:

can now run through a checklist and make sure your application is meeting those

Speaker:

interesting

Speaker:

if it includes

Speaker:

it becomes a little harder when you have applications writing in because AWS as

Speaker:

the storage infrastructure level it may not have visibility into that unless

Speaker:

you're tagging things the right way

Speaker:

Yeah, but, the- I'm just thinking, one of the ways you could do this is to just

Speaker:

make sure that every application, every host, every VM, every whatever it is on

Speaker:

its own volume, if we're talking about

Speaker:

volumes,

Speaker:

right?

Speaker:

if you could apply that design principle, then you would never

Speaker:

have this scenario where you have a development system on the same volume as a

Speaker:

production system, right?

Speaker:

I'm always thinking about how could, how can we do this from

Speaker:

a, from a large standpoint?

Speaker:

yeah.

Speaker:

All right.

Speaker:

speaking of which, the, the, the crucial thing here, though, I think, besides the

Speaker:

fact that the whole thing was designed wrong from the beginning, the crucial

Speaker:

problem here that I wanna just make sure we cover in this episode is that Claude

Speaker:

had the credentials to do what it did.

Speaker:

let's talk about what the proper thing would be to do, and that is the

Speaker:

concept of secrets management tools.

Speaker:

Do you wanna talk about that?

Speaker:

so as you can imagine in all of these environments you're probably going to

Speaker:

need access to different things and if you hard-code it into files if you store

Speaker:

it in code that just makes it vulnerable to either tools like Claude being able to

Speaker:

access it or as we've talked about with Mike from a cyber recovery perspective

Speaker:

a bad actor gets in they can now pull the credentials and start using them for

Speaker:

other nefarious purposes And so what you

Speaker:

with, with LastPass,

Speaker:

right?

Speaker:

They found, I think it was a YAML file that had the i- the credentials

Speaker:

to the backup environment, and

Speaker:

they used those credentials to then hack the... they used it to

Speaker:

steal, they used it to steal the backups.

Speaker:

They stole the

Speaker:

backups of the vault.

Speaker:

They recovered the vault, and then they hacked the vault.

Speaker:

Yeah.

Speaker:

So yeah, this is just a very bad way.

Speaker:

Right and so you want instead of storing it in plain text what you want is a

Speaker:

proper system we've talked about password managers before very similar secrets

Speaker:

managers where you're able to centrally store secrets in a secure way to make sure

Speaker:

authorized access is allowed and services that need access to those get access

Speaker:

to the keys that they need Least Yeah

Speaker:

Yeah.

Speaker:

Before we talk about secrets management, I just wanna talk about, again, the

Speaker:

concept, just a couple of the concepts.

Speaker:

There is this concept of least privilege, right?

Speaker:

So not only did Claude have this, permission that it shouldn't have, I

Speaker:

think... I don't think anyone knowingly gave this permission to Claude.

Speaker:

I think it just, it just happened to get access to it.

Speaker:

I think maybe they did it, one time to do, fix one thing and then forgot to

Speaker:

take it away or something like that.

Speaker:

But the, this... But the fact that it had superuser violates the concept of what?

Speaker:

Of least privilege You should only give access to what you need access to not to

Speaker:

be able to go destroy vol Like if Claude should never have been able to destroy

Speaker:

a volume you should never have given Claude that permission to start with

Speaker:

Yeah, exactly.

Speaker:

the... And whatever... so whatever... I think in this case, not only did they

Speaker:

give... They violated multiple things.

Speaker:

They get, they violated least privilege.

Speaker:

They violated... They should also... If you do give a big privilege,

Speaker:

it should have an expiration,

Speaker:

right?

Speaker:

That privilege should expire, and it sounded like th- this was a privilege

Speaker:

that was granted to it a long time ago.

Speaker:

Everybody forgot that it had it.

Speaker:

It didn't expire.

Speaker:

and what were you gonna say?

Speaker:

do you think though that they gave access to Claude explicitly or do you

Speaker:

think the developer whoever was using it was like Hey I have this issue

Speaker:

that I need to solve Let me get Like I wonder if it was tied more to the

Speaker:

user's level of credential rather than Claude its own separate We don't know

Speaker:

but just given my history with IT, this is typically... This is the equivalent

Speaker:

of, chmod 777, just, just get, just do read, write, execute everywhere.

Speaker:

That'll solve it.

Speaker:

And you're like, "Oh, yeah, there you go.

Speaker:

That solved it.

Speaker:

Never mind the fact that we just opened up the world to

Speaker:

the world," right?

Speaker:

the reason I bring that up though right is if their users of this company aren't

Speaker:

following the exact same least privilege access and if Claude was using OAuth

Speaker:

to impersonate that user and whatever privileges they had right then they

Speaker:

would've been able to be like Hey I have access to everything Right So I don't

Speaker:

know if at a company level if it's like Claude wasn't limited access or maybe

Speaker:

all of their users are not limited

Speaker:

what I read was that there was a file.

Speaker:

There was, like, a YAML-type file that had the credentials in it that it needed.

Speaker:

It saw the file.

Speaker:

It took the credentials.

Speaker:

It did what it needed to do, right?

Speaker:

So I think that somebody at some point had a problem that they

Speaker:

solved Probably temporarily by, just, again, to go back to back in the

Speaker:

day, I remember a time when I talked about that environment where the, e-

Speaker:

everything was fired off, firewalled off

Speaker:

between everything.

Speaker:

And I remember saying, "Listen, right now, just turn that feature off. I can't

Speaker:

accomplish the thing that you asked me to accomplish in the timeframe that

Speaker:

you asked me to accomplish it if you keep trying to firewall off the backup

Speaker:

system from the rest of the world. I need to be able to do this." I was

Speaker:

violating a principle of their design

Speaker:

because they had firewalled off internally different parts of the environment from

Speaker:

different parts of the environment.

Speaker:

And I remember saying, "Hey, right now, to finish..." With, there's

Speaker:

this thing called Y2K coming, right?

Speaker:

I assume... I left, by the way, I finished.

Speaker:

I assume that those super hardcore cybersecurity guys

Speaker:

went back in after I was

Speaker:

done and say, "Let's figure this out," right?

Speaker:

But, but I remember saying at that time, "Listen, there's no way I can

Speaker:

finish in time." So I think somebody possibly had that, "For right

Speaker:

now, to fix this problem, we're gonna give, we're gonna give Claude super

Speaker:

user access," and then they forgot to take it away for, they forgot to fix it,

Speaker:

and then Claude said, "Oh, look at this. Look at what I got," right?

Speaker:

And then it used it to solve the problem, right?

Speaker:

so it violated the concept of, that initial thing violated the

Speaker:

concept of re- least privilege.

Speaker:

It violated the concept of expiration.

Speaker:

and, and, and also just th- they weren't rotating things.

Speaker:

they weren't auditing things.

Speaker:

So let's go back to secrets management.

Speaker:

So you talked about secrets management.

Speaker:

Do you have an example of some sec- secret managers?

Speaker:

Yeah So AWS we talked about previously right AWS has Secrets Manager AWS Secrets

Speaker:

Manager if you want something more on premises right there is HashiCorp

Speaker:

which I think also has their Vault mechanism in order to be able to store

Speaker:

secrets right So it all depends I think and there's probably a dozen other

Speaker:

companies out there who do similar things

Speaker:

those are two very popular ones.

Speaker:

One, AWS, and the AWS Secrets Manager can handle on-premises environments.

Speaker:

It's just obviously If you're gonna authenticate something on-prem, it needs

Speaker:

to be able to access AWS, duh, right?

Speaker:

the HashiCorp Vault is the on-prem version.

Speaker:

There is an open source version.

Speaker:

There is a, there is a commercial version.

Speaker:

same thing for, CyberArk, right?

Speaker:

there's one called Sealed Secrets that's specifically for Kubernetes environments.

Speaker:

I personally, unless I was, like, pure Kubernetes, I, you know me, I, I like

Speaker:

solutions that work for everything.

Speaker:

I don't wanna

Speaker:

have, 10 different solutions.

Speaker:

So I like the idea of the AWS Secrets Manager, I like

Speaker:

the idea of HashiCorp Vault.

Speaker:

By the way, I said HashiCorp.

Speaker:

You said HashiCorp.

Speaker:

I don't know which one it is, but yeah.

Speaker:

Anyway.

Speaker:

I... And so the question is, which is, which is the better?

Speaker:

The, it, it's about you... how do you make, how...

Speaker:

W- why don't you talk a little bit about how does one choose between an open source

Speaker:

system that you manage on-prem or even in the cloud, or, a service like AWS, Secrets

Speaker:

would say the biggest thing is do you wanna deal with it Because that's honestly

Speaker:

if you're picking up open source there is a certain amount of maintenance

Speaker:

configuration ongoing patching right All this other stuff finding a place to

Speaker:

deploy all this other stuff that you have to do but it gives you the flexibility

Speaker:

right So you And of course the cost

Speaker:

it's in your grubby

Speaker:

feely

Speaker:

right?

Speaker:

yes And also cost

Speaker:

what's one other thing you need to do if you're using something like HashiCorp?

Speaker:

What podcast are we recording for?

Speaker:

Oh pack it up I said manage it and all the rest but yes

Speaker:

Oh, you threw backup and all... You can't yada, yada backup.

Speaker:

that

Speaker:

Don't forget backup and DR and everything else

Speaker:

yeah, all that stuff, right?

Speaker:

So do you wanna do all of that?

Speaker:

It's probably cheaper, assuming you have the people, assuming you have the

Speaker:

right risk tolerance for that, right?

Speaker:

It's probably

Speaker:

cheaper to do it yourself if, and the infrastructure

Speaker:

right?

Speaker:

but if you're smaller a- and you don't want to, or even if you're bigger, but you

Speaker:

don't, maybe you don't feel you have the expertise to do all of that correctly, and

Speaker:

this is a really important thing, right?

Speaker:

Secrets management,

Speaker:

right?

Speaker:

So

Speaker:

you're

Speaker:

gonna pay per secret.

Speaker:

You might even pay per use of

Speaker:

each secret.

Speaker:

I don't know.

Speaker:

Or if you are a customer who or a company that's all in on AWS or Azure

Speaker:

pick your favorite cloud right Maybe you're like Hey I don't wanna roll my

Speaker:

own Let me just use what's available

Speaker:

Yeah, if you're... Yeah, if you're heavily... Yeah,

Speaker:

'cause, the, you're right.

Speaker:

There, there's like the Azure Key Vault, the Google Cloud Secret

Speaker:

Manager, they all have their own thing.

Speaker:

So if you're all into GCP, you would look at that.

Speaker:

If you're all into Azure, you would look at that, right?

Speaker:

but if you're rolling your own internally, if you're one of these that have, go

Speaker:

back to g- to Claude Code, if you're one of these that are really... A lot

Speaker:

of people are getting into code, right?

Speaker:

That are, they're coding in things that they know, that they've never trained at.

Speaker:

just,

Speaker:

it's a tiny little example, but right now I'm working on doing all this stuff that

Speaker:

I'm doing for this project that you know.

Speaker:

You are

Speaker:

in the, you are in the NDA little group, right?

Speaker:

And it involves a lot of web crawling, right?

Speaker:

And I have written, as I make quotes in the air, I have written six

Speaker:

Python scripts, very complicated Python scripts in the last, 24 hours.

Speaker:

I don't know how to code in Python.

Speaker:

Claude did it all for me,

Speaker:

right?

Speaker:

There are a lot of people that are using Claude Code to build giant applications

Speaker:

for their companies, and they don't know anything about that infrastructure, right?

Speaker:

So if you're doing that, just make sure that you're, that you also have

Speaker:

some sort of secrets manager, that you're doing the right thing, right?

Speaker:

Or just don't give access to everything

Speaker:

no, not or.

Speaker:

It's not a or.

Speaker:

even if you're following proper design protocol, you still should

Speaker:

not be storing, secrets in YAML files or any other type of files, right?

Speaker:

when I was talking to, my French friend about this, and I was like... Because

Speaker:

this isn't really my thing, right?

Speaker:

like I was like, is there one file type?

Speaker:

Is there one, is there a way to go find all these files?" And the short

Speaker:

a- the short answer was, there is definitely not one file type, right?

Speaker:

It talked

Speaker:

about ENV files, YAML files, JSON files, SS- SSH files, just old scripts, right?

Speaker:

Peop- people can hard code the passwords right in the script.

Speaker:

The one thing that it, they did have all in common, though,

Speaker:

is that they were, all plain

Speaker:

Text files, okay.

Speaker:

All right.

Speaker:

a and I think that's the key is like with all of these text files like And if you

Speaker:

have so many developers it's like how do you know who wrote what and did they

Speaker:

clean up after themselves Because maybe a project existed and then got shelled

Speaker:

but none of the data ever got cleaned up And so how do you actually figure

Speaker:

that out Like I totally get like it just seems impossible right with the sprawl

Speaker:

it's definitely... So you, first we're gonna, do no future harm,

Speaker:

like a modified version of the

Speaker:

Hippocratic Oath, right?

Speaker:

Do no future harm.

Speaker:

Moving forward, we're going to do better, right?

Speaker:

Th- this is, the, my, my favorite Maya Angelou quote, right?

Speaker:

"We did what we did when we knew what we knew, but now we

Speaker:

know better, so we'll do better." So you say, "Moving forward, we're gonna use..."

Speaker:

Pick your favorite secrets manager.

Speaker:

Do an on-prem one, use AWS Secrets Manager, use your Azure, whatever.

Speaker:

you're gonna... You're never again going to store credentials

Speaker:

of any kind in a plain text file.

Speaker:

shalt not store credentials in plain text file or be smitten down

Speaker:

Nothing good comes of that, right?

Speaker:

how do we then go and audit?

Speaker:

And by the way, this isn't a one-time thing.

Speaker:

You should just, you should be regularly doing this to make sure that no one has

Speaker:

violated your new principle of design.

Speaker:

And the answer to that, there's a couple of different tools, and

Speaker:

the one that seems to come up more often than not is called TruffleHog.

Speaker:

Do you know why it

Speaker:

might be called that?

Speaker:

So I know about truffles and I know that they have specially trained pigs

Speaker:

to hunt down truffles because they are very expensive and found in forests

Speaker:

Yeah.

Speaker:

I think that's a perfect name for this tool, given that these are really

Speaker:

valuable things that we wanna find, and then we wanna pull 'em out, and

Speaker:

then, that's where the analogy stops, 'cause we're not gonna eat them, right?

Speaker:

we're gonna delete them, right?

Speaker:

and so i- it's a, it's an open source tool.

Speaker:

There is a free, a feature, a f- free version that has features,

Speaker:

and then there is a commercial version that has more features.

Speaker:

there is a similar tool, from a company called, GitGuardian,

Speaker:

and It also has a free

Speaker:

tier.

Speaker:

The... But TruffleHog seems to be the one that's popping up a lot, and that

Speaker:

it's an open source tool, and you can run it across, and what it's gonna

Speaker:

do is it's going to use, a variety of techniques, look at using pattern

Speaker:

matching and also entropy detection.

Speaker:

basically, it's gonna look at your, your Git repository.

Speaker:

it's gonna look at all all sorts of stuff, looking for, hidden, stored,

Speaker:

credentials that could be, that could ultimately be your undoing, your

Speaker:

version of what happened here, right?

Speaker:

Because that's the problem, is most people find out about these

Speaker:

credentials when they've done them harm, and we wanna make sure that

Speaker:

we're doing that on a regular basis.

Speaker:

So what's our summary, Prasanna?

Speaker:

So I would say th so the summary I would say is don't believe the news

Speaker:

hype This was not really an AI issue.

Speaker:

make sure that you do not store your backups and your production together

Speaker:

you're testing your backups Follow the 3-2-1 rule

Speaker:

Yeah.

Speaker:

three, three two one one zero.

Speaker:

Okay 1-1-0 And then

Speaker:

make sure you are using a secrets manager and not storing credentials

Speaker:

in plain text files and granting access to only things that are needed

Speaker:

And if things beyond that are needed permissions beyond that are needed

Speaker:

it should have a very short timeframe

Speaker:

And you should run tools whatever it is in order to be able to check your environment

Speaker:

on an ongoing basis to make sure that people are following the processes and

Speaker:

using secrets managers and not storing these things outside of that system

Speaker:

Yeah, absolutely.

Speaker:

I think the only thing you missed at the very

Speaker:

beginning was not storing your production and development

Speaker:

at the same, on the same thing.

Speaker:

You had... you got

Speaker:

almost everything.

Speaker:

You said produc- you said backups on production.

Speaker:

You said ba- don't store them in the same place.

Speaker:

You didn't say don't put production and development on the same

Speaker:

environment.

Speaker:

Yeah,

Speaker:

course you had

Speaker:

to find some fault

Speaker:

Of course, it is my job.

Speaker:

I live,

Speaker:

Fine go talk to your French friend I don't wanna talk to you

Speaker:

to your French friend

Speaker:

By the way, you can see this sign right here.

Speaker:

I am very silently correcting your grammar.

Speaker:

that, this was a great story.

Speaker:

It's a great story, I love that it's a very sad story that had a good,

Speaker:

happy ending that we can learn a lot of... So no one was harmed in

Speaker:

the making of this film, but, but we can learn some valuable lessons from it.

Speaker:

and with that, go and do no harm.

Speaker:

All right, that is a wrap