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

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
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







