AI Liability & Vibe Coding: Security, Safeguards, and Best Practices for Founders Vibing with AI Code, Episode 5: Brendan & Baird Brendan: Hey, how's it going? Baird: You done. Brendan: Good. Good. Yeah, I have to say this, uh, AI stuff moves fast. I mean, I already knew it did, but I, I feel like glad that we focus on, you know, like only a small bit of it, a small subset of it. 'cause I read some of these newsletters and. Just the thought of having to put a newsletter together every day, let alone every week with all of the things that have happened. Like, it's, it's kinda a lot. Baird: It is. I, I That's what you got AI for though, right? Brendan: yeah. Right. Baird: AI to consume more news about ai. Brendan: Yep. Yeah. I mean, no joke, like you're, and I feel like I've heard someone talk about this even already, but it's getting to a point where you're gonna need AI to just summarize. All the articles that you want, or even podcasts, Baird: For sure. Brendan: Um, and that, that, honestly, that's kind of a, a good transition to, you know, at least something we wanna start with here, which is, uh. A podcast that Arvid call had on his Bootstrap Founder podcast, uh, last week. Uh, the title of it is Understanding AI Liability, Risks and Responsibilities for Founders. Um, the reason why it's a good transition or segue is that Arvid is working on a. Podcast, uh, was pod scan is the name of it. So my understanding from listening to his episodes is, you know, basically what it does is it transcribes every single podcast episode that he's ingesting, which he, I think is supposed to be everything. And it's not exactly what I described, but it's like another form of like, you know, adding search to all the podcasts, it's for AI or for your own purposes. Yeah, the, the liability stuff is really interesting. You know, he's been building this, um, I think, I think like over a year, if I remember right. I haven't, haven't been fully following his entire journey, but it, you know, he, he brought up a lot of good points and I don't wanna completely rehash everything that he talked about. 'cause I mean, he does a really good job of it. But there were some things for me that like, kind of hit home and I, I thought they'd be good places to at least start and, you know, get your experience as well. Um, and, and your thoughts? The biggest one for me, I think was just bringing up the fact that, you know, there, there's a couple things to this, but just even running your local dev environment having Claude, which we are both doing, or any LLM on it, you know, you, you gotta be careful what, what you allow it to do. I forget where I mentioned it. It might have been our last episode or might have been, uh, somewhere else, but I. It can get kind of annoying using that Claude command center that I've got because I have to continually say, yeah, you can do that, or you know, whatever. No or no. Most of the time I don't say no, Baird: Yep. Brendan: but it, you know, to AVID's point, it got me thinking like that's actually kind of a good thing because especially when you're writing the code, you know, for instance, a good example of why it's a good thing is if you just go to YOLO mode with any of these ais and. You know, maybe you are going to remigrate your database or maybe you're gonna start a new branch and so you're just gonna blow away your database and that seems innocent, right? Probably your local database. But you know, let's just say you've got your environment variables for production and you didn't specify and for whatever reason the the AI hallucinates or makes a decision that I'm gonna try and hit production Hopefully you have other safeguards in place that prevent that sort of thing from happening, but if you don't that's, that's a potential problem. I know that there's been issues with, uh, some people, I don't know who, I can't remember the specifics. and find it and link to it in the show notes, but, you know, people have nuked their production databases and environments Baird: I know Replit had that issue, it was like several months ago, but there was definitely a big article on rep having that issue at least once. And I mean, that's all it takes to Brendan: ironic being that they're an ai, Baird: Exactly. Yeah. Brendan: coding product, Baird: Yep. Brendan: Yeah. Baird: but it brings up a, a good thing too, and like, I don't want to derail it too far, but just touching on the fact that. From a lot of what I've seen, just based off of what you're talking about here, is environment variables are something that, you know, you and I as developers, we just, we understand envi environment variables pretty naturally at this point, and it's like you take it for granted, but Brendan: Right. Baird: the rise of founders, you know, the one person founder that's, you know, doing the whole company. If they don't have any technical experience and they don't have anybody that does, that's the type of hole where it's like, yeah, you can put this together real fast. 'cause the AI can do it. But I mean, the AI's not gonna necessarily tell you, Hey, use your local. Like, they might not even understand that there is a local environment option. You know, it's like everything's production. They don't understand those nuance, you know, pieces to the whole development experience. So it's definitely something I think, you know. If it's worth talking about our experience with it and, you know, I'll let you keep going, but I, I just wanted to kind of touch on that too, just 'cause that that's a huge blind spot. Brendan: Yeah, that, I mean, that's a really good point and I, I think it's okay. Jump in and say whatever else. 'cause I, excuse me, I, I, I think that's just kind of the biggest point I wanted to make is it's just that alone. Like I. Environment variables, to your point, are something that we both know about, but a lot of people don't that are doing a lot of coding now. there's gonna be so many people that, so many more people that get into it that don't know about it. Um, you know, that to, to me, the interesting part of what Arvid was talking about, that kind me want to talk about this is th this angle and he talks about a lot more and we'll link to it, like I said, and it's worth listening to for all of the different things that he talks about. he, he did a really good job of thinking of things that aren't just the obvious. Like, okay, I let AI write my code and it wrote bugs, or it left security holes, which is where my head has mostly been focused until now. But, you know, running a team of developers like I. I've been thinking like, how do I prevent people from even running YOLO mode or whatever you wanna call it, where you aren't checking and how are, how do I make sure my developers are being responsible, not just me, you know, it, it is a good point. What you brought up as well is that it's yet another one that like, this is a good example, just this one thing just things that people that are jumping in and using AI don't even think about because they've never had to think about it and. Hopefully people will learn to at least ask AI for some thoughts. And, you know, what are some resources I could look into that. Again, it's not gonna make you think about this, maybe out of the box. Baird: Yeah. Brendan: hopefully, hopefully we can put you onto this sort of Baird: Yeah. Brendan: a little bit ahead of that. And then you can ask more questions about these sorts of things from your AI or whoever else. but yeah, it, it's, uh. I don't wanna say it's scary, but it's definitely something to just kind of be aware of. Right. Um, Baird: Yeah, I mean, it, it puts, you know, you see so many of the articles of like, software developers are gonna be obsolete in the next three to six months, like continuously. And it's like some of it, but there's so much of it that is like this, where it's like, unless you've done it, you, you're missing like, yes, you can build an app really quickly, but that doesn't mean it's like. You always could. Like I have been prototyping for years and years and yeah, it was a little bit slower, but I could always build something that showed the functionality really quickly. But it wasn't production ready. It didn't have everything locked down, it didn't have all of the edge cases and just things that you need to understand done to be released. And I, I think that's just a piece that. And it's really the problem. And we've talked about this before and everybody talks about it a little bit, but most of where you're hearing this from is people that are selling you AI products. So of course they're gonna say, it's gonna solve all your problems. 'cause they need to figure out how to pay for the $1 trillion of, you know, energy that, that they require to even run the things. And so Brendan: Right. Baird: it, it's really, I think there's always that call out of. Be careful with all of this because there, there's a lot of pitfalls and you know, bringing up YOLO mode actually, and just like approving things made me think of Another thing that I've both experienced and heard a lot about is that I definitely agree. Like having those checks to be like I approve, I approve is good because it does at least give you those checkpoints of like. Run the database migration, run the, you know, re like, I, I almost got caught with that the other day where I was doing something simple and all of a sudden it's like, oh, let's do, you know, database reset. And I'm like, you know, you don't need to do that on this. And fortunately, like it didn't just automatically do it, but it brings up the kinda another warning of. There can be so many of those checks on like everything that it starts to be noise. It's like, it's like with notifications in general where it's like when you see too many of them, you just start not actually paying attention. You're just like, okay, click, click, click, click. You're good. And you might miss something. So it, there's, I don't know what the right balance is, but it's something that I definitely think people need to be careful of is like, don't give it too much control, but don't. Have too many notifications to make sure you can find a balance of like, what do you really need to pay attention to? Brendan: Yeah. Yeah, it can definitely be a challenge. I mean, the, the command center thing that we talked about last episode that I'm, I'm still using by the way. Um, know, one, one thing that. I've noticed with that one, and it, it comes right, or it goes right hand in hand with this, that there's certain commands that it will ask permission 'cause it's gotta run a script or whatever. And a lot of times, like I look at it the first time, I'll say yes, then it'll come back to me like a minute later and it'll like it's basically asking the Baird: Yeah. Brendan: only difference is it wants to run that script, but it's giving, it's like all the. The parameters of it is are different. So it's treating it as a completely new thing. so that's the thing to me, that's a little more annoying than the fact that I, I, I don't mind having to say yes from time to time. I think it's a Baird: Yeah. Brendan: where I find it annoying and I, I don't know, I haven't looked into this. Maybe there's a middle ground where I can just say. You know, this kind of thing. Don't worry about the parameters. Just like always say yes to this Baird: Yeah. Brendan: specific script, right? Because I already know what's in that script. Um, and may maybe you've got something to add Baird: Uh, I, I was just gonna say, Brendan: fix for me. Baird: I, I don't know if specifically, I just know that Claude Code recently, and we've talked about this a little bit too, like Claude Code's changed so much, so quickly that it's like, Brendan: Yeah. Baird: certain ways I almost think it's gotten worse because there's just so much. That they keep tweaking and like, I think it'll get better. So it's not like it, they've ruined it by any means, but that's one of the things that I noticed is that earlier iterations of Claude Code had the ability to say, you can run like Ls, whatever. So it's just listing directory, so who cares? So that's not a dangerous thing. So it lets you essentially just say, yes, you can run. LS anytime. So it didn't interfere where it had to like check the parameters every single time. And so I, there might be a way in your cloud config, 'cause I know that like they actually track every time you allow things to generalize that. So that's something we could look into and report back on is like, can you do like a wild card in there to say allow LS star or whatever. Um, but it, it is definitely something I've noticed as well where it's like. It gets really annoying when there's so much noise about things that are not in any way destructive. They're like literally tools for the AI to understand your code base, not tools to do anything to anything. So it's like, how can you fine tune that to be better? So it's like the noise is, I'm going to delete something. And I think that's like the, the big red flag is like. You should never be able to just be like, yeah, go delete things like that seems like, and again, I think this is a place where we should do some research and some, you know, have an opinion on how can we configure this? Like how could we actually put that in place? So I think that's a takeaway that we should have is, you know, let's talk about that and think about that. Brendan: Yeah. I, I agree. I, I like that. 'cause I, I mean, it's something that I would like to solve anyways. Baird: Yeah. Brendan: I don't, I don't have a good answer, but this, you know, again, this, this, um. Security stuff or just the liability stuff just made me think about it to more like basically a Baird: A week ago, Brendan: I listened to this episode, I was just like, this is really annoying. I would, I wish I could put it in YOLO mode. heard of Baird: heard of people that have done it, Brendan: At Baird: at least the people I about do it. They basically put Brendan: like a Baird: sandbox, Brendan: where it can't do too much damage. Now, Baird: they talking about. Brendan: talked about at the top about Baird: Local environment there. Brendan: or sorry, your, your Baird: Production environment. Brendan: potentially being in that sandbox and still being able to reach out and do damage. I mean, I think that is one takeaway is if, if you want to go the extra mile, and I know people are buying Mac Minis to run open claw for Baird: Yeah. Brendan: reason, you know, you essentially sandbox it and put it on a different machine, or heard of people putting it on like a different desktop on your Mac so that that desktop doesn't have admin rights. It can only do so many things, you know, but then you can essentially put it in YOLO mode there and let it run again. I think that's there's, there's more to consider than just. What, what part of your computer is it gonna hit? It could still be doing other things. And so that's something that I, I think we to keep in mind and think about going forward. Baird: Yeah, and I think a lot of it's process driven too. You know, like it, some of it has to be processed from the tool side, but you have like open claw, that's just somebody coming up with a project and throwing it out there and then getting mass adoption. So you don't have, I mean, it still goes back to liability, but that's like a weird one because being an open source project. Where does the liability fall? It's like, is it on the project? Is it you know, you or I who take it and then run with it? Like there's still some weird stuff there, especially with a, I mean, it's not like you couldn't have downloaded malicious software in the past and still had some of those things, but AI changes that dynamic pretty radically. But it actually, you know, on that front it brings up too, where. We're seeing more and more where like Google is locking down their APIs and stuff. I even saw that like Gmail isn't even accessible anymore through like open claw. And part of that is, you know, the safety front, where it's like, it's kind of being talked about as like, you know, Google philanthropic. They don't want to be essentially caught out with an issue where it's like somebody nukes their entire Gmail inbox with some of these tools. They want to kind of have control over that. So I, I think there's a lot of things here and you know, I think it's true with a lot of ai where it's like all this stuff's still being formed, you know, we're still early on. So it's like, how is this gonna shake out at like a, you know, more global level, but also what are the frameworks that people can put in place that's just like security best practices? Because when you think about it, like. Throughout software history, there's always security best practices, you know? So like, I don't think we're there yet with ai, but it's like definitely something that I think we need to get to. And I think again, it's like what are the global. Recommendations within, like at an organizational level, like what does that look like? Even down to, you know, you or I sitting there on the weekend working on something. Like what are the things you just need to keep in mind as like, just basic hygiene more than anything. And I think we're just, we're kind of in the wild west right now and, and I think the more we think about it, you know, today it'll help shape this in a way that's gonna be far less destructive. Brendan: Yeah, that, that's a good way to put it. Um, while, while we've been talking here, also just got me thinking about other things. have happened completely without AI in the past, this is making me think like, what is the, so for instance, what, what I'm thinking about is how, when GitHub became bigger, I guess, or I don't know exactly when it happened, but in the last 10 years or whatever, know, people would accidentally put their AWS uh, keys in their public Baird: Yeah. Brendan: And then of course people have bots. And of course now AI could easily find this Baird: Oh. Brendan: And this is a whole nother vector that like, you know, we haven't talked about yet with vibe coding that someone could accidentally be doing that because their AI's not thinking about it, they don't know about private repos, whatever. But to continue the thoughts anyways, not get derailed. You know, it's got me thinking, well what, what is the thing where AI. Can essentially run up a huge bill for you. And I guess that's the part I didn't finish there, is that people would get those keys and then they'd run up huge, like $10,000 bills on people then they'd be on the hook for it essentially. And I don't even remember how they all ended, but, but yeah, my point being like. should be thinking about that same type of thing. Like maybe it's not your ai, but maybe it's somebody else's AI that is hitting your service, or, you know, and Arvid talks about that a little bit too with just like rate limiting on your APIs if you've got 'em and stuff like that. Baird: Yep. Brendan: But that's not even the only thing I'm thinking about. It's just like what are the, the ways that an any ai, like an open claw or something. It, it may, I don't have a good example, but you know, that's where my head was kind of going, like, what is the vector an AI could essentially ring up a huge bill for you in some way? Not, I'm not even talking tokens Baird: Yeah. Brendan: you know, API calls to Claude or OpenAI or whatever, but just like, think that's something that I, I don't have a great answer for. Maybe you've got some thoughts on that. Baird: Yeah, I mean that, that's a tough one because, and this actually goes to something we were talking about a little bit before. This is like, I've seen CloudFlare now pushing for like they have a sandbox agent worker. Type deal where it's like, instead of calling tools, it's have agents write code that then reaches out to grab APIs directly versus through cps. And I think it sounds cool, and it sounds like it's like a huge token savings because they can be far more efficient with what you know they actually come back with and feedback to your a AI bot and all that type of stuff. But it also then makes you wonder like. Is that another vector where it's like, hey, give, give an AI unfettered access to write code and what's it gonna do? It's like, I mean, definitely rate limiting is a huge thing. I think it's also making sure all of your API routes are actually locked down. Because that's another big thing is like, you know, and this is an interesting thing that's been around kinda like you're talking about, is if you've got like a client side app. Very frequently you expose your API routes anyway just by making network requests in the app, which if somebody gets a hold of that they can relatively easily, you know, get at least access to start hitting it, which then kind of exposes it. And so it's like where do people need to understand, like service side rendering versus client side rendering. How do you do that? Like I know next JS and React 19. Even 18, like started pushing into React server components, which I think will help that once people truly adopt it fully. There's like a lot of legacy code, which is a problem and like Rails is pretty good about that as well. I mean, there's still gonna be some network traffic from the client side, but it's really been interesting to see from the next side of things. 'cause that's where I work in quite a bit up until recently. And I think skills will help this too, but. All the documentation that the LLMs had natively was like preser components. So it would always try to do it in a way where it's like everything's on the client side, it's calling client side. I've noticed within the last couple months it started to shift, so it is actually like server fetching data instead, which. A huge thing for trying to actually, I mean, there's a lot of performance benefits, but it also is the security aspect of if you're not exposing those APIs, I mean sure people can still sniff 'em out, but it makes it a lot harder to find those vectors of like, here's where we can try to get access into, here's what we can try to hack. You know, if they get a JWT, they can start hacking into it from that perspective. So there, there's a lot of. Again, nuance that if you're not a developer, if you're not, like most five coders probably don't even understand that there is a server side rendering versus a client side rendering, which changes the dynamic significantly. And it's like, sure, you know, LLM should keep up and do a better job of it, but it's still is hit or miss. Like, you know, even playing with windsurf. I see. Depending on the model I choose. I mean, this makes perfect sense, but it's like. Dumber the model, the worst results you're gonna get. Which, yeah, that, that seems very straightforward. But in a world where you're paying for tokens, of course some people are gonna be like, oh, I'll just choose the cheap model and run it. Brendan: Yep. Baird: And that's another piece too, that people just don't understand. Like the vast difference between, you know, Claude Opus and you know, ChatGPT or GPT. Five mini or nano or whatever. And so if you don't have that understanding of like, what can actually write good code, how can I pull my documentation in, all that type of stuff, you are just hoping that this is doing all the security stuff for you and thinking about all the things that you don't even know about. You know, it's, it's like. Brendan: Right. Baird: What is the, is it Dunning Kruger or whatever it is where it's like you essentially have to be smart enough to know what you don't know, to know what you don't know, or know that you don't know it. And so it's like this conundrum of like, yeah, it makes it easier, but it also makes it really easy to kind of screw yourself if, if you don't learn in a safe way. Brendan: Right. Yep. Yeah, I mean, and, and there's so many more things we could cover about this and know, we're, we're not gonna cover every single bit of it, but what, what would be your advice to someone who is vibe coding, who has never done professional development or even, you know, any development without an AI in the mix? Like, what, what are your thoughts on what people can do? What, what are some takeaways we could give people so that. Again, we're, we're not gonna be able to list everything right now. I mean, Arvid had a ton of things and he doesn't even cover everything. Baird: Yeah. Brendan: you know, it feels like there's, there's probably a couple things that we could give people to do, and that's a good starting point. Then they could learn from there maybe. Yeah. Baird: I mean, honestly, probably where I would start is like if you don't, like, if you're a vibe coder or somebody who's never programmed before, which is totally cool, like experiment, like dive in, that's awesome, but you've got AI sitting right there. Just ask it to fill you in on what you need to know. Before you start generating stuff, just be like, what are the gotchas of being a programmer? Like what do I need to be aware of from a security perspective? From just like a, you know, basic code hygiene perspective. Not that you need to like learn all of it, but it could even be as easy as like, have the ai, like go to Claude, go to chat pt and say like, generate a checklist of all the things I need to think about. When I'm building, you know, a website, an app, whatever it is. And that kinda gives you the blueprint for just things that you need to be aware. Like that's not gonna be all of it either. I think it's really like, just be open to learning, you know, not feeling like the AI is gonna solve all your problems for you. 'cause it's not, it's gonna cause more problems sometimes than it's gonna fix for you. But start there because if you're already, you know, five coding, you're already into ai. So use it as a resource that's gonna help you at least point you in the right direction. How about you? Brendan: Yeah, no, that, that's totally good advice and I think that that's a great place to start. Um, you know, something that I. Always have been trying to do. And I think is also a good thing to add in if you aren't doing this already, is, you know, you've done what you described and have talked to the AI about certain things, security wise, but also I would ask, know, make sure you're asking, you know, what's best practices and I'm sure it'll tell you things like pull requests and get branches and all that stuff. that would open up to, to my suggestion, which would be, just push directly to production. Don't just, you know. Baird: Yep. Brendan: You would wanna learn branches and Baird: Yep. Brendan: opening pull requests Even if you don't get so far as to open a pull request, having a different AI bot than the one that you built the code with, Baird: Yep. Brendan: a two different things. It could all be in one code or all one call, but a code review and do a security review and just let it point out things that way too, because then it's specifically looking at your code. And if you haven't done it yet, say, let's say you're in the middle of an app that maybe you're already live and you don't know any of this stuff like. You could still do it right now, you could tell it, Hey, do a security audit on my entire app. then once you've done that first audit, you might find some things to work on. you're lucky and you don't. But after that, then going forward you can just simply say, you know what I'd said a minute ago? Just have when you're, when you think you're feature, complete on whatever you're gonna push before you Baird: Yep. Brendan: to main, just do this, this code review. And I, I know that Claude. know about Codex or OpenAI, but they actually, I do. I do know that Codex has its own kind of code review thing. Baird: Yep. Brendan: it's pretty good. Um, Claude also has a built-in one. I don't remember if they have built-in security things, but I know some of these other harnesses out there, Baird: Yeah. Brendan: these security audits, Baird: Well between skills and plugins too, there's a lot of resources there that you can tap into. Brendan: Right, right. So I think both of those are good things. You Baird: Yeah. Brendan: what you said, just talk to the ai, ask questions about security. know, uh, just work workflows and processes around code and development. then, yeah, make sure you're doing code reviews, even if it's just an ai, a separate ai, don't, don't, don't make it the same one that you wrote the code with, Baird: Yeah. Brendan: doesn't have all that context, Baird: And to that point too, I found it pretty interesting to actually have, like I'll have Claude Code do one pass, and then I'll actually have Codex go in and check the work. And I find that they'll catch things that the other one doesn't. And I'm not saying you have to go pay for, you know, all of the different code tools, but it's not that difficult Brendan: away with it on the free version though Baird: for sure. Brendan: Like, know, the reviewer could be the free version of Codex Baird: Yeah. Brendan: and you pay for Claude Code or vice Baird: For, for sure. And there's a lot of ways that you could slice that, but it is, uh, you know. Just having multiple checks, you know, not just being like, okay, I generated some code, I'm good to go. It's like always be skeptical, you know? 'cause like even after I've done multiple versions of something and iterations on something and it seems like I've got all, everything covered, it's like I go and test and there's another thing that pops up. And so you just always have to be vigilant and yeah, I mean, to your point, like having a pull request. Check, you know, like a review of whatever you're pushing out and then a security review that you run. Pretty much anytime you make any, you know, significant code, change it. It's definitely something that makes sense. Brendan: Yeah. Cool. All right. Um, well. I think that's probably a good place to wrap up for, for this topic and everything. Um, thing that I just thought I'd bring up is, you know, we are working on, uh, having a newsletter. I think we're hopefully gonna have a, the first one come out before this episode airs, but we haven't announced it yet. So I just thought we could add this here. yeah. Is there anything else you wanna call out before we, uh, jump off? Baird: Kind of covered everything for this. Brendan: I. right. Cool. thanks for watching and we'll see you next time.