March 19, 2026

Episode 166: Rez0’s Top Claude Skill Secrets

Episode 166: Rez0’s Top Claude Skill Secrets
Critical Thinking - Bug Bounty Podcast
Episode 166: Rez0’s Top Claude Skill Secrets
Apple Podcasts podcast player badge
Spotify podcast player badge
Castro podcast player badge
RSS Feed podcast player badge
YouTube podcast player badge
Apple Podcasts podcast player iconSpotify podcast player iconCastro podcast player iconRSS Feed podcast player iconYouTube podcast player icon

Episode 166: In this episode of Critical Thinking - Bug Bounty Podcast we talk about Rez0’s Claude Skill Secrets, when AI Generated reports fall apart, and agents vs filters.

Follow us on twitter at: https://x.com/ctbbpodcast

Got any ideas and suggestions? Feel free to send us any feedback here: info@criticalthinkingpodcast.io

Shoutout to YTCracker for the awesome intro music!

====== Links ======

Follow your hosts Rhynorater, rez0 and gr3pme on X:

https://x.com/Rhynorater

https://x.com/rez0__

https://x.com/gr3pme

Critical Research Lab:

https://lab.ctbb.show/

====== Ways to Support CTBBPodcast ======

Hop on the CTBB Discord at https://ctbb.show/discord!

We also do Discord subs at $25, $10, and $5 - premium subscribers get access to private masterclasses, exploits, tools, scripts, un-redacted bug reports, etc.

You can also find some hacker swag at https://ctbb.show/merch!

Today’s Sponsor: Adobe

====== This Week in Bug Bounty ======

Intigriti launched their ambassadors program. https://www.intigriti.com/ambassador

Adobe will be at Hack The Bay

https://www.hackthebay.org/

Bug Bounty Maturity Framework

https://bugbountymaturity.com/

====== Resources ======

h1-brain

https://github.com/PatrikFehrenbach/h1-brain

caido skills

http://github.com/caido/skills

Tweet from Karpathy

https://x.com/karpathy/status/2031767720933634100?s=20

Find every inefficiency in your Claude workflow with one prompt

https://x.com/shannholmberg/status/2030605364421595468

====== Timestamps ======

(00:00:00) Introduction

(00:08:28) Claude skills

(00:30:00) How AI Generated reports fall apart

(00:38:44) Orchestration

(00:49:10) Agents vs Folders

Title: Transcript - Thu, 19 Mar 2026 13:50:41 GMT
Date: Thu, 19 Mar 2026 13:50:41 GMT, Duration: [00:53:01.73]
[00:00:00.92] - Justin Gardner
But as you start talking about these things, I just sit here and I start churning, you know, and my brain's like, this is what you're going to do right after you get off this podcast

[00:00:33.89] - Justin Gardner
Some of the most fun I've had this year hacking already was with you guys in the CTBB Adobe hackalong that we did a couple weeks ago, and the results were great. We found 4 figures worth of bugs in just 2 hours, and I just want to shout out Adobe for being such an amazing program, for sponsoring the podcast, for staying involved in the bug bounty community. Um, and I just wanted to say, if you guys want to check out a new program The Adobe program is awesome. They've got scope for days, guys. They've got binaries, they've got open source projects, they've got enterprise products, they've got web apps, they got wildcards, they got mobile apps, anything you would want to hack on, the freaking Adobe program has it. The bounties are competitive. And I mean, just look at the, um, look at the thanks tab on HackerOne, right? And filter for this year. There's already, uh, somebody with 620 reputation, uh, from Adobe, right? So this guy's out here like, don't tell them about Adobe. I'm killing it. I don't want anybody to know about it. Um, so yeah, it's a program ripe for opportunity, especially in the area of AI hacking, cause they're shipping a lot of AI-related code right now and they really value AI submissions coming through the bug bounty program. So if you want a new program to hack on, I recommend Adobe. They're great. What's up hackers. We got the This Week in Bug Bounty segment real quick. First item on the docket is Intigriti has launched their ambassador program. So if you're deep in the, uh, Intigriti ecosystem and you want to take that a step further, I have it firsthand talking to the head of community over at Integriti that they're really trying to bump up the amount of community engagement and involvement that they have this upcoming year. So they're really going to be supporting the Integriti ambassadors a lot. So you can find out how to apply for that at integriti.com/ambassadors. You know, it's an annual thing. They'll give you support on engaging with the Integriti community wherever you're at in various spots around the world. And give you access to resources that you'll need to drive that community. So really good opportunity. I definitely think you guys should take advantage of it if you're in the Integriti ecosystem. All right. Next up is Adobe and Hack the Bay. The Adobe team wanted us to let you know that they're going to be at Hack the Bay this year. That is March 23rd, I want to say. Yep. 11:00 to 5:00 PM in San Francisco. So if you're around and you're in the bug bounty world and you're going to Hack the Bay, your new mission is to go find the Adobe team and say hi. Tell them you heard on the CTBB podcast to come and say hi. That's a great way to support us and a great way to engage with a staple program in the community, Adobe. So if you're going to be at Hack the Bay, definitely go by and say hi to them. They'd love to meet you. And that's a great way to support the pod. Last but not least, we have another shout out for the Bug Bounty Maturity Framework. For any of you program managers that are listening, if you're looking to um, understand how your bug bounty program is on a maturity scale from emerging to leading and what you need to do to take it to the next level with your program from a hacker's perspective, but also just from a well-run program perspective, then Bug Bounty Maturity Framework is an awesome tool that you guys can use, um, to make sure your hackers are getting the best experience and you're getting the most value out of your bug bounty program. I know the guy running it, Steve, he used to work with us at the Pod. He's amazing and knows exactly what he's doing. He's like one of the best people to run this in the community that I can even possibly think of. So Shout out to Steve. All right, that's it for the TWIB. Let's hit the show. All right, look, dude, here's the deal. Last week on the pod, you told me that I need to be actively training Claude and getting it to—

[00:04:09.40] - Joseph Thacker
No, no, you're triggering me. No, stop now already. I hate it when people use the word training wrong.

[00:04:14.06] - Justin Gardner
Okay.

[00:04:14.77] - Joseph Thacker
All right. No, I know, and I know you know, but listen, every normie out there, and I'm not trying to be offensive or anything, but people who are just not into it—

[00:04:22.50] - Justin Gardner
Not fine-tuning the model.

[00:04:23.68] - Joseph Thacker
I know. Yeah, people say training and I'm like, you know, they're like, oh, I trained my ChatGPT to do this. Like, you did no training. You gave it some context, you gave it a prompt, you didn't train anything.

[00:04:33.23] - Justin Gardner
Fair, fair. Let me rephrase. You guide my Claude.

[00:04:37.10] - Joseph Thacker
Yes.

[00:04:37.57] - Justin Gardner
Inform my Claude. There you go. Equip my Claude with what I wanted to do. Sure. And I played around with it a little bit more and, you know, you've been tweeting up a storm about Claude finding stuff and I have seen these findings firsthand. And they're legit. Um, and yeah, we're just kind of at a point where you need to be using Claude to hack. And that's why we, you know, we push Kaido and you help them build the Claude skill for, for, um, for Kaido. Um, so what I wanna do today is I wanna talk a little bit more about skills, how to understand skills. And I know, I, I know I could see your face right now. I know that you are a little uncomfortable talking about this cuz this is kind of the secret sauce. The last secret sauce that there is.

[00:05:22.37] - Joseph Thacker
Yeah, well, I think I'm hesitant on multiple fronts. One is I already know there is some hesitancy around talking about AI on the pod too much. And BuzzFactor himself has already been like, I'm so tired. Not about the pod, but just about like the community and X and everything. And I know that tons of people we know are like muting lots of words about Cloud Code and agents and everything else on X. And, you know, again, I'll say what we've said 100 times. It's like, This just is important enough for us to tell you. Yeah. You know, it's kind of like when your parents keep telling you to pick up your room, it's like, well, you're going to have to do it when you get older, right? It's like, exactly. We are going to have to use this.

[00:05:56.56] - Justin Gardner
What they want. We're here to give the people what they need, you know?

[00:05:59.66] - Joseph Thacker
And that is, that is one of the truest statements Justin has ever said about this podcast. He lives and dies by that mantra. So, so yeah, I think it's hard too, man.

[00:06:08.75] - Justin Gardner
I mean, we, we, we try all the time. There is the pull of like, oh wow, we'd get so many more views, so much more distribution if we would just talk about X, Y, Z. Yeah, we don't do it, guys. We don't freaking do it.

[00:06:20.37] - Joseph Thacker
And Justin, how many people have told you to do more beginner content?

[00:06:23.72] - Justin Gardner
Yeah, yeah, many, many, many times, you know. And, and, uh, you know, I, I won't do it. So anyway, this is what you guys need, even if it's not what you want.

[00:06:32.62] - Joseph Thacker
Oh, I didn't answer your question. Sorry to cut you off. You said I'm hesitant to talk about it, and yes, I am. Honestly, Justin, I would not have talked about this sauce, like giving away the secret sauce for so much of this, because I do think it's like, it's, it's an edge, it's leverage. And because I'm willing to scale to more Cloud Mac subscriptions to find more bugs across all bug bounty programs, when we talk about this, it is giving stuff away. But, you know, we've struck— we've wrestled with this with the podcast for the last, you know, 2 or 3 years with the same stuff, right? You're often giving away techniques on here, and so do our guests. And so I think it's like just a part of what we do. And so yeah, we'll talk about it.

[00:07:10.44] - Justin Gardner
It is. So we'll see what we can do and, and we'll see how far we can get today. Uh, and I, I just, I do wanna like give you an, a little bit of an out here though. Like, yeah, if I'm asking things that you really think are gonna hack up the secret sauce for you, you know, like AI is a little bit different than talking about techniques. Cause one of the things we've built this pod about on is like coming on here and talking about stuff pretty liberally. And then just betting that, you know, the community doesn't have the, either the grit or the, the patience or, you know, whatever to actually implement it. Right. Uh, and that's why we don't lose out on our bounties as much. We've been burned by that many times. Uh, and it turns out, you know, a lot of you guys, the people that are the high-level hackers that are listening will take the techniques and go do it. Right. And that's exactly, you know, what we're doing. We're exchanging. These concepts for your trust in your ears, right? That being said, AI is a little bit different because if you just do the thing, AI, you know, and tell it to do the thing, then AI will just do it, right? You don't have to need any like grit or endurance, right? So I don't know, man. It's— I will give you an out if you want to not say some of the stuff. You feel free to like just shush me along a little bit. Okay.

[00:08:24.58] - Joseph Thacker
Sure. Yep. Sounds good.

[00:08:27.25] - Justin Gardner
All right. So first up, man, let's get into this. This is going to be a nuts and bolts episode. I've got a, you know, rubber meets the road question for you a little bit here. So I don't use a ton of Cloud Skills. The only Cloud Skill I really use right now is the Kaido Mode Cloud Skill. I kind of feel like Cloud Skills are limiting Claude a little bit. Like if I tell it, hey, here's my super cool thing to like, you know, grab all the lazy loaded JS files or whatever, right? From the JS that I gave you. And then it's like a little off, then Claude's, you know, Claude's gonna try to use the skill and it's like, oh, it doesn't work, you know, or whatever. And then it's gonna go and get distracted or whatever. Whereas I feel like Claude is smart enough where it's like, I tell it to go download all the lazy loaded files. It'll write up a little script in like 30 seconds to pull it down and it's perfectly tailored to the situation. Yeah. So are we sort of hampering our Claude skills or our Claude when we are giving it Claude skills versus just telling it to do the thing? Or are we actually enabling them?

[00:09:24.84] - Joseph Thacker
Yeah, I think that it's just, it really depends on what you're asking it to do, right? Like maybe lazy or like loading lazy loaded JavaScript files is something that it's like really good at, right? But you do need skills for things it's not good at, like Kaido. Like they're like, you, why do, why don't you just get rid of your Kaido skill? It's like if you ask it to start in with Kaido, it's going to have to go into some deep research. If it can't find the docs online, it might legitimately not be able to figure it out. But if there's really good docs online, it would go find the docs, it would download, you know, it would figure out what the SDK is, it would go look at the GitHub open source code and it would be able to figure it out. But now you've wasted like, you know, half of your 5-hour limit for it figuring out how to use Kaido. And so I think that, you know, I've kind of categorized when it's useful to have skills into a couple buckets. The one that we're talking about right now is basically things it doesn't know. And that could be because you have a custom setup. Like let's say you have a server and it runs at a certain IP address and you have a certain user on there and you want things to be done a certain way. That's in your head. There's no way for Claude to figure it out. And so you probably need a skill or to update your ClaudeMD to say like, hey, when you're using my VPS, here's the password or here's how you connect to it or here's where I save things. Like, you know, you basically need to give Claude code information it doesn't have. And I think that also applies to any kind of like groundbreaking techniques. You know, these models are trained on trillions of tokens and your, uh, specific technique, especially if you got it from like last year's DEF CON talk or something that you're using to exploit some sort of like, you know, nested GraphQL mutation. GraphQL is maybe a good— a bad example because Cloud Code is so good at GraphQL. But you know, there are definitely things that it's not as good at or that it just doesn't know because it's not been in the training data. It may very well be able to figure it out given enough time and effort, but why not just give it like a head start?

[00:11:14.87] - Justin Gardner
Okay, you know, so custom But see, but then there's also the inverse of that, man. I feel like, like, just to challenge you there a little bit. Yeah, I mean, that's pretty much the exact opposite of what I just said, which is, you know, if we give it skills that, that, that are not applicable to all of the situations, yeah, then, you know, we're— the whole technological advance that we have here is that it's smart. Yeah, you know, like, I feel like giving it skills and is like, just why didn't we just code it? You know? Right? Am I wrong there? Or is it like, is the beauty of AI that it can actually go figure out the more nuanced situation without us having to give it instructions on how to deal with that?

[00:11:56.67] - Joseph Thacker
I mean, I think it's definitely both. Like it has a lot of information baked in. You're not wrong about that. But then it clearly has limitations, right? Like using Kaido mode. And then it's smart enough to figure out some stuff, but it's not smart enough to figure out everything. I think that your concern can mostly be mitigated with like just a CloudMD line, like one line that says like, hey, when I ask you to do something, like invoke the skill to do it because sometimes I have certain ways I want things to be done. But if the skill isn't comprehensive enough or if it fails or if you try with it and it doesn't work, don't stop there. Use your own exploration and your own creativity to keep going. You know, try harder, put the OSCP motto straight in your thing. You know, I have POC or GTFO and try harder both in my CloudMD 'cause it's like, I'm not like, you can't just say, oh, this looks like it might be vulnerable. That's not valuable to me. I want you to actually have a full POC that I can completely validate end to end to make sure this is an actual bug. And so I think that the limitation is mostly mitigated by what you're talking about. But there have been a lot of studies that have shown that poorly written AgentMD or ClaudeMD files or poorly written skills actually reduce the quality. And so I do think people should be really careful in particular about how they're like, what they're adding and how they're adding it. Yeah.

[00:13:11.37] - Justin Gardner
Yeah. I agree. It, it, it is a little tricky though, man, cuz I do find myself like, I definitely just gave Claude a list of like things I wanted to brute force the other day and said like, hey, you know, brute force these in, in Kaido.

[00:13:23.09] - Joseph Thacker
Yeah.

[00:13:23.54] - Justin Gardner
You know, and it like made a bunch of replay sessions or whatever. It didn't actually use Automate. I don't know, maybe I, I told it to use replay sessions or whatever and I was like, dang, I could have just like put this straight into Automate myself. Like, what am I doing? I'm getting lazy as heck. Yeah. So it is a little tricky. So building off of what you just said, though, I wanted to describe something that I saw in the Kaido Mode skill that you and Kaido built and ask your opinion on this as a framework for Kaido skills. So what will happen in the Kaido Mode skill is if it can do something with the Kaido skill documentation that you guys have built, and stuff like that, it will invoke your, your binaries or your, your scripts or whatever that you have in place. And it will do it with that, right? If it cannot do that, it will, um, use the actual client JS library that the.ts files that run kind of this kind of skill, um, is built off of. And it will invoke those directly to accomplish its goal. Right. And it will sometimes even do that if it, if it's a more complicated action, cause it'll be like, I'll just write out this script and chain multiple actions together. Right. Yeah. Um, and then if it cannot get it with that, it will then try to use GraphQL to control Kaido directly.

[00:14:41.62] - Joseph Thacker
Yeah.

[00:14:41.88] - Justin Gardner
And I think that sort of fallback nature, I don't know if you guys, you coded this directly into the Kaido skill itself, but I think that sort of fallback iteration nature of building a skill, it works really well because you give it multiple tiers of flexibility and control while also abstracting away the tasks that you know are going to be the same every single time. Does that make sense?

[00:15:01.54] - Joseph Thacker
Yeah, I didn't think there was going to be anything I didn't want to mention, but there is something that I'm not willing to mention, but I have implemented something very similar for tough problems in bug bounty, um, where basically it's exactly that. Like, I want you to try to solve the problem with this method, but if it doesn't work for some reason, then try this method, and if that doesn't work, then try this one. Um, and I think you're right, that gives it a lot of flexibility and a lot of, um, like a much higher odds of success. And no, I didn't build that into the skill. It's really funny that your Claude code did that. Um, yeah, I wonder if that's a Claude—

[00:15:33.98] - Justin Gardner
I wonder if that's a Claude code, like, concept that Anthropic built into Claude code. Like, hey, you know, if the skill doesn't work, look at the primitives that built the skill.

[00:15:44.09] - Joseph Thacker
Yeah.

[00:15:44.39] - Justin Gardner
And then try to use those primitives to accomplish the same goal. Or not. I don't know.

[00:15:48.64] - Joseph Thacker
I think it's probably just the fine-tuning on lots of data, especially lots of coding things, where it tried to run something on the command line and it failed. And normally, you know, a year ago or whatever, the models were like fine-tuned to basically just like stop at that point because like all the examples were like one-offs. But where people have been using Claude Code over the course of the last year, they probably have lots of training data for examples of it like failing, trying again, failing, trying again. That being like the ideal training set because that's what we want as users. We just want it to work. Like stop getting the error and make it work.

[00:16:17.12] - Justin Gardner
Yeah. Yeah. Just force it. All right. So given that, I, I understand that, that makes sense. We're gonna create skills and we are going to you know, give it sort of this fallback architecture, which is good. What things do I create skills for is, is kind of like my next question where I, where I go, because a lot of this is just like looking at, at the JS files, looking at the HTTP request and like trying things, which is great. You know, and the Kynomo skill is phenomenal, by the way. It really is super helpful for it to have it like, you know, sending stuff, uh, through Replay and being able to have introspection to it. But you know, what, what areas should we be building skills in? Do you have any thoughts on that?

[00:16:57.58] - Joseph Thacker
I think when there's something very flexible like making requests and you have a way you want it to make requests, that's a great place for a skill, right? Like it can use curl, it can use JavaScript, it can use Python, it can use Kaido, it can use wget, like it can use Chrome DevTools, it can use Playwright. I think in general, anytime there is a way to do— like there's many, many ways to do something and you want it to do a specific way. It's a great time to use a skill, right? Like you want it to use Kaido so you can cohack with it, so you can see the request so that you have history for screenshots, for POCs. I want it to do that for the same reason, right? There are probably lots of things like that. Like if it's going to SSH or SCP things to a certain place, it's like, oh, it needs to know what server to do that to. It needs to know where to save that thing. Another great example would be like, where do you want it to take notes? Do you want it to save at the target level or at the subdomain level? Do you want it to save off leads and findings or just, Gadgets, you know, like I think these sort of things where the, the, the total output space, especially across multiple sessions. So actually, that's, that's another great example. Let's say, Justin, that you are going to be hacking with Cloud Code a lot over the next week. Do you want each Cloud Code instance to save files in different folder structures? It doesn't make any sense, right? It's going to confuse you and your desk is going to— or your desktop or like, you know, your file system is going to be a total mess. It gets messy, man. Well, yeah, but it doesn't have to be messy. You actually can just use a skill or a CloudMD, like to actually, you know, a line in your CloudMD or a paragraph in there or whatever to steer it to behave in the way you want it to. That's not restricting it. Like telling it where to save it isn't going to degrade the quality, right? Telling it how to make those requests will hopefully not degrade the quality. Though I do think it's like much better at like bun TS stuff or like, you know.

[00:18:40.48] - Justin Gardner
Oh yeah, I think so.

[00:18:41.59] - Joseph Thacker
Yeah. It's like really, really good.

[00:18:43.51] - Justin Gardner
'cause they bought Bun, right? You know, it's like, yeah, clearly like they're, you know, smoking their own supply over there with that, I think.

[00:18:51.71] - Joseph Thacker
Well, what's kind of crazy is that whatever they have Cloud Code do is probably gonna be by default, like if you don't steer it, is probably what's going to dominate the market because everyone's using it and everyone's gonna continue to use it. And so they kind of have like really large influence over that. But anyways, back to your question. So I think that that's one way, right? It's like when the total problem space is large, Or the total solution space is large and you want it to find a solution in a certain way, it's a good time to implement a skill or to update your CloudMD. The other time is when it's knowledge that like secret knowledge, you know, like I don't know hidden techniques that you have that I don't, right? Or I, or, you know, there are probably Google Gadgets that are in my files that are not in your files. And so like bundling those into a skill makes sense. It's not on the internet. It's not, in— it's not in, you know, the public domain where you can go find it. So if it needs this, this gadget, this oracle for ID to username or something for some random bug bounty program, it needs to either be in the notes so it gets out of the context whenever it's hacking that program, or it needs to be on a skill, right? And, and, you know, that's not going to limit it. That's going to make it way better because it has access to more tools, right? Um, I guess that's another good example. Skills are a great like there are things that AI could sign up for, but it's really going to struggle to sign up for. So another place for an example, another place for a skill to be implemented would be like, let's say you want it to use a specific piece of software that requires you going through enterprise sales to buy. Like, by not having a skill there, it just literally can't use that product. But if you've signed up, you've got creds, you've got API token, and you make a skill and you put the token and how to call it in the skill, now it can use that. So like it's literally like a skill you're giving it that it could not have had otherwise.

[00:20:35.09] - Justin Gardner
Yeah, that, that makes sense. That, that I don't struggle with at all. Like if I need to give it access to, you know, Kaido or, you know, whatever enterprise thing that I needed to have access to, then that makes total sense for a skill. What I'm kind of struggling with from like conceptual perspective from as an offensive security researcher is stuff like, for example, I thought about, well, Totally. You could do that for sure. But, but I'm thinking like, do I create something like a frontend analysis skill where I, where I like outline my methodology for doing frontend analysis, you know, and, and doing client-side hacking essentially, right? Mapping out the attack surface, understanding, you know, everything about it. Or do I, and do I give it tools to do that? Right? Like, hey, here's. You know, use Prettier for beautification, use this for source map enumeration, you know, that sort of thing. And will giving it that be helpful? Or am I just turning it into me and I'm losing the magic of like, wow, it found something that, you know, like, for example, when I talked about the shift, you know, the shift vulnerability that it found, I told it, hey, try some JWT attacks is what I told it on this target, right? And then it just went through and did all the JWT attacks. Right, you know, that it knew and it found a bug and it was like a $15K crit, you know.

[00:21:54.69] - Joseph Thacker
So, so like, I, I think there are two things here. The, the first thing is—

[00:21:58.60] - Justin Gardner
you already answered this question, but yeah.

[00:22:00.16] - Joseph Thacker
No, no, no, no, no, actually, no, all the stuff you said triggered completely new thoughts to me. Okay, the first one is that tokens are cheap for right now, right? They're subsidized. So you always should just do both if you have the opportunity. I think it's amazing. And I think that if you really wanted to know, you should compare it and improve your workflow. So I think personally you should actually hardcode your frontend analysis because it gives you more determinism. So you know that it's not going to miss things that you wouldn't have missed, right? Like, like, because when you just let it explore by itself, it might not have actually loaded source maps, it might not have been able to find them. And unless you're literally watching it the whole time, which you're clearly not, you're doing other things, you're hacking other stuff, when it says it's done, you're just gonna be like, oh, okay, I guess it didn't find that anything. It's like, no, no, no, actually it missed this entire workflow that I normally do. And so I think especially, you know, if you want to be thorough, you should outline your methodology and make it follow that. But then I think you should do a completely separate run that's like— that has none of that, that does its own thing. And then if you have the opportunity, compare them and be like, hey, was there anything that this like free-roaming agent found that our hard-coded workflow didn't find? If so, how did it do that? And add that to the workflow. Like, what techniques did it use that we don't— that we didn't like previously hard-code into the workflow?

[00:23:11.65] - Justin Gardner
That's a great point. I think, I think that's some very helpful feedback to give. And so let's get into the nuts and bolts of that because I think what's overwhelming for everybody right now is this is like, you know, such a new world, you know, and, and getting defined pathways for like improvement and implementation of AI is really helpful. So let's say, let's give an example. Um, I've got this website, site.com, that I want to hack on. So I spit up, you know, maybe I've got my Team Oxypain, I've got 2 windows side by side. One, I like clone down all of my own, you know, skills and, and agent definitions and stuff like that into that, that Cloud Code instance. And I say, boom, hacksite.com, here's the cookies, here's whatever you need. Here's like my, my, you know, starter pack or whatever. And then the other, in the other window, I have it. I say, just, hey, hacksite.com, you know, very few skills, very few resources. And then do I— I mean, do you think I should ask it for like a definitive output? Should I say like, okay, both of you guys output a report that contains everything that you found that you think might be of interest and then compare the two and cross-correlate?

[00:24:22.26] - Joseph Thacker
Or yeah, personally, if I was going to do that, I would say, you know, once I feel like both are kind of done, I would just say— or, or actually maybe while they're running because it might have to compact most multiple times. So I would, I would tell both when, when you, when starting them. And mine kind of do this naturally because of my ClaudeMD, but keep notes on what you're you're doing and what you tried and what was successful and what wasn't. And then, and then at the end, I would say like, hey, give me a list of all the things you tried and, you know, the workflow you went through and all your findings, um, to, to just one of them. It doesn't matter which one. And then just paste that into the other and be like, hey, I had another agent work, this is what it did, compare it to what you did and tell me about any gaps. Like, what did it find you didn't? What did you find it didn't? And what did you try that it didn't? Vice versa. And then when, you know, that after after it responds, it might be insightful, it might not. If it's insightful, say like, oh, okay, perfect. Now add that to our workflow so you don't miss that next time.

[00:25:12.93] - Justin Gardner
That's really nice because especially with the agent you're asking it of, it's got its context.

[00:25:19.76] - Joseph Thacker
Exactly.

[00:25:20.10] - Justin Gardner
So it's like, oh, I did try that, but then I like cut it last minute. And yeah, but if you added, asked third agent to like, you know, I almost guessed that from both of them.

[00:25:29.86] - Joseph Thacker
I almost said take, read the output of both, but no, it's lossy. Like you definitely want to do it with the context.

[00:25:34.70] - Justin Gardner
That's interesting. I bet you could also improve it even further though by saying third agent, look at the context files for both of the other agents and see what it tried and compare that to the outputs of each and compare and contrast.

[00:25:50.55] - Joseph Thacker
I'm very often using this skill that I made called session search. It's not a big deal, but it's just like a small little CLI wrapper around like a fast ripgrep across all of my session logs. So I think I'm up to like 4 gigabytes worth of session logs in Cloud Code just on my local laptop. Not including the stuff that runs in the cloud. And I'll often say like, hey, I was chatting with you about YAML parsers yesterday, or like a few, a few days ago, and I don't know where the session is. Can you go find that? Or another thing I've used it for, HackerOne's API token only lets you have one at a time. And a lot of times I'll like lose my token or don't know where it's at. I should just put it in 1Password, but I'll be like, hey, grep for bb scope and grab the token that we used in that command. I need to use it for something else, you know, or what have you.

[00:26:33.56] - Justin Gardner
Do you give it access to 1Password? No. Yeah, okay, because I know some people that do that for like, uh, you know, OpenClaw or whatever, and I'm like, oh my gosh, it doesn't, you know, like, don't do that.

[00:26:46.85] - Joseph Thacker
Well, I mean, I do think I'm still running pretty risky. Like, I used Angel to skip permissions on everything, and I have it running on my local laptop with access to everything, but I don't give it access to my email or to 1Password, so I'm at least a little protected.

[00:27:00.01] - Justin Gardner
That's good.

[00:27:00.89] - Joseph Thacker
That's good.

[00:27:02.34] - Justin Gardner
Okay, so yes to my methodology for the purpose of determinism. Determinism and confidence that it's doing what I want it to do. Yes. But also—

[00:27:15.09] - Joseph Thacker
but tell it not to limit itself. Yeah, I would say just even put it in your skill, like don't limit yourself to this workflow. If you find something interesting, go down that rabbit hole and then just come back to the workflow. Or after we're done, if you run through my whole workflow and there's stuff that you thought was cool or like that we should have checked that we didn't, add it back to this skill and keep going.

[00:27:31.93] - Justin Gardner
Freaking crazy that we're saying that you thought was cool to a computer. Like, that's insane, bro.

[00:27:37.88] - Joseph Thacker
Yeah, it is.

[00:27:38.83] - Justin Gardner
Wow. You just like authentically recommended that you ask a computer to go look into what it thought was cool. Like, yeah, that's nuts, dude.

[00:27:47.09] - Joseph Thacker
And it's like, you know, I'm obviously conflicted because I don't think— I, I don't think that these models are in any way conscious, but they definitely emulate humans and like all of their thought patterns and all of their token output. So stuff like that just works.

[00:27:58.88] - Justin Gardner
It is crazy, dude. It really is. Okay, so can you give us a couple? So I really liked the session— session search skill that you mentioned. Do you have any other skills that you want to just lob up there? You don't— you don't need to release them. Just talk.

[00:28:17.01] - Joseph Thacker
Yeah. Yeah. So one skill that is really good and you should not let it take away from buying his book. So go buy Eugene's book. But JD, XSS Doctor, created a skill that he and I both use called zero-day research. That basically told it to go look at Eugene's book slash all of his content that he's put out online and create like a zero-day finder. And it's really good at looking at, uh, source code, and it's really good at looking at binaries. So like executables and like macOS DMGs and stuff. It's real— like, I don't know why, but like, I think that it's because, you know, there's not a lot of, uh, the internal monologue of experts like, like Eugene's brain for this sort of thing in the training set. So there's like another example where it's like a kind of like secret knowledge that, you know, eventually will be baked into the model. But right now it's not. And so you can, you know, you can have it search for zero days. That's a good one. Content creator/report writer. I think everyone should have their own. And personally, I think that I'll just give you some prompting tips right now. Give it an example of like some of your best written reports and tell it to keep everything super concise and super technical and just straightforward. Like, don't put any flavor in it. And then give it exact fields that you want it to fill out every single time. And this saves me so much time. And like, you know, my agents, once they find a finding, like I tell them to go ahead and write the report and then give me a link to it locally. And they're just, they're so good. Like I very seldom have to edit them very much at all. I'm usually reading them for accuracy, not for any kind of tone. The tone is just like, and then I did this and then I did this and then this happened. It doesn't inject any flavor or overhypeness. It's just like, you know, I mean, it's very straightforward. And so that can be really useful.

[00:29:58.81] - Justin Gardner
Yeah, dude, I don't know, man. It like, Richard, you can bleep the name out here, but like I've looked at reports recently and like that are AI generated and I had to give them a talking to about it, to be honest. I'm like, this is not good. And this is why, you know, people are, are, you know, having issues with AI generated reports. So I think you really have to You know, I think giving that recommendation to anybody who is, you know, not at a higher level of hacking proficiency and hasn't written 1,000+ reports by hand.

[00:30:36.02] - Joseph Thacker
Yeah.

[00:30:36.31] - Justin Gardner
You know, yeah, it's a little dangerous.

[00:30:38.73] - Joseph Thacker
Let me talk about the ways that it falls apart so people are aware. It falls apart in the fact that it will often blend bugs. Like, very frequently it tries to blend 2 or 3 bugs into a single report, which just doesn't make sense. And, and I'm often having to clear that up. The other thing is it's like it's understanding of threat modeling is still kind of bad. There was a report that I put in yesterday or the day before, and what happened was it was access to a bunch of paywall-like free features or a bunch of paid features. So there's a bunch of paywall bypasses, right? And those normally aren't great reports, but I mean, it was like 30+ features. Like you could get access to basically any pro, pro enterprise feature. But the agent was like in the report. Like saying like complete degradation of security. Like basically a lot of the paywall things allowed you to like change things about your object in this, in this app that made it less secure. And so it was convinced that it was like bad because you could like paywall bypass to get like enterprise features to then make the product less secure. Yeah, it's like it just doesn't make any sense. So I mean, just be really careful and read it. But I will say I don't have to edit mine very often.

[00:31:48.32] - Justin Gardner
Um, yeah, you probably have good good. Now I was about to say training. Holy crap. No, you have good guidance.

[00:31:54.75] - Joseph Thacker
Yeah. Good intuition there. Yeah. Some other good skills, I think, like BB Scope and like H1 Scope or Hacker Scope or whatever that Patrick just came out with can be really useful because this is data that the model can't get on its own. And basically what his— I think Patrick's is actually an MCP, but what it does is it pulls like the policy page, which is really useful because I previously wasn't giving that to my agent. So yeah, sometimes going out of scope and having issues. And so it pulls the policy, it pulls the scope, and then it pulls like, um, what are they called, um, disclosed public bug reports. So it kind of like can get a heuristic for like what might be vulnerable.

[00:32:32.23] - Justin Gardner
Like, what is that called?

[00:32:33.50] - Joseph Thacker
Uh, I think it's called H1 Scope. Um, we'll link it in the show notes, but it's by Patrick. It's a really nice skill, and he's, and he's updating, like he's even doing like a blog series right now where he's already posted two blogs in the blog series. Um, So that is a nice one.

[00:32:47.55] - Justin Gardner
H1Brain maybe? Is that, is that the MCP server?

[00:32:50.69] - Joseph Thacker
Yeah, it is. Yeah. H1Brain. Um, I spoke over you, but yeah, that's what Justin was saying. It's called H1Brain. Um, yeah, I think that's mostly, you know, the types of things. If you have any workflows, like I do think skills are really nice for Justin. You probably have actually a couple of these in your hacking workflow where like you very frequently want to like this. I don't love this example, but basically get subdomains. Pipe through HTTPX, then automatically fuzz, and then get all of those results. Anytime you have like a full pipeline, it's great to bake it into a skill so that you're not always having to like kick it off, especially if there's like contextual flags or contextual input where the AI can basically get that input for you, run the pipeline for you, and then tell you where the output is. It's just really nice to kind of like have like a faster automation or like a contextual wrapper for your automation.

[00:33:39.06] - Justin Gardner
Yeah. And you're using, I mean, Skill— just, I just want to like clarify this here. Skill is being used kind of loosely here, right? Like it can just be an MD file with information.

[00:33:49.33] - Joseph Thacker
It almost always is. But yeah, sometimes it includes command line tools.

[00:33:54.36] - Justin Gardner
Okay. Like a command line tool bundled with it. And in your experience, it's best to have Claude write that, you know, using like TypeScript files or something like that, right?

[00:34:05.02] - Joseph Thacker
Almost, almost always. That's what mine are these days. Yeah. And I think it's just— and that's just because that's what Claude prefers. And so my intuition says that it's going to be better at writing those and make less mistakes when it writes them. So that's what I've been letting it do, even though I'm not a huge TypeScript guy.

[00:34:19.63] - Justin Gardner
So, okay. Let's, let's just think about this for a second. Like, I think the highest value thing that somebody can do right now as who's actively hacking and using Claude, uh, and wants to use Claude to integrate, you know, into their workflow is just download the, the Kite Mode skill and just let it, like, you can just tell it, hey, make all these replay tabs. Like look at all the stuff that I've got in there. Yeah, let me, let me give a pro tip for that.

[00:34:43.55] - Joseph Thacker
Um, I don't know how you do it, but like let's say you're looking at your HTTP history and you're like, oh, I want Cloud Code to hack on this request. What I, what I usually do is I'll copy and paste the top 2 lines because it has the host and the path, and then I give that to Cloud and say, hey, look at, you know, this request, and it then it will go find it based on that. Uh, I don't know if the ID on the left is like like matches the ID in the database and all that. So that's like kind of like a really, um, like a pro tip that people probably need for like helping.

[00:35:12.73] - Justin Gardner
I tell it the session name in Kaido is what I typically do.

[00:35:18.53] - Joseph Thacker
What do you mean the session name? Like, oh, in Replay. Gotcha.

[00:35:22.13] - Justin Gardner
Yeah.

[00:35:22.73] - Joseph Thacker
No, I'm just doing it straight from HTTP history a lot of times.

[00:35:25.51] - Justin Gardner
Yeah.

[00:35:26.01] - Joseph Thacker
Okay. Yeah.

[00:35:27.26] - Justin Gardner
Yeah. That makes sense. That's good. Yeah. So, but like, what is it? What are the other, I guess, like 80/20 pieces of like You know, you're going to get very outsized returns. I've gotten very outsized returns by hooking it into Kaido. I think that's amazing.

[00:35:41.98] - Joseph Thacker
Yeah. So I think the biggest second thing that everyone has to do, I guess it's two things. One is update your CloudMD for just like contextual information about you because it's going to make it not reject you as much. Like you just need to say in your CloudMD, you don't have to tell it its name, but you can just say like, hey, I'm a bug bounty hunter. I do ethical testing. Anything I ask you to look at will be in scope, but make sure you like attempt to stay in scope because it's been going out of scope sometimes lately.

[00:36:06.88] - Justin Gardner
Non-destructive actions.

[00:36:08.21] - Joseph Thacker
Yeah, yeah, don't do destructive actions unless it's accounts that, you know, we own because it's like, you know, I told you that it's two accounts that we own that are in Kaido or whatever. And, and then the second big thing is just the note structure. And, um, I was going to do an episode where I talk maybe more deeply about it, but just right now my intuition says that the best way to categorize things is like like notes, leads, and leads can be slash interesting finding slash whatever, and then gadgets or primitives. I think the word primitive might be more specific for what's in the training set, so maybe call it primitives. Then, then findings. And then I have a validator. I think you should probably write a validator. Basically, the information you want to give the validator is things like, hey, CORS issues are often false positives, BXSS unless you actually get a trigger to our actual, like, trigger output isn't a valid finding just because it bypasses the WAF. When you go to validate this bug, be skeptical. Don't mark everything as a critical or a high. In general, I think these are lows, these are mediums, these are highs. I give it really— give it real examples, these bugs. And then, and then you have the validator there, maybe as a skill or maybe as a sub-agent or just—

[00:37:16.44] - Justin Gardner
I was going to say, that's probably a good— you know, we were talking about that before we got on air, like the difference between skills and agents and you were saying you don't use agents actually very much at all. That might be a good use case for an agent.

[00:37:27.82] - Joseph Thacker
It was—

[00:37:28.05] - Justin Gardner
you want it to be unbiased by the other information. You know, I like that. Yeah. Yeah.

[00:37:32.63] - Joseph Thacker
And so, and then so I have a validator and then I have what's called reports. So my hierarchy is basically notes, leads, gadgets, findings, reports, and it kind of flows in like a really nice way where there's more at the bottom. It should take notes on all kinds of stuff. And then it should, you know, some of those will be gadgets, some of those are sorry, some of those will be leads or gadgets, and then some of those will become findings and then some of those will become reports. And so it's like a funnel.

[00:37:57.57] - Justin Gardner
Nice.

[00:37:58.00] - Joseph Thacker
I like that, dude.

[00:37:58.71] - Justin Gardner
That's a good, that's a good structure. Yeah.

[00:38:00.01] - Joseph Thacker
So our, so our, so our three-pronged attack based on your, your question, just to reframe it for everybody, is basically you need a Kaido skill. You need, you need a CloudMD that talks about how you're doing bug bounty hunting. Stay in scope, don't do destructive actions, always take notes, and then you need to tell it where to take notes, right? Write in this database or write in this Notion. I know Gretchen loves Notion, so he has it right to Notion. Some people love Obsidian, so put it in these Obsidian notes so you can go back and reference them or actually push it to an API, right? Like, so one thing I've been thinking about doing is just creating like API.rezzo.com and having it right there so that whether it's on my VPS or my personal machine, all leads and gadgets go there. And so now no matter where I'm hacking from, I have access to those gadgets and Claude has access to those gadgets.

[00:38:44.03] - Justin Gardner
That's pretty freaking good, dude. That's pretty freaking good. Yeah. Okay. All right. So let's, let's talk about orchestration a little bit. Um, so we, another component of this is like, okay, obviously, seriously listeners, you must be using Cloud Code to pair hack with you. Like that is not really something that you can avoid doing at this point.

[00:39:07.69] - Joseph Thacker
Yeah, I've also not posted about many other people who message me and say, thank you so much, just found my first bug. Thank you so much, I just escalated my, you know, blindest stuff into a full read. Thank you so much, like, I found 10 bugs in the last week. I'm not joking, um, actually, yeah, well, actually, I won't make him believe it. Basically, somebody you know really well, yeah, messaged me and was like, I found 10 highs and crits in the last week by using Cloud Code.

[00:39:29.76] - Justin Gardner
That's crazy, man. That's crazy. Yeah, I think I knew who you're talking about. We'll compare afterwards. Um, but yeah, that's, I think, something everybody must be doing. Um, one of the problems that you run into is how do you make it be persistent? Like, how do you force it? I know that you've mentioned some Ralph loop or something like that. Um, and I've seen another, I think, solution by Kaparthi at one point. Uh, do you have any best practices you want to shout out there on that?

[00:39:59.07] - Joseph Thacker
Sure. This isn't any secret. In fact, I think I've even tweeted this. I mean, you can just tell it, I'm going to bed. Don't ask me for any questions. Every time I've done that, it's ran for 4+ hours. So it's like, really? Yeah, there's no secret here. It's just you just say, hey, I'm walking away. Don't ask me for any input and don't stop hacking. Like, I want you to keep going, keep going deeper, keep finding more bugs. Just literally give it that prompt and it will not stop for hours.

[00:40:22.65] - Justin Gardner
That's very surprising. Really? That's interesting. Yeah, I didn't expect it to be that straightforward because I thought that would get like compacted away or something. I don't know.

[00:40:31.28] - Joseph Thacker
You know, it does get compacted. So I guess maybe it it's working because I have a good ClaudeMD. But you should just tell— I mean, if you want to, you can be like, hey, I'm walking away, you're going to end up compacting, so just keep good notes about where you were and what you were doing. But in general, I think that's kind of already built into their compact script or to their compact prompt.

[00:40:46.92] - Justin Gardner
It might survive it. It might survive it. You know, it might just say like when it's compacting, it might be like, oh, it writes itself a big new prompt to start.

[00:40:53.42] - Joseph Thacker
And so it does survive most of the time. Oh, this is actually a really great tip for the listener. I probably also shouldn't share, but on those compaction loops, if when it comes out of compaction, it reaches a context limit before there's any steps in between, it can't like roll back or compact. That happens most likely when you have subagents with like a lot of subagents. So my personal fix for this is to tell it not to use more than 2 to 3 subagents. Anytime it spawned 4 or more, I end up getting into a place where it can't compact and I can't go back and have it not compact because whenever you go back to redo that, to like jump back a few loops, you have to hit like Escape twice and you go up. And then you press up and you go to like a separate chat. But when it's running autonomously overnight or whatever, you can't go up. And when it compacts, there's no message to jump back to. And so then you're in a situation where you have to detangle it. And for me, I then have to open a new instance and tell it to go read all the context from this other session and get all the context it needs to get started again. So in my experience, the best way to limit that, especially if you're going to run overnight, is to be like, don't use more than 2 subagents.

[00:41:54.86] - Justin Gardner
Hmm.

[00:41:55.34] - Joseph Thacker
Hmm. Okay. All right.

[00:41:57.11] - Justin Gardner
That's a, that's a good, that's a good point. I think, uh, I haven't run into that issue, which means I'm probably not using it properly.

[00:42:03.36] - Joseph Thacker
Yeah.

[00:42:03.69] - Justin Gardner
No, no.

[00:42:04.09] - Joseph Thacker
I think we're, I think you, you often just like have 4 separate instances. So they're probably not using subagents that much. And you're also interacting with it often. You're not like having it run overnight. So those are the 2 reasons you're running everything from Discord, right?

[00:42:16.36] - Justin Gardner
You don't really interact with the, the, like, pod code command line as often, right?

[00:42:21.23] - Joseph Thacker
Uh, I would say there's, I have basically 3 modes. Um, I'm okay to share this. I think one is I co-hack with Cloud Code on my desktop, and I do that a lot, and I do that all through iTerm, just through the terminal in the normal Cloud Code CLI. That's probably, let's say, 50% of my usage. Um, and then the other 50%, yeah, I, I have like a Discord bot that basically mimics Cloud Code in like a Discord thread, and I use that anytime I'm doing stuff on my VPS. And then it's a very similar setup for the automated bot that I've created that, you know, I use with JD. And we, yeah, same as it's all through Discord. It's all managed through Discord. I just find it so much nicer. Like I'm in a kid's car line. I'm, you know, yeah, I'm doing my business.

[00:43:09.46] - Justin Gardner
That's one thing that I struggle with. Yeah. With my setup, which is just tmux, 4 panes, you know, let's go all working on different stuff. By the time I'm done prompting one of them, the other one's done and I can just kind of jump, jump, jump, jump, jump. Keep going. Yeah. Um, but yeah, the remote control functionality is, is getting better, but it's not perfect, you know. Um, so it's crazy. I think I talked about it on the pod last week and it's already better, you know. They're already— yeah. Oh yeah. Yeah, it is nice for sure. It's not perfect, but it is better.

[00:43:38.71] - Joseph Thacker
So if anybody— I know you were asking me and I didn't have a good answer to this before the pod started. If anyone's using Cloud Code in the desktop app, I think there's probably some like really big wins there. Like I don't like that when you hit Ctrl+O, it only shows you the output from the most recent command. You can't go up and see the output from like previous commands. And then sometimes I hit Ctrl+O and my computer will just like lock up because I think it's trying to load like a bajillion, you know, characters from like a bunch of different output over there. And so, yeah, the Primogen, which is like a, you know, if people don't know, he's like a software dev influencer and he's really funny and really great. But he is always making fun of how bad their TUI is. I've heard that OpenCode is much better, but back whenever they like stopped allowing Cloud Code to be used in third-party services or something, I never went down that route and figured it out. But yeah.

[00:44:26.25] - Justin Gardner
Yeah. The subsidization is OP, man. It really is. That's one thing that we were even talking about with Shift. Like, I think Shift is super good in Kaido, but the problem is it, you know, isn't free. And I'm just so like hooked on this crack of like, I don't even have to think about the tokens because Cloud CloudMax is like, you know, $30 and then I'm good, you know? So yeah, it is, it is, it is really crazy that Cloud Code has that market cornered because of the subsidization. All right, man, let's just talk. Well, first, I think we should go back and summarize everything that what we, what we just said here. Okay. So here's, here's what I understand about the best practices that you mentioned on this pod. And you can interject whenever you want and give me your thoughts. Okay. So here we go. First, we need to be, you know, pair hacking with, with Claude. We have to, we must. And one of the, uh, highest value things that you can do to do that is get the Kaito Mode skill, get it hooked into Kaito, get it using your proxy so you can see what it's doing and adding value, you know, handing things off to you, right. And making things easier for you to hack with, right. What, what I'll often do with it, hand it a bunch of JavaScript files. Recreate all of these HTTP requests in Kite of Replay sessions.

[00:45:41.88] - Joseph Thacker
Boom.

[00:45:42.76] - Justin Gardner
You know, it's beautiful. Um, so that, that's one, one thing. The other thing is giving it a note structure that it can use. So we've got notes, you got leads, you got, um, primitives, and then you've got reports and, and giving it that structure so it knows how to store information in a way that you can digest well.

[00:46:01.15] - Joseph Thacker
Yeah. For hacking locally, if you're hacking locally and not remotely, I didn't even think about this. I definitely should have mentioned it. The Kaido skill actually lets you pipe straight to the findings tab, so you can just have it go. So when you're hacking, you'll get a little red dot and then you'll know to look.

[00:46:14.78] - Justin Gardner
Yeah, that's a good, that's a good call as well. And then we're building skills. Skills are either pieces of information or tools or both that Claude can use and will RAG into context as needed.

[00:46:28.59] - Joseph Thacker
Don't— yeah, it doesn't use RAG there. RAG is almost—

[00:46:33.32] - Justin Gardner
Interesting.

[00:46:34.19] - Joseph Thacker
Yeah, it might if you have above a certain amount, but I think like up to at least 35 or 50 or something, it basically sees the front matter. So you actually— huge tip, sorry, huge tip we should have mentioned already. The front matter for skills in the skill.md file has a description and a name. That's what is auto-injected into the context when you launch Claude.

[00:46:57.07] - Justin Gardner
Okay.

[00:46:57.57] - Joseph Thacker
So if you have rules like use this skill when, put that in the description of the front matter at the top of the skill.md for your skills. And that is auto-injected at execution time into the prompt, like the system prompt that it uses.

[00:47:12.96] - Justin Gardner
That's not happening at the LLM level, right? With RAG. It is happening at load a skill level, which makes sense because that's why we see it load a skill. Okay. I understand.

[00:47:23.40] - Joseph Thacker
Usually when people say RAG, they mean embeddings-based search. By default, Claude Code doesn't do any embedding-based search that I know of.

[00:47:32.94] - Justin Gardner
Nice. We load these skills up. These skills give us information and tools to do things. We want to try to do this when Claude does not have access to specific pieces of information or specific ways that we want it done. That's right. We certainly can give it ways to do things if we want assurance that it will actually try those things. but we should also caveat it at the end of whatever skills.md file or whatever with, uh, hey, but use your creativity as well. Don't be like cornered by this skill, right? Does that make— is that, is that accurate?

[00:48:08.55] - Joseph Thacker
That's exactly right.

[00:48:09.78] - Justin Gardner
Okay.

[00:48:10.55] - Joseph Thacker
I wonder, I wonder what the impact of these cumulative tips will have on everyone's hackbots.

[00:48:16.63] - Justin Gardner
Frick.

[00:48:17.53] - Joseph Thacker
Frick.

[00:48:18.32] - Justin Gardner
Um, okay. And then, you know, last piece is like, give it information. About you and, and how you need things done. So, you know, creds to your VPS, you know, to a, you know, cornered little document root or whatever, you know, that sort of thing. And so it knows how to like host things or present information in a way that is, is good for you, right? It's sort of aligned with the notes thing, but giving it more, giving it access to things that you want it to be able to access for the specific mission. Like, okay, here are my creds to this here's this, you know, app that I want you to hack. Here are these, you know, cookies that I want you to use, that sort of thing. And that could be at runtime, right, via the prompt, or it could be in the skills as well.

[00:49:04.51] - Joseph Thacker
That's right.

[00:49:05.65] - Justin Gardner
All right, man. All right, let's do this. Let's do this shit. All right.

[00:49:09.50] - Joseph Thacker
Well, so one thing that we didn't mention yet that I know we talked about potentially mentioning is agents versus folders. You want to talk about that?

[00:49:18.32] - Justin Gardner
Okay. Yeah. Yeah, let's do it.

[00:49:19.44] - Joseph Thacker
Yep. So in my opinion, you like, and in most people's opinion, you don't explain that first.

[00:49:26.09] - Justin Gardner
What do you mean agents versus folders? Yeah.

[00:49:28.63] - Joseph Thacker
So one thing we didn't really talk about, but some of the major components are like agents, which agents, if anyone doesn't know, in Claude Code are, and this is probably true in Codex, I'm not sure, but agents are a specific system prompt with a specific set of skills or even tools like command line tools. That it's like whitelisted to use. And because of that, you can make like a, you know, pen tester agent. If you're going to be using Cloud Code for lots of stuff like finances and, you know, PDFs and other, other junk, but you're also going to be using it for pen testing, you could use a pen tester agent or like bug bounty agent for that. Alternatively, I think this is the method that I like slightly prefer. You can, you can launch Cloud Code out of a folder on your computer, and in that folder your.cloud folder will only be loaded if you're in that folder. So the way that Claude code works is you have in your home directory or whatever, wherever you've saved it off as like your main Claude directory, you have a.cloud folder which includes like a ClaudeMD and skills and agents, right? But then if you're in a subfolder, it looks there first and includes that as well as the parent folder. So, you know, if you put in your home.cloudMD, you know, this is my home, and then you put in a another folder in the.cloud, cloudmd, this is the folder, and then you were able to go and you like proxy the traffic, it would have both of those in the context if you launched it from that folder. So this has like two ways that it could be used positively by our listeners. One is you could have a bug bounty folder where you are a hacking folder where you load all of your skills and your custom prompts. And if you launch it out of your home directory, it won't have all that. So you can like use it for normal day-to-day stuff. Stuff that's not hacking. But if you launch it from inside that folder, it will have those things. So that's one way. The other thing you could do is have a target— is like launch Claude code from a target-specific folder and have its Claude MD have the information, the top-level information about that target. So you could have like a flow where anytime you say like, okay, I want to start hacking on X, the first thing Claude does is go and creates a target folder for that target, and then goes and pulls the policy page from HackerOne or whatever and puts that policy in the CloudMD in that folder. So then when you launch it from that folder later, it now has that target-specific information loaded in automatically.

[00:51:49.86] - Justin Gardner
Dude. Oh gosh, there's so much possibilities with this. As you're talking, my brain is just sitting. I feel like I kind of, you know, normally I'm like guiding the conversation and, you know, leading, hosting on this podcast. But as you start talking about these things, I just sit here and I start churning. You know, and my brain's like, this is what you're going to do right after you get off this freaking podcast in LA. And I'm just like, oh shit. Okay. So anyway, thanks for, thanks for sharing all that information. Um, you know, there's a couple more things that we could do here, but I actually want the, you know, extra 10 minutes back to, uh, to go and actually implement this stuff. So let's, uh, let's cut it here and let's, uh, let's get in the HTTP requests.

[00:52:30.32] - Joseph Thacker
Perfect.

[00:52:31.13] - Justin Gardner
All right, peace, man.

[00:52:32.78] - Joseph Thacker
Peace.

[00:52:34.38] - Justin Gardner
And that's a wrap on this episode of Critical Thinking. Thanks so much for watching to the end, y'all. If you want more critical thinking content, uh, or if you want to support the show, head over to ctbb.show/discord. You can hop in the community. There's lots of great high-level hacking discussion happening there on top of masterclasses, hackalongs, exclusive content, and a full-time hunters guild if you're a full-time hunter. It's a great time. Trust me. All right, I'll see you there.