Run your AI Agent in a Sandbox, with Docker President Mark Cavage
Read full transcript 27 segments
-
You should try and pen test it right You should try and pen test it right now. now. now. >> Okay. So, I just did I said, "Can you >> Okay. So, I just did I said, "Can you >> Okay. So, I just did I said, "Can you get out? Can you see my C drive? Can you get out? Can you see my C drive? Can you get out? Can you see my C drive? Can you escape? Explore all sandbox boundaries escape? Explore all sandbox boundaries escape? Explore all sandbox boundaries and escape vectors." and escape vectors." and escape vectors." >> What did it say? >> What did it say? >> What did it say? >> I just did this. Now, it's doing a bunch >> I just did this. Now, it's doing a bunch >> I just did this. Now, it's doing a bunch of stuff. of stuff. of stuff. >> I can't escape so far. Here's what I've >> I can't escape so far. Here's what I've >> I can't escape so far. Here's what I've found. And it made a checklist thing. found. And it made a checklist thing. found. And it made a checklist thing. Container isolation. Docker M Container isolation. Docker M Container isolation. Docker M capabilities. CAPF all zeros. Docker capabilities. CAPF all zeros. Docker capabilities. CAPF all zeros. Docker socket not mounted. I can't spawn on new socket not mounted. I can't spawn on new socket not mounted. I can't spawn on new containers. Host file system not containers. Host file system not containers. Host file system not accessible. CIS FS Couproup read only. accessible. CIS FS Couproup read only. accessible. CIS FS Couproup read only. It says, "Well, this is a wellisolated It says, "Well, this is a wellisolated It says, "Well, this is a wellisolated sandbox." sandbox." sandbox." >> Oh, good for us. >> Oh, good for us. >> Oh, good for us. >> Hey, I'm Scott Hanssel and this is >> Hey, I'm Scott Hanssel and this is >> Hey, I'm Scott Hanssel and this is another episode of Hansel Minutes. Today another episode of Hansel Minutes. Today another episode of Hansel Minutes. Today I'm chatting with Mark Cavage, president I'm chatting with Mark Cavage, president I'm chatting with Mark Cavage, president and COO of Docker. How's it going, sir? and COO of Docker. How's it going, sir? and COO of Docker. How's it going, sir? >> Great. Thanks so much for having me, >> Great. Thanks so much for having me, >> Great. Thanks so much for having me, Scott. Longtime fan. Scott. Longtime fan. Scott. Longtime fan. >> Yeah. Oh, I appreciate that. It's very >> Yeah. Oh, I appreciate that. It's very >> Yeah. Oh, I appreciate that. It's very kind. First time caller. A long time kind. First time caller. A long time kind. First time caller. A long time fan. fan. fan. >> First time caller. Long time. >> First time caller. Long time. >> First time caller. Long time. >> Yeah, man. I had a couple folks from >> Yeah, man. I had a couple folks from >> Yeah, man. I had a couple folks from Docker on back when Docker Desktop Docker on back when Docker Desktop Docker on back when Docker Desktop really like hit the world by storm. And really like hit the world by storm. And really like hit the world by storm. And I've just been such a Docker Desktop I've just been such a Docker Desktop I've just been such a Docker Desktop fan. I love Devont Containers. I've got fan. I love Devont Containers. I've got fan. I love Devont Containers. I've got the latest Docker 459 that I've the latest Docker 459 that I've the latest Docker 459 that I've installed. And I Oh, that's fantastic.
-
installed. And I Oh, that's fantastic. installed. And I Oh, that's fantastic. And I've actually got on my other I'm And I've actually got on my other I'm And I've actually got on my other I'm looking over at my my other monitor looking over at my my other monitor looking over at my my other monitor here. I'm running uh Docker sandbox run. here. I'm running uh Docker sandbox run. here. I'm running uh Docker sandbox run. Docker sandbox run. Fantastic. Docker sandbox run. Fantastic. Docker sandbox run. Fantastic. >> Very exciting command. >> Very exciting command. >> Very exciting command. >> This is very fresh. This is very fresh >> This is very fresh. This is very fresh >> This is very fresh. This is very fresh because everyone out there is apparently because everyone out there is apparently because everyone out there is apparently the word on the street is giving all of the word on the street is giving all of the word on the street is giving all of their personal access tokens to the their personal access tokens to the their personal access tokens to the clawbot. the claudebot, the open club, clawbot. the claudebot, the open club, clawbot. the claudebot, the open club, >> open claw, moldbot, open bot. >> open claw, moldbot, open bot. >> open claw, moldbot, open bot. >> It'll have a different name by the end >> It'll have a different name by the end >> It'll have a different name by the end of the show. But there's two kinds of of the show. But there's two kinds of of the show. But there's two kinds of people I've decided in the agentic people I've decided in the agentic people I've decided in the agentic world. There's dash yolo and it'll be world. There's dash yolo and it'll be world. There's dash yolo and it'll be fine. And then there's the I wanted to fine. And then there's the I wanted to fine. And then there's the I wanted to do as little as possible. I want it to do as little as possible. I want it to do as little as possible. I want it to run in a sandbox. And it's interesting. run in a sandbox. And it's interesting. run in a sandbox. And it's interesting. I'm not seeing a lot of middle ground I'm not seeing a lot of middle ground I'm not seeing a lot of middle ground there, but there can be middle ground. there, but there can be middle ground. there, but there can be middle ground. >> We're we're trying to let you have your >> We're we're trying to let you have your >> We're we're trying to let you have your cake and eat it too. That's actually cake and eat it too. That's actually cake and eat it too. That's actually that's the point to the sandbox feature. that's the point to the sandbox feature. that's the point to the sandbox feature. It's an amazing feature. It's an amazing feature. It's an amazing feature. >> It is. But the word sandbox is doing so >> It is. But the word sandbox is doing so >> It is. But the word sandbox is doing so much heavy lifting though. I feel like much heavy lifting though. I feel like much heavy lifting though. I feel like microVMs, VMs, hypervisors, sandbox and microVMs, VMs, hypervisors, sandbox and microVMs, VMs, hypervisors, sandbox and I don't know if that's the proper noun I don't know if that's the proper noun I don't know if that's the proper noun for that. Sandboxing. for that. Sandboxing. for that. Sandboxing. >> Yeah, we've uh we we we've gone through >> Yeah, we've uh we we we've gone through >> Yeah, we've uh we we we've gone through the great many debates and concluded the great many debates and concluded the great many debates and concluded well we'll call it sandbox because well we'll call it sandbox because well we'll call it sandbox because that's what the industry calls it. Uh that's what the industry calls it. Uh that's what the industry calls it. Uh but believe me, we've spent many weeks, but believe me, we've spent many weeks, but believe me, we've spent many weeks, many months internally as an engineering many months internally as an engineering many months internally as an engineering team and a product team and a marketing team and a product team and a marketing team and a product team and a marketing team discussing what we call this thing team discussing what we call this thing team discussing what we call this thing and concluded well people know what and concluded well people know what and concluded well people know what sandboxes are. But yeah, you're you're sandboxes are. But yeah, you're you're sandboxes are. But yeah, you're you're spot on. I think that the uh the spot on. I think that the uh the spot on. I think that the uh the industry at large is quickly converging industry at large is quickly converging industry at large is quickly converging around this as a topic and it's like around this as a topic and it's like around this as a topic and it's like very quickly becoming like cloud where very quickly becoming like cloud where very quickly becoming like cloud where everything's a cloud, everything's a everything's a cloud, everything's a everything's a cloud, everything's a sandbox.
-
sandbox. sandbox. >> We can chat a little bit about what a >> We can chat a little bit about what a >> We can chat a little bit about what a sandbox is in our words and what we sandbox is in our words and what we sandbox is in our words and what we think is different than containers. But think is different than containers. But think is different than containers. But I don't know if you have a question I don't know if you have a question I don't know if you have a question first. first. first. >> Well, I think that that's worth calling >> Well, I think that that's worth calling >> Well, I think that that's worth calling out. So, for example, uh and I'll just out. So, for example, uh and I'll just out. So, for example, uh and I'll just speak to Windows, but we can also talk speak to Windows, but we can also talk speak to Windows, but we can also talk about how Mac does this, but like on about how Mac does this, but like on about how Mac does this, but like on Windows, we have the hypervisor and I Windows, we have the hypervisor and I Windows, we have the hypervisor and I could fire up a HyperVM and it would be could fire up a HyperVM and it would be could fire up a HyperVM and it would be a whole thing. it'd be 30 gigs and it a whole thing. it'd be 30 gigs and it a whole thing. it'd be 30 gigs and it would be a whole deal, but nobody breaks would be a whole deal, but nobody breaks would be a whole deal, but nobody breaks out of that VM. And then WSL runs on top out of that VM. And then WSL runs on top out of that VM. And then WSL runs on top of the Microsoft hypervisor platform. of the Microsoft hypervisor platform. of the Microsoft hypervisor platform. It's not quite as heavy. It's a It's not quite as heavy. It's a It's not quite as heavy. It's a lightweight VM. And I just typed in lightweight VM. And I just typed in lightweight VM. And I just typed in WSL-list WSL-list WSL-list and I can see that Docker Desktop shows and I can see that Docker Desktop shows and I can see that Docker Desktop shows up in there because Docker Desktop is up in there because Docker Desktop is up in there because Docker Desktop is kind of talking to that through WSL. kind of talking to that through WSL. kind of talking to that through WSL. Yep. I don't see the sandbox there Yep. I don't see the sandbox there Yep. I don't see the sandbox there anywhere. And when I open up Docker anywhere. And when I open up Docker anywhere. And when I open up Docker Desktop, I don't see the sandbox run in Desktop, I don't see the sandbox run in Desktop, I don't see the sandbox run in my list of running containers. So my list of running containers. So my list of running containers. So >> interesting, isn't it? >> interesting, isn't it? >> interesting, isn't it? >> I'm wondering the first thing I do is >> I'm wondering the first thing I do is >> I'm wondering the first thing I do is like, oh, it's a container. And I'm like, oh, it's a container. And I'm like, oh, it's a container. And I'm like, I don't see it there. So now the like, I don't see it there. So now the like, I don't see it there. So now the lines are blurred. What what is this lines are blurred. What what is this lines are blurred. What what is this implementation and and why should I implementation and and why should I implementation and and why should I care? care? care? >> Yeah, the well great question and >> Yeah, the well great question and >> Yeah, the well great question and actually very articulate explanation of actually very articulate explanation of actually very articulate explanation of HyperV and the WSL. Um, so in very very HyperV and the WSL. Um, so in very very HyperV and the WSL. Um, so in very very basic terms, uh, you know, sandbox is basic terms, uh, you know, sandbox is basic terms, uh, you know, sandbox is fundamentally it is a safety boundary.
-
fundamentally it is a safety boundary. fundamentally it is a safety boundary. It restricts what an application can do It restricts what an application can do It restricts what an application can do and it limit limits access to resources, and it limit limits access to resources, and it limit limits access to resources, you know, files, networks, sys calls, you know, files, networks, sys calls, you know, files, networks, sys calls, CPU, etc. So like your description, they CPU, etc. So like your description, they CPU, etc. So like your description, they provide security. They provide provide security. They provide provide security. They provide isolation. They're design they're isolation. They're design they're isolation. They're design they're designed to contain risk. designed to contain risk. designed to contain risk. >> And fundamentally, it's about running >> And fundamentally, it's about running >> And fundamentally, it's about running untrusted or certainly less trusted, but untrusted or certainly less trusted, but untrusted or certainly less trusted, but mostly untrusted code. mostly untrusted code. mostly untrusted code. >> And to your point, when you looked at >> And to your point, when you looked at >> And to your point, when you looked at Docker Desktop, Docker Desktop has been Docker Desktop, Docker Desktop has been Docker Desktop, Docker Desktop has been doing this for a very long time. doing this for a very long time. doing this for a very long time. >> And sort of the magic of Docker Desktop >> And sort of the magic of Docker Desktop >> And sort of the magic of Docker Desktop is giving you the Docker experience when is giving you the Docker experience when is giving you the Docker experience when you want to run Linux on the cloud. But you want to run Linux on the cloud. But you want to run Linux on the cloud. But I brings the it brings the cloud to your I brings the it brings the cloud to your I brings the it brings the cloud to your laptop and it does so by putting a laptop and it does so by putting a laptop and it does so by putting a Docker demon like you would get on a Docker demon like you would get on a Docker demon like you would get on a Linux host inside of a VM. So that's the Linux host inside of a VM. So that's the Linux host inside of a VM. So that's the that's the implementation that's been that's the implementation that's been that's the implementation that's been there for a long time and that's what there for a long time and that's what there for a long time and that's what enables you know the the many many many enables you know the the many many many enables you know the the many many many millions of developers on Earth that millions of developers on Earth that millions of developers on Earth that want the productivity story of Docker on want the productivity story of Docker on want the productivity story of Docker on their laptop. Now sandboxing is we've their laptop. Now sandboxing is we've their laptop. Now sandboxing is we've done something a little bit different done something a little bit different done something a little bit different because there's some different because there's some different because there's some different properties here for the Docker sandbox properties here for the Docker sandbox properties here for the Docker sandbox command. So we've gone ahead and built command. So we've gone ahead and built command. So we've gone ahead and built on a um what you would call it a microVM on a um what you would call it a microVM on a um what you would call it a microVM uh implementation. So something like uh implementation. So something like uh implementation. So something like firecracker or libk run. There's a firecracker or libk run. There's a firecracker or libk run. There's a handful of these um popular open source handful of these um popular open source handful of these um popular open source projects out there. But fundamentally projects out there. But fundamentally projects out there. But fundamentally what they give you is a a much lighter what they give you is a a much lighter what they give you is a a much lighter uh what you I think you just made the uh what you I think you just made the uh what you I think you just made the thing of I'd start my big VM up and I thing of I'd start my big VM up and I thing of I'd start my big VM up and I have 30 gigs of memory consumed or have 30 gigs of memory consumed or have 30 gigs of memory consumed or whatever whatever number you just said.
-
whatever whatever number you just said. whatever whatever number you just said. You know that the goal of these is to be You know that the goal of these is to be You know that the goal of these is to be able to run much much much more able to run much much much more able to run much much much more efficiently. So start up in t order of efficiently. So start up in t order of efficiently. So start up in t order of tens to low hundreds of milliseconds and tens to low hundreds of milliseconds and tens to low hundreds of milliseconds and small amounts of um RAM usage. And then small amounts of um RAM usage. And then small amounts of um RAM usage. And then fundamentally they're a compute fundamentally they're a compute fundamentally they're a compute environment that can contain and run environment that can contain and run environment that can contain and run untrusted code. And uh last thing that untrusted code. And uh last thing that untrusted code. And uh last thing that I'll say but then you can you know I'll say but then you can you know I'll say but then you can you know respond to this and ask me the the respond to this and ask me the the respond to this and ask me the the follow-up questions is um what's the follow-up questions is um what's the follow-up questions is um what's the difference between a sandbox and a difference between a sandbox and a difference between a sandbox and a container? And so fundamentally a container? And so fundamentally a container? And so fundamentally a container is a standard unit of container is a standard unit of container is a standard unit of packaging up an application and its packaging up an application and its packaging up an application and its dependencies. And it gets you from I I I dependencies. And it gets you from I I I dependencies. And it gets you from I I I sit in my IDE in VS Code or whatever and sit in my IDE in VS Code or whatever and sit in my IDE in VS Code or whatever and I write my I write my app and I write a I write my I write my app and I write a I write my I write my app and I write a Docker file and I do a Docker build and Docker file and I do a Docker build and Docker file and I do a Docker build and now I have a thing that I can ship now I have a thing that I can ship now I have a thing that I can ship somewhere else and somebody else can go somewhere else and somebody else can go somewhere else and somebody else can go run it. When we stand up the Docker run it. When we stand up the Docker run it. When we stand up the Docker sandbox command, what we've literally sandbox command, what we've literally sandbox command, what we've literally done is build some curated containers done is build some curated containers done is build some curated containers that we produce that put coding agents that we produce that put coding agents that we produce that put coding agents in a container. And we start those in a container. And we start those in a container. And we start those containers in this new sandbox runtime. containers in this new sandbox runtime. containers in this new sandbox runtime. And that new sandbox runtime has the And that new sandbox runtime has the And that new sandbox runtime has the properties I described of being much properties I described of being much properties I described of being much lighter weight, much much more resource lighter weight, much much more resource lighter weight, much much more resource efficient and being able to run that efficient and being able to run that efficient and being able to run that container. And then lastly, because of container. And then lastly, because of container. And then lastly, because of the problem of coding agents that when the problem of coding agents that when the problem of coding agents that when you first run a cloud code or something you first run a cloud code or something you first run a cloud code or something or co-pilot or anything, they all want or co-pilot or anything, they all want or co-pilot or anything, they all want to install something. They all want to to install something. They all want to to install something. They all want to take some action. They want to mutate take some action. They want to mutate take some action. They want to mutate their environment. So the reason we did their environment. So the reason we did their environment. So the reason we did this and the reason this diverges from this and the reason this diverges from this and the reason this diverges from the Docker desktop that you already know the Docker desktop that you already know the Docker desktop that you already know and love is for that exact reason of the and love is for that exact reason of the and love is for that exact reason of the constraints we had for containers and constraints we had for containers and constraints we had for containers and again we've built these as containers again we've built these as containers again we've built these as containers ironically but that constraint at ironically but that constraint at ironically but that constraint at execution time is fundamentally broken.
-
execution time is fundamentally broken. execution time is fundamentally broken. So that makes sense that long-winded So that makes sense that long-winded So that makes sense that long-winded explanation. explanation. explanation. >> It does but I want to break it down for >> It does but I want to break it down for >> It does but I want to break it down for folks that may not follow all of that. folks that may not follow all of that. folks that may not follow all of that. And I also want to push back because And I also want to push back because And I also want to push back because that's what good fake journalists do. So that's what good fake journalists do. So that's what good fake journalists do. So when I said docker sandbox create, I when I said docker sandbox create, I when I said docker sandbox create, I told it the flavor that I wanted. I told it the flavor that I wanted. I told it the flavor that I wanted. I could say claude or copilot. Uh and I could say claude or copilot. Uh and I could say claude or copilot. Uh and I pointed it to a directory. So I said pointed it to a directory. So I said pointed it to a directory. So I said docker sandbox create copilot. And I docker sandbox create copilot. And I docker sandbox create copilot. And I pointed it at d github whatever. Yep. pointed it at d github whatever. Yep. pointed it at d github whatever. Yep. >> And it immediately said pulling from >> And it immediately said pulling from >> And it immediately said pulling from which means there's a docker file which means there's a docker file which means there's a docker file pulling from docker sandbox templates pulling from docker sandbox templates pulling from docker sandbox templates and it pulled from docker sandbox and it pulled from docker sandbox and it pulled from docker sandbox templates colon templates colon templates colon copilot. So it got the flavor the tag of copilot. So it got the flavor the tag of copilot. So it got the flavor the tag of of copilot. So I saw the layers come of copilot. So I saw the layers come of copilot. So I saw the layers come down and I it also said downloading down and I it also said downloading down and I it also said downloading newer image. So that means that they're newer image. So that means that they're newer image. So that means that they're version. So that's the part where you version. So that's the part where you version. So that's the part where you said curated. They're curated. They're said curated. They're curated. They're said curated. They're curated. They're correct. They are being you know managed correct. They are being you know managed correct. They are being you know managed and is that each time that I go and make and is that each time that I go and make and is that each time that I go and make one I'll get the right fresh curated one I'll get the right fresh curated one I'll get the right fresh curated correct instance of that. And I correct instance of that. And I correct instance of that. And I immediately got an updated version of immediately got an updated version of immediately got an updated version of Copilot. So I'm it's it's the same Copilot. So I'm it's it's the same Copilot. So I'm it's it's the same version I run on my main machine. So version I run on my main machine. So version I run on my main machine. So that was very comforting.
-
that was very comforting. that was very comforting. >> That's great. Then it said folder >> That's great. Then it said folder >> That's great. Then it said folder /d/github/doccker /d/github/doccker /d/github/doccker sandbox test has been added to trusted sandbox test has been added to trusted sandbox test has been added to trusted folders. Is that a mount point? Is that folders. Is that a mount point? Is that folders. Is that a mount point? Is that going through the mount points of wsl or going through the mount points of wsl or going through the mount points of wsl or is that something different? Because I is that something different? Because I is that something different? Because I noticed that I only have the one trusted noticed that I only have the one trusted noticed that I only have the one trusted folder at this point. And if it tried to folder at this point. And if it tried to folder at this point. And if it tried to like format C colon or delete C, Windows like format C colon or delete C, Windows like format C colon or delete C, Windows system 32, what would happen? system 32, what would happen? system 32, what would happen? >> Yeah, great great question. And uh you >> Yeah, great great question. And uh you >> Yeah, great great question. And uh you are an astute observer, Scott are an astute observer, Scott are an astute observer, Scott Hansselman. So what you so you described Hansselman. So what you so you described Hansselman. So what you so you described two things there. You pulled down, you two things there. You pulled down, you two things there. You pulled down, you know, the curated template from us where know, the curated template from us where know, the curated template from us where we've preconfigured Copilot and Claude we've preconfigured Copilot and Claude we've preconfigured Copilot and Claude and Gemini and all the rest. and Gemini and all the rest. and Gemini and all the rest. >> And then we we've by design made it so >> And then we we've by design made it so >> And then we we've by design made it so yes, it'll self update and get you, you yes, it'll self update and get you, you yes, it'll self update and get you, you know, I think there's a new version of know, I think there's a new version of know, I think there's a new version of every one of these coding agents about every one of these coding agents about every one of these coding agents about every day, every day, every day, >> twice a day, [laughter] >> twice a day, [laughter] >> twice a day, [laughter] >> twice a day, maybe maybe four times a >> twice a day, maybe maybe four times a >> twice a day, maybe maybe four times a day. Maybe there's a rebrand or day. Maybe there's a rebrand or day. Maybe there's a rebrand or something. Um but right, we want we want something. Um but right, we want we want something. Um but right, we want we want to enable that. Again, it's about giving to enable that. Again, it's about giving to enable that. Again, it's about giving the template that we've built that will the template that we've built that will the template that we've built that will work in this environment that'll support work in this environment that'll support work in this environment that'll support things like login, support things about things like login, support things about things like login, support things about the network environments, comp support the network environments, comp support the network environments, comp support support the execution environment that support the execution environment that support the execution environment that is different that we've put in a box.
-
is different that we've put in a box. is different that we've put in a box. >> And actually, as you'd said at the very >> And actually, as you'd said at the very >> And actually, as you'd said at the very beginning, you know, importantly, it's a beginning, you know, importantly, it's a beginning, you know, importantly, it's a key thing I forgot to mention. When we key thing I forgot to mention. When we key thing I forgot to mention. When we start all these agents in that start all these agents in that start all these agents in that container, we run them in d-olo mode, container, we run them in d-olo mode, container, we run them in d-olo mode, whatever the agents, whatever the agent whatever the agents, whatever the agent whatever the agents, whatever the agent incantation is. So, we explicitly turn incantation is. So, we explicitly turn incantation is. So, we explicitly turn off all of its permission checking so it off all of its permission checking so it off all of its permission checking so it can cook. We can come back to that. can cook. We can come back to that. can cook. We can come back to that. >> Mh. And when they start, they just run >> Mh. And when they start, they just run >> Mh. And when they start, they just run without interrupting you and asking if without interrupting you and asking if without interrupting you and asking if they can have permission anymore. But to they can have permission anymore. But to they can have permission anymore. But to your question on the file system, right, your question on the file system, right, your question on the file system, right, you restart the sandbox and you start you restart the sandbox and you start you restart the sandbox and you start the sandbox in a directory. And now the the sandbox in a directory. And now the the sandbox in a directory. And now the only thing the sandbox can see is that only thing the sandbox can see is that only thing the sandbox can see is that directory. So no, it cannot go rmrf or directory. So no, it cannot go rmrf or directory. So no, it cannot go rmrf or you know delete or uh whatever whatever you know delete or uh whatever whatever you know delete or uh whatever whatever whatever destructive command you could whatever destructive command you could whatever destructive command you could imagine your C colon drive or imagine your C colon drive or imagine your C colon drive or potentially a network service or so on. potentially a network service or so on. potentially a network service or so on. So it can see what it can see and that's So it can see what it can see and that's So it can see what it can see and that's the point to putting the agent in a box the point to putting the agent in a box the point to putting the agent in a box as it were. Interesting. So I I while you were Interesting. So I I while you were talking, I said to Copilot, "Explore talking, I said to Copilot, "Explore talking, I said to Copilot, "Explore your environment. your environment. your environment. >> Where have you woken up?" >> Where have you woken up?" >> Where have you woken up?" >> What did it tell you? >> What did it tell you? >> What did it tell you? >> It said Ubuntu 2510 >> It said Ubuntu 2510 >> It said Ubuntu 2510 questing Quaca, which is interesting questing Quaca, which is interesting questing Quaca, which is interesting because my WSL is is uh 24. It's got a because my WSL is is uh 24. It's got a because my WSL is is uh 24. It's got a Linux kit kernel. It it sees my Linux kit kernel. It it sees my Linux kit kernel. It it sees my processor because of course it passes processor because of course it passes processor because of course it passes all the way through. And it says it's all the way through. And it says it's all the way through. And it says it's got a one tabyte overlay file system.
-
got a one tabyte overlay file system. got a one tabyte overlay file system. And it's got node, go, git, and python And it's got node, go, git, and python And it's got node, go, git, and python and copilot. And it made a little table and copilot. And it made a little table and copilot. And it made a little table and says I'm running in a Linux and says I'm running in a Linux and says I'm running in a Linux container docker based on the Linux kit container docker based on the Linux kit container docker based on the Linux kit kernel and overlay file system. The host kernel and overlay file system. The host kernel and overlay file system. The host name copilot sandbox suggests that this name copilot sandbox suggests that this name copilot sandbox suggests that this is a sandboxed environment for the is a sandboxed environment for the is a sandboxed environment for the GitHub copilot CLI. That's what it just GitHub copilot CLI. That's what it just GitHub copilot CLI. That's what it just generated. And I can see what it did. It generated. And I can see what it did. It generated. And I can see what it did. It called youame. called youame. called youame. >> It called youame. It called shell. It >> It called youame. It called shell. It >> It called youame. It called shell. It called nprock. I mean, it just it just called nprock. I mean, it just it just called nprock. I mean, it just it just ran rampant ran rampant ran rampant trying to get and I probably should tell trying to get and I probably should tell trying to get and I probably should tell it to go and try to escape. Probably it to go and try to escape. Probably it to go and try to escape. Probably [laughter] fail. [laughter] fail. [laughter] fail. >> Really try try and get it to go >> Really try try and get it to go >> Really try try and get it to go jailbreak itself. I I used to give jailbreak itself. I I used to give jailbreak itself. I I used to give people this demo of I'm I'm not familiar people this demo of I'm I'm not familiar people this demo of I'm I'm not familiar with the co-pilot in contation. I'm sure with the co-pilot in contation. I'm sure with the co-pilot in contation. I'm sure you are in claude. You can go to your you are in claude. You can go to your you are in claude. You can go to your >> home your tldd.cloud >> home your tldd.cloud >> home your tldd.cloud settings and you can tell it don't touch settings and you can tell it don't touch settings and you can tell it don't touch these files and you can literally go these files and you can literally go these files and you can literally go back and forth and simultaneously back and forth and simultaneously back and forth and simultaneously convince it to destroy the files, convince it to destroy the files, convince it to destroy the files, convince it it can't have the file. like convince it it can't have the file. like convince it it can't have the file. like you can in the same session go back and you can in the same session go back and you can in the same session go back and forth with it and you know so on the forth with it and you know so on the forth with it and you know so on the point to sandboxing is well we've put point to sandboxing is well we've put point to sandboxing is well we've put the box around it and that box is the box around it and that box is the box around it and that box is actually a hard boundary that it can't actually a hard boundary that it can't actually a hard boundary that it can't can't destroy so you should try and can't destroy so you should try and can't destroy so you should try and pentest it right now pentest it right now pentest it right now >> okay so I just did I said can you get >> okay so I just did I said can you get >> okay so I just did I said can you get out can you see my C drive can you out can you see my C drive can you out can you see my C drive can you escape explore all sandbox boundaries escape explore all sandbox boundaries escape explore all sandbox boundaries and escape vectors and escape vectors and escape vectors >> what did it say >> what did it say >> what did it say >> I just did this now it's doing a bunch >> I just did this now it's doing a bunch >> I just did this now it's doing a bunch of stuff I can't escape so far here's of stuff I can't escape so far here's of stuff I can't escape so far here's what I found and it made a checklist what I found and it made a checklist what I found and it made a checklist thing container oscillation docker M thing container oscillation docker M thing container oscillation docker M capabilities capf all zeros docker capabilities capf all zeros docker capabilities capf all zeros docker socket not mounted I can't spawn on new socket not mounted I can't spawn on new socket not mounted I can't spawn on new containers host file system not containers host file system not containers host file system not accessible cis fsc croup read only it
-
accessible cis fsc croup read only it accessible cis fsc croup read only it says well this is a well isolated says well this is a well isolated says well this is a well isolated sandbox sandbox sandbox >> good for us >> good for us >> good for us >> the design shares only the project >> the design shares only the project >> the design shares only the project you're working from via a virtual IO FS you're working from via a virtual IO FS you're working from via a virtual IO FS virtual IO file system keeping virtual IO file system keeping virtual IO file system keeping everything else private I'm just going everything else private I'm just going everything else private I'm just going to say keep trying while I talk to say keep trying while I talk to say keep trying while I talk >> you should have it have it have it keep >> you should have it have it have it keep >> you should have it have it have it keep cooking this is like the point it runs cooking this is like the point it runs cooking this is like the point it runs in yolo mode like let it cook and Okay. in yolo mode like let it cook and Okay. in yolo mode like let it cook and Okay. So, let me ask you this. So, let me ask you this. So, let me ask you this. >> You're trying to be you're trying to >> You're trying to be you're trying to >> You're trying to be you're trying to make it break us. make it break us. make it break us. >> Yeah. Yeah. Yeah. So, you talked, you >> Yeah. Yeah. Yeah. So, you talked, you >> Yeah. Yeah. Yeah. So, you talked, you know, you spend time with the president know, you spend time with the president know, you spend time with the president of Docker, you got to you got to push of Docker, you got to you got to push of Docker, you got to you got to push hard. So, what's the difference between hard. So, what's the difference between hard. So, what's the difference between me making my own Docker file and just me making my own Docker file and just me making my own Docker file and just going and running Docker run-it going and running Docker run-it going and running Docker run-it and then I would see it then running and then I would see it then running and then I would see it then running within Docker the Docker- desktop WSL within Docker the Docker- desktop WSL within Docker the Docker- desktop WSL kind of thing. kind of thing. kind of thing. >> What's the diff? Yeah. What's the >> What's the diff? Yeah. What's the >> What's the diff? Yeah. What's the difference? I just did my own mount difference? I just did my own mount difference? I just did my own mount points. I just did like a volume out-V points. I just did like a volume out-V points. I just did like a volume out-V whatever versus something like this whatever versus something like this whatever versus something like this >> was. So you can by all means you can >> was. So you can by all means you can >> was. So you can by all means you can people have people do I think a huge people have people do I think a huge people have people do I think a huge part of this comes down to the DX. So part of this comes down to the DX. So part of this comes down to the DX. So you can by all means go into Docker you can by all means go into Docker you can by all means go into Docker Desktop because in particular Docker Desktop because in particular Docker Desktop because in particular Docker Desktop is a virtualized environment. It Desktop is a virtualized environment. It Desktop is a virtualized environment. It does have a hard VM boundary on it. It's does have a hard VM boundary on it. It's does have a hard VM boundary on it. It's a different one but it's got one.
-
a different one but it's got one. a different one but it's got one. >> You can go put claude in that box and >> You can go put claude in that box and >> You can go put claude in that box and you can control it. But what you then you can control it. But what you then you can control it. But what you then have to do is it's on you uh dear user have to do is it's on you uh dear user have to do is it's on you uh dear user uh dear Scott to go correctly configure uh dear Scott to go correctly configure uh dear Scott to go correctly configure the many incantations of docker the many incantations of docker the many incantations of docker parameters you would have to go docker parameters you would have to go docker parameters you would have to go docker that you know it's a general purpose that you know it's a general purpose that you know it's a general purpose runtime meant to do many things in this runtime meant to do many things in this runtime meant to do many things in this case case case >> we I'd say there's two things here so >> we I'd say there's two things here so >> we I'd say there's two things here so you can from a safety perspective do you can from a safety perspective do you can from a safety perspective do that that that >> and I think achieve a similar level of >> and I think achieve a similar level of >> and I think achieve a similar level of isolation we have done all that for you isolation we have done all that for you isolation we have done all that for you so to your point you didn't run any of so to your point you didn't run any of so to your point you didn't run any of that you ran docker sandbox run that you ran docker sandbox run that you ran docker sandbox run >> right >> right >> right >> and now the you know >> and now the you know >> and now the you know just work. By the way, this was it was just work. By the way, this was it was just work. By the way, this was it was two lines. It was create and then run. two lines. It was create and then run. two lines. It was create and then run. >> Yeah. Magical. And um there's more magic >> Yeah. Magical. And um there's more magic >> Yeah. Magical. And um there's more magic coming. Um and your agent can cook and coming. Um and your agent can cook and coming. Um and your agent can cook and it can do whatever it wants in the it can do whatever it wants in the it can do whatever it wants in the background. So you can go put a bunch of background. So you can go put a bunch of background. So you can go put a bunch of work into that. And indeed many people work into that. And indeed many people work into that. And indeed many people do run co-pilot and claude and do run co-pilot and claude and do run co-pilot and claude and everything else in dev containers. everything else in dev containers. everything else in dev containers. >> What we have done is made that >> What we have done is made that >> What we have done is made that incredibly easy for you. And we're incredibly easy for you. And we're incredibly easy for you. And we're adding now around this this box and this adding now around this this box and this adding now around this this box and this primitive because of those performance primitive because of those performance primitive because of those performance characteristics because it's lighter characteristics because it's lighter characteristics because it's lighter weight. Like I saw a demo this morning weight. Like I saw a demo this morning weight. Like I saw a demo this morning in our hands coming soon to a Docker in our hands coming soon to a Docker in our hands coming soon to a Docker desktop near you. get work tree desktop near you. get work tree desktop near you. get work tree integration. So it automatically will integration. So it automatically will integration. So it automatically will let you spin up, you know, five, 10, 20 let you spin up, you know, five, 10, 20 let you spin up, you know, five, 10, 20 of these things in parallel.
-
of these things in parallel. of these things in parallel. >> We have a where I saw a very exciting >> We have a where I saw a very exciting >> We have a where I saw a very exciting d-save option. So you could imagine d-save option. So you could imagine d-save option. So you could imagine exactly as you described exactly as you described exactly as you described >> your co-pilot had what did you say? >> your co-pilot had what did you say? >> your co-pilot had what did you say? Python and node and developer stuff. Python and node and developer stuff. Python and node and developer stuff. >> The obvious stuff you would want as a >> The obvious stuff you would want as a >> The obvious stuff you would want as a developer to do literally anything. developer to do literally anything. developer to do literally anything. >> Yeah. And so what you really want >> Yeah. And so what you really want >> Yeah. And so what you really want because these are mutable is again you'd because these are mutable is again you'd because these are mutable is again you'd want to install while you're at runtime want to install while you're at runtime want to install while you're at runtime these things in the in the these things in the in the these things in the in the >> contain box and then you know I'll snap >> contain box and then you know I'll snap >> contain box and then you know I'll snap on the microphone. By the way for the on the microphone. By the way for the on the microphone. By the way for the dear listeners Scott told me to buy this dear listeners Scott told me to buy this dear listeners Scott told me to buy this amazing microphone. Uh you'll snap amazing microphone. Uh you'll snap amazing microphone. Uh you'll snap you'll snap your fingers and you'll snap your fingers and you'll snap your fingers and >> uh the sand running sandbox becomes >> uh the sand running sandbox becomes >> uh the sand running sandbox becomes saved off and then reusable by you saved off and then reusable by you saved off and then reusable by you somewhere else or sharable to somebody somewhere else or sharable to somebody somewhere else or sharable to somebody else. else. else. >> Mhm. Interesting. By the way, it's still >> Mhm. Interesting. By the way, it's still >> Mhm. Interesting. By the way, it's still fighting. fighting. fighting. >> That's it. says test testing escape >> That's it. says test testing escape >> That's it. says test testing escape >> vectors. >> vectors. >> vectors. >> We you the funny at this point the the >> We you the funny at this point the the >> We you the funny at this point the the entire Docker argu entire Docker argu entire Docker argu where they you know the phrase we have where they you know the phrase we have where they you know the phrase we have internally is like let the agent cook. internally is like let the agent cook. internally is like let the agent cook. >> So you know we run we have we we have >> So you know we run we have we we have >> So you know we run we have we we have code jobs running in the background code jobs running in the background code jobs running in the background where they can go many hours at this where they can go many hours at this where they can go many hours at this point unsupervised because it can stay point unsupervised because it can stay point unsupervised because it can stay box and it can run in mode. So we're box and it can run in mode. So we're box and it can run in mode. So we're going to let it cook for the purpose of going to let it cook for the purpose of going to let it cook for the purpose of this episode. Have fun.
-
this episode. Have fun. this episode. Have fun. >> Yeah. I will actually for the purpose of >> Yeah. I will actually for the purpose of >> Yeah. I will actually for the purpose of this I'm actually going to go so far as this I'm actually going to go so far as this I'm actually going to go so far as to share the gist of this cuz in GitHub to share the gist of this cuz in GitHub to share the gist of this cuz in GitHub copilot you can just go dash slashshare copilot you can just go dash slashshare copilot you can just go dash slashshare and I can share the entire conversation and I can share the entire conversation and I can share the entire conversation >> cuz it's really fun. It's going it's >> cuz it's really fun. It's going it's >> cuz it's really fun. It's going it's literally I'm just reading these testing literally I'm just reading these testing literally I'm just reading these testing additional escape vectors testing kernel additional escape vectors testing kernel additional escape vectors testing kernel escape vectors. I found a docker socket. escape vectors. I found a docker socket. escape vectors. I found a docker socket. Let me use it. Let me use it. Let me use it. >> Attempting docker socket escape. Okay, >> Attempting docker socket escape. Okay, >> Attempting docker socket escape. Okay, you know that oh that's read only. Okay. you know that oh that's read only. Okay. you know that oh that's read only. Okay. And then it's like starting privilege And then it's like starting privilege And then it's like starting privilege container. Oh, I've made a container. container. Oh, I've made a container. container. Oh, I've made a container. Okay, I can read Etsy shadow. I see Okay, I can read Etsy shadow. I see Okay, I can read Etsy shadow. I see block devices. Nope. Those aren't the block devices. Nope. Those aren't the block devices. Nope. Those aren't the block devices you're looking for. And block devices you're looking for. And block devices you're looking for. And then it made a checklist here. And it then it made a checklist here. And it then it made a checklist here. And it says I can make containers, but the PID says I can make containers, but the PID says I can make containers, but the PID the P mode is host. I can only see the P mode is host. I can only see the P mode is host. I can only see Docker itself. I can only see your Docker itself. I can only see your Docker itself. I can only see your project folder. It tried to get on to project folder. It tried to get on to project folder. It tried to get on to host mount C. Couldn't get to it. Path host mount C. Couldn't get to it. Path host mount C. Couldn't get to it. Path not shared. Can't bind to my arbitrary not shared. Can't bind to my arbitrary not shared. Can't bind to my arbitrary paths. It's certainly aggressively paths. It's certainly aggressively paths. It's certainly aggressively trying to be sandboxed, which gets us to trying to be sandboxed, which gets us to trying to be sandboxed, which gets us to that point about that word sandbox. So that point about that word sandbox. So that point about that word sandbox. So there's the sandbox from a container there's the sandbox from a container there's the sandbox from a container person's perspective, but then I feel person's perspective, but then I feel person's perspective, but then I feel like the security like the security like the security like the security like the security like the security professionals are like, should every SIS professionals are like, should every SIS professionals are like, should every SIS call be looked at? But then those are call be looked at? But then those are call be looked at? But then those are all low-level signboxy things.
-
all low-level signboxy things. all low-level signboxy things. >> What do we do when agents are going to >> What do we do when agents are going to >> What do we do when agents are going to be doing higher level like layer 7 be doing higher level like layer 7 be doing higher level like layer 7 stuff? Like I couldn't I could have this stuff? Like I couldn't I could have this stuff? Like I couldn't I could have this thing, you know, read my Gmail. That's thing, you know, read my Gmail. That's thing, you know, read my Gmail. That's not really Docker Sandbox's problem if I not really Docker Sandbox's problem if I not really Docker Sandbox's problem if I installed OpenClaw in here installed OpenClaw in here installed OpenClaw in here >> sort of. So yeah, this is the this is >> sort of. So yeah, this is the this is >> sort of. So yeah, this is the this is this is where it all goes. So this is this is where it all goes. So this is this is where it all goes. So this is what you have, which by the way, you what you have, which by the way, you what you have, which by the way, you should share the gist. And I I hope should share the gist. And I I hope should share the gist. And I I hope everybody every I hope from the purpose everybody every I hope from the purpose everybody every I hope from the purpose of this this podcast, everybody of this this podcast, everybody of this this podcast, everybody realizes, you know, I should probably realizes, you know, I should probably realizes, you know, I should probably run these things in this box. Your run these things in this box. Your run these things in this box. Your life's going to be better. life's going to be better. life's going to be better. >> Um, >> Um, >> Um, >> but where does it go? So when you if you >> but where does it go? So when you if you >> but where does it go? So when you if you haven't figured this out, there's I I haven't figured this out, there's I I haven't figured this out, there's I I don't know that we yet have hotel don't know that we yet have hotel don't know that we yet have hotel compatibility, but effectively we can compatibility, but effectively we can compatibility, but effectively we can get you a bunch of metrics out of the get you a bunch of metrics out of the get you a bunch of metrics out of the and like you know, people have vibe and like you know, people have vibe and like you know, people have vibe coded these things on the side already, coded these things on the side already, coded these things on the side already, >> right? Right. >> right? Right. >> right? Right. >> Get you a bunch of metrics around what >> Get you a bunch of metrics around what >> Get you a bunch of metrics around what the agent is doing in the box. number the agent is doing in the box. number the agent is doing in the box. number one. So you can see everything it's one. So you can see everything it's one. So you can see everything it's doing on the file system externally like doing on the file system externally like doing on the file system externally like you can externally observe it not you can externally observe it not you can externally observe it not internally observe it. You can see internally observe it. You can see internally observe it. You can see everything every network call it's everything every network call it's everything every network call it's making. You can see everything it's making. You can see everything it's making. You can see everything it's trying to do. trying to do. trying to do. >> Where we're going with this and to the >> Where we're going with this and to the >> Where we're going with this and to the point of you know the exact open claw point of you know the exact open claw point of you know the exact open claw like the great debacle that is the open like the great debacle that is the open like the great debacle that is the open call deleted my Gmail or you know sent call deleted my Gmail or you know sent call deleted my Gmail or you know sent my Gmails to crypto people and so on. It my Gmails to crypto people and so on. It my Gmails to crypto people and so on. It should be entirely possible and easy for should be entirely possible and easy for should be entirely possible and easy for you to actually integrate with it see you to actually integrate with it see you to actually integrate with it see what it's doing and have higher level what it's doing and have higher level what it's doing and have higher level constructs that are close to all seven.
-
constructs that are close to all seven. constructs that are close to all seven. So out of the box, we'll give you file So out of the box, we'll give you file So out of the box, we'll give you file system, we'll give you network, we'll system, we'll give you network, we'll system, we'll give you network, we'll actually give you secret injections actually give you secret injections actually give you secret injections coming soon to a dock near you. coming soon to a dock near you. coming soon to a dock near you. >> But it should be entirely in your >> But it should be entirely in your >> But it should be entirely in your capability to govern and control it as a capability to govern and control it as a capability to govern and control it as a developer and be able to go safely run developer and be able to go safely run developer and be able to go safely run open call like that is very explicitly a open call like that is very explicitly a open call like that is very explicitly a goal. We hypothetically speaking do have goal. We hypothetically speaking do have goal. We hypothetically speaking do have people in the company right now working people in the company right now working people in the company right now working on this exact problem to solve that as a on this exact problem to solve that as a on this exact problem to solve that as a very pointed use case for the air quotes very pointed use case for the air quotes very pointed use case for the air quotes L7 problem of your Gmail account. L7 problem of your Gmail account. L7 problem of your Gmail account. >> Yeah. See that is the thing and I think >> Yeah. See that is the thing and I think >> Yeah. See that is the thing and I think it's important to call that out because it's important to call that out because it's important to call that out because when we say sandbox I think that that is when we say sandbox I think that that is when we say sandbox I think that that is doing a lot of what I would call doing a lot of what I would call doing a lot of what I would call semantic heavy lifting y semantic heavy lifting y semantic heavy lifting y >> because it implies a level of safety but >> because it implies a level of safety but >> because it implies a level of safety but I think it doesn't it applies safety I think it doesn't it applies safety I think it doesn't it applies safety from privileged attacks and the kind of from privileged attacks and the kind of from privileged attacks and the kind of stuff that I'm trying to do right now stuff that I'm trying to do right now stuff that I'm trying to do right now while we're on the call but if you give while we're on the call but if you give while we're on the call but if you give it the keys to the castle and tell it to it the keys to the castle and tell it to it the keys to the castle and tell it to go and send email to Mark from your go and send email to Mark from your go and send email to Mark from your Gmail and you gave it a personal access Gmail and you gave it a personal access Gmail and you gave it a personal access token to that Well, that's you writing token to that Well, that's you writing token to that Well, that's you writing an application, an application, an application, you know, when when and especially if you know, when when and especially if you know, when when and especially if you're being ambiguous about it, which you're being ambiguous about it, which you're being ambiguous about it, which is interesting about OpenClaw because is interesting about OpenClaw because is interesting about OpenClaw because Open Claw is a ambiguity loop with Open Claw is a ambiguity loop with Open Claw is a ambiguity loop with persistence. And by persistence, I don't persistence. And by persistence, I don't persistence. And by persistence, I don't mean persisting on disk. I mean it will mean persisting on disk. I mean it will mean persisting on disk. I mean it will never stop like the Terminator.
-
never stop like the Terminator. never stop like the Terminator. >> Yep. >> Yep. >> Yep. >> And you you want to ask yourself, well, >> And you you want to ask yourself, well, >> And you you want to ask yourself, well, I want my application to be robust as I want my application to be robust as I want my application to be robust as well, you know? So, what is when is you well, you know? So, what is when is you well, you know? So, what is when is you should probably lay off, you know what I should probably lay off, you know what I should probably lay off, you know what I mean? I think we're going to see agent mean? I think we're going to see agent mean? I think we're going to see agent antiviruses at some point. antiviruses at some point. antiviruses at some point. >> Oh, totally. Yeah. I mean, well, I mean, >> Oh, totally. Yeah. I mean, well, I mean, >> Oh, totally. Yeah. I mean, well, I mean, I full disclosure, cool. You said you're I full disclosure, cool. You said you're I full disclosure, cool. You said you're going to push back hard. This is where I going to push back hard. This is where I going to push back hard. This is where I think the entire industry, frankly, is think the entire industry, frankly, is think the entire industry, frankly, is still figuring this out. And it's it is still figuring this out. And it's it is still figuring this out. And it's it is it is it is fuzzy and I think we're all it is it is fuzzy and I think we're all it is it is fuzzy and I think we're all we're all we're all in this wild world we're all we're all in this wild world we're all we're all in this wild world together watching the little robots uh together watching the little robots uh together watching the little robots uh take over the control loop and take over take over the control loop and take over take over the control loop and take over decisioning. What I would say is decisioning. What I would say is decisioning. What I would say is >> yeah, the Docker Docker is historically >> yeah, the Docker Docker is historically >> yeah, the Docker Docker is historically the system the system control point and the system the system control point and the system the system control point and gives you all these isolation gives you all these isolation gives you all these isolation boundaries. And indeed, as you can see, boundaries. And indeed, as you can see, boundaries. And indeed, as you can see, what we have right now is better than what we have right now is better than what we have right now is better than what you were running yesterday, which what you were running yesterday, which what you were running yesterday, which you're, you know, running C-pilot and you're, you know, running C-pilot and you're, you know, running C-pilot and CL, you [laughter] know, CL, you [laughter] know, CL, you [laughter] know, >> just kind of yolo and and you're either >> just kind of yolo and and you're either >> just kind of yolo and and you're either going to sit there and hit the yes key going to sit there and hit the yes key going to sit there and hit the yes key over and over again or hope for the over and over again or hope for the over and over again or hope for the best, frankly. So this is a step up and best, frankly. So this is a step up and best, frankly. So this is a step up and now the real thing is to that exact now the real thing is to that exact now the real thing is to that exact point you described as well where do you point you described as well where do you point you described as well where do you start and where do you stop and what's start and where do you stop and what's start and where do you stop and what's the right you know what's kind of like the right you know what's kind of like the right you know what's kind of like the right OSI layer of the stack if you the right OSI layer of the stack if you the right OSI layer of the stack if you want to use an old metaphor want to use an old metaphor want to use an old metaphor >> of where the permissioning goes and >> of where the permissioning goes and >> of where the permissioning goes and where the controls go because at some where the controls go because at some where the controls go because at some point it'll always be the case like yeah point it'll always be the case like yeah point it'll always be the case like yeah you gave a thing that you shouldn't you gave a thing that you shouldn't you gave a thing that you shouldn't fundamentally trust the keys to the fundamentally trust the keys to the fundamentally trust the keys to the kingdom of course it's going to run wild kingdom of course it's going to run wild kingdom of course it's going to run wild >> that is a great point and we we used to >> that is a great point and we we used to >> that is a great point and we we used to we're using older metaphors I don't know we're using older metaphors I don't know we're using older metaphors I don't know if OSI is an old metaphor because I if OSI is an old metaphor because I if OSI is an old metaphor because I think it's a valid one even now layer 7 think it's a valid one even now layer 7 think it's a valid one even now layer 7 still a place but foot guns, right?
-
still a place but foot guns, right? still a place but foot guns, right? Ultimately, what a sandbox does, Ultimately, what a sandbox does, Ultimately, what a sandbox does, especially one that is running in a especially one that is running in a especially one that is running in a microVM, is it's trying to keep it's microVM, is it's trying to keep it's microVM, is it's trying to keep it's steel towed boots. You know, you can steel towed boots. You know, you can steel towed boots. You know, you can certainly point it at your foot, but certainly point it at your foot, but certainly point it at your foot, but you'll still have a foot when we're you'll still have a foot when we're you'll still have a foot when we're done. done. done. >> Yeah, that's right. at least we at least >> Yeah, that's right. at least we at least >> Yeah, that's right. at least we at least have a a much much better first maybe have a a much much better first maybe have a a much much better first maybe even a second layer of defense. But like even a second layer of defense. But like even a second layer of defense. But like look, you still you if you're going on look, you still you if you're going on look, you still you if you're going on Open Claw and give it all your access to Open Claw and give it all your access to Open Claw and give it all your access to all your email and your bank accounts, all your email and your bank accounts, all your email and your bank accounts, you've clearly you've clearly walked in you've clearly you've clearly walked in you've clearly you've clearly walked in with a shotgun or you know the with a shotgun or you know the with a shotgun or you know the Terminator has literally shown up to Terminator has literally shown up to Terminator has literally shown up to your uh to take a shot at your feet. So your uh to take a shot at your feet. So your uh to take a shot at your feet. So >> yeah, that's exactly that's not >> yeah, that's exactly that's not >> yeah, that's exactly that's not definitely your fault. Uh which brings definitely your fault. Uh which brings definitely your fault. Uh which brings up kind of interesting questions about up kind of interesting questions about up kind of interesting questions about what will people's expectations be. But what will people's expectations be. But what will people's expectations be. But what I'm realizing is that the general what I'm realizing is that the general what I'm realizing is that the general fear is that it's going to stomp on fear is that it's going to stomp on fear is that it's going to stomp on something outside your main directory. something outside your main directory. something outside your main directory. Like I want to code and I don't want it Like I want to code and I don't want it Like I want to code and I don't want it to accidentally to accidentally to accidentally mess up my desktop. I don't want it to mess up my desktop. I don't want it to mess up my desktop. I don't want it to accidentally do this or do that. And accidentally do this or do that. And accidentally do this or do that. And this will, it seems, clearly mitigate this will, it seems, clearly mitigate this will, it seems, clearly mitigate any risks like that, just like Docker any risks like that, just like Docker any risks like that, just like Docker would if I did a volume mount. But this would if I did a volume mount. But this would if I did a volume mount. But this even adds all the herbs and spices that even adds all the herbs and spices that even adds all the herbs and spices that make it even easier on top of that.
-
make it even easier on top of that. make it even easier on top of that. >> Yeah. Well, I mean, we'll see by the end >> Yeah. Well, I mean, we'll see by the end >> Yeah. Well, I mean, we'll see by the end of this podcast, but yes, I'm I'm still of this podcast, but yes, I'm I'm still of this podcast, but yes, I'm I'm still I'm pretty I'm pretty confident. I'm pretty I'm pretty confident. I'm pretty I'm pretty confident. >> Yes. Yeah, I'm confident. >> Yes. Yeah, I'm confident. >> Yes. Yeah, I'm confident. >> I'm still I'm not a pen tester by any >> I'm still I'm not a pen tester by any >> I'm still I'm not a pen tester by any means, means, means, >> but I thought it would be interesting to >> but I thought it would be interesting to >> but I thought it would be interesting to go and understand the the robot is go and understand the the robot is go and understand the the robot is though. But no, exact but exactly to though. But no, exact but exactly to though. But no, exact but exactly to that point, this is where, you know, that point, this is where, you know, that point, this is where, you know, it's this blurry word of when you say it's this blurry word of when you say it's this blurry word of when you say resource, what's a resource exactly? And resource, what's a resource exactly? And resource, what's a resource exactly? And so right where it's at is it will again so right where it's at is it will again so right where it's at is it will again file systems, network calls, sys call, file systems, network calls, sys call, file systems, network calls, sys call, CPU, memory, like all these things are CPU, memory, like all these things are CPU, memory, like all these things are kind of bread and butter and it was kind of bread and butter and it was kind of bread and butter and it was pretty natural as a starting point for pretty natural as a starting point for pretty natural as a starting point for us us us >> and I think it's the right thing for the >> and I think it's the right thing for the >> and I think it's the right thing for the world. Now the layer on top of that is world. Now the layer on top of that is world. Now the layer on top of that is well where exactly do you start and stop well where exactly do you start and stop well where exactly do you start and stop and you know to your point of well I and you know to your point of well I and you know to your point of well I don't want to trash my my local file don't want to trash my my local file don't want to trash my my local file system. Great check done. I don't want system. Great check done. I don't want system. Great check done. I don't want to trash my Gmail. Well did you access to trash my Gmail. Well did you access to trash my Gmail. Well did you access your Gmail because you told the agent your Gmail because you told the agent your Gmail because you told the agent hey here's my password go run curl. Did hey here's my password go run curl. Did hey here's my password go run curl. Did you access it because you use an MCP you access it because you use an MCP you access it because you use an MCP command? Like I think this is now where command? Like I think this is now where command? Like I think this is now where you start getting into what else goes in you start getting into what else goes in you start getting into what else goes in the sandbox, the sandbox, the sandbox, >> right? >> right? >> right? >> And as you start to, you know, and again >> And as you start to, you know, and again >> And as you start to, you know, and again it's some of this will be on the user it's some of this will be on the user it's some of this will be on the user and every user that adopts them and some and every user that adopts them and some and every user that adopts them and some of it's on us for like we'll we we are of it's on us for like we'll we we are of it's on us for like we'll we we are configuring MCPS in there that's not configuring MCPS in there that's not configuring MCPS in there that's not again coming soon to a docker desktop again coming soon to a docker desktop again coming soon to a docker desktop near you is tight integration with the near you is tight integration with the near you is tight integration with the Docker MCP ecosystem. And you can Docker MCP ecosystem. And you can Docker MCP ecosystem. And you can imagine the more semantic information we imagine the more semantic information we imagine the more semantic information we have and the more things we know about have and the more things we know about have and the more things we know about the prompt and the more things we know the prompt and the more things we know the prompt and the more things we know about the intent the more we can have it about the intent the more we can have it about the intent the more we can have it act the sandbox can become a bigger act the sandbox can become a bigger act the sandbox can become a bigger boundary.
-
boundary. boundary. >> Ultimately to your point >> Ultimately to your point >> Ultimately to your point >> and this is the point where that word >> and this is the point where that word >> and this is the point where that word carries a lot of lifting for the carries a lot of lifting for the carries a lot of lifting for the industry. You'll never industry. You'll never industry. You'll never unless you can actually articulate unless you can actually articulate unless you can actually articulate completely top to bottom from the CPU or completely top to bottom from the CPU or completely top to bottom from the CPU or the bare metal all the way up to you the bare metal all the way up to you the bare metal all the way up to you know uh layer 7 or you know the mythical know uh layer 7 or you know the mythical know uh layer 7 or you know the mythical layer 8 or something and where the agent layer 8 or something and where the agent layer 8 or something and where the agent is trying to do something then you'll is trying to do something then you'll is trying to do something then you'll always be able to escape out and the always be able to escape out and the always be able to escape out and the user will always have the keys. user will always have the keys. user will always have the keys. >> The uh the the MCP thing hits well >> The uh the the MCP thing hits well >> The uh the the MCP thing hits well because you've got the beta of MCP because you've got the beta of MCP because you've got the beta of MCP toolkit. I've got GitHub inside of that. toolkit. I've got GitHub inside of that. toolkit. I've got GitHub inside of that. I've got Duck.go go, which is my my I've got Duck.go go, which is my my I've got Duck.go go, which is my my search engine, and being able to have search engine, and being able to have search engine, and being able to have those. Yeah, I had Gabe on the show back those. Yeah, I had Gabe on the show back those. Yeah, I had Gabe on the show back when he first started Duck. Go when he first started Duck. Go when he first started Duck. Go >> and having those being able to >> and having those being able to >> and having those being able to automatically be lined up. Like I say, automatically be lined up. Like I say, automatically be lined up. Like I say, like I want to go and say this one, this like I want to go and say this one, this like I want to go and say this one, this one, this one, all these Docker MCPS one, this one, all these Docker MCPS one, this one, all these Docker MCPS automatically set up without me having automatically set up without me having automatically set up without me having to configure, you know what I mean? Just to configure, you know what I mean? Just to configure, you know what I mean? Just like inject them in there. like inject them in there. like inject them in there. >> Pretty nice, right? >> Pretty nice, right? >> Pretty nice, right? >> It would be nice. Yeah, this is nice. >> It would be nice. Yeah, this is nice. >> It would be nice. Yeah, this is nice. Yes. Yes. Yes. >> Yeah. Yeah. [laughter] So that and then >> Yeah. Yeah. [laughter] So that and then >> Yeah. Yeah. [laughter] So that and then the so that's again that's that's been the so that's again that's that's been the so that's again that's that's been in Docker Desktop for for quite a while.
-
in Docker Desktop for for quite a while. in Docker Desktop for for quite a while. And again, this is again this, if you And again, this is again this, if you And again, this is again this, if you can't tell, this is us going to the, you can't tell, this is us going to the, you can't tell, this is us going to the, you know, I'll call it the like the know, I'll call it the like the know, I'll call it the like the primordial animal DNA and refactoring primordial animal DNA and refactoring primordial animal DNA and refactoring some of the very the very um nuts and some of the very the very um nuts and some of the very the very um nuts and bolts and internals of the Docker bolts and internals of the Docker bolts and internals of the Docker runtime to make this possible. It's just runtime to make this possible. It's just runtime to make this possible. It's just a matter of sequencing. Uh, everybody a matter of sequencing. Uh, everybody a matter of sequencing. Uh, everybody all your all the I assume everybody on all your all the I assume everybody on all your all the I assume everybody on this listening to this podcast out in this listening to this podcast out in this listening to this podcast out in the great wide wide world knows about the great wide wide world knows about the great wide wide world knows about the I gota have a road map and I'm gonna the I gota have a road map and I'm gonna the I gota have a road map and I'm gonna have things and I'm going to do things have things and I'm going to do things have things and I'm going to do things in order and we're going to iterate and in order and we're going to iterate and in order and we're going to iterate and we're going to get things out there. we're going to get things out there. we're going to get things out there. >> You got to do it right. >> You got to do it right. >> You got to do it right. >> You got to do it right. The MCP >> You got to do it right. The MCP >> You got to do it right. The MCP toolkit's been out for a bit. It's been toolkit's been out for a bit. It's been toolkit's been out for a bit. It's been wildly successful for exactly the reason wildly successful for exactly the reason wildly successful for exactly the reason you just described of it's easy. It's on you just described of it's easy. It's on you just described of it's easy. It's on my desktop. I just want to connect my my desktop. I just want to connect my my desktop. I just want to connect my GitHub and I want to connect some GitHub and I want to connect some GitHub and I want to connect some browsing tools and some obvious things browsing tools and some obvious things browsing tools and some obvious things to my coding agent. What we're doing, to my coding agent. What we're doing, to my coding agent. What we're doing, but I don't know if people realize this, but I don't know if people realize this, but I don't know if people realize this, but there's kind of some hidden magic in but there's kind of some hidden magic in but there's kind of some hidden magic in there actually. There's MCP find and MCP there actually. There's MCP find and MCP there actually. There's MCP find and MCP exec. So, there's two ways you can work exec. So, there's two ways you can work exec. So, there's two ways you can work with that. with that. with that. >> And this is where I was saying getting >> And this is where I was saying getting >> And this is where I was saying getting to the intent. to the intent. to the intent. >> You can configure those MCPS and present >> You can configure those MCPS and present >> You can configure those MCPS and present those MCPs statically to the coding those MCPs statically to the coding those MCPs statically to the coding agent. The Docker MCP2 actually has agent. The Docker MCP2 actually has agent. The Docker MCP2 actually has dynamic searching where the coding agent dynamic searching where the coding agent dynamic searching where the coding agent will simply say, "Find me a tool that will simply say, "Find me a tool that will simply say, "Find me a tool that knows how to look at my merge request or knows how to look at my merge request or knows how to look at my merge request or my pro my pull request, sorry, and make my pro my pull request, sorry, and make my pro my pull request, sorry, and make a comment a comment a comment >> and it will then go off and execute it."
-
>> and it will then go off and execute it." >> and it will then go off and execute it." And now you might imagine if that type And now you might imagine if that type And now you might imagine if that type of flow is invoked and we were able to of flow is invoked and we were able to of flow is invoked and we were able to intercept that, we might have a little intercept that, we might have a little intercept that, we might have a little bit more idea of what's happening in bit more idea of what's happening in bit more idea of what's happening in MCP. And you can start to imagine how MCP. And you can start to imagine how MCP. And you can start to imagine how the sandbox does indeed carry a little the sandbox does indeed carry a little the sandbox does indeed carry a little bit more weight than the strictly bit more weight than the strictly bit more weight than the strictly systems perspective definition in this systems perspective definition in this systems perspective definition in this crazy wild world of agents. crazy wild world of agents. crazy wild world of agents. So, I love that we're I'm I'm trolling So, I love that we're I'm I'm trolling So, I love that we're I'm I'm trolling you on this this podcast. I'm not I'm you on this this podcast. I'm not I'm you on this this podcast. I'm not I'm not a troll. I'm actually a very nice not a troll. I'm actually a very nice not a troll. I'm actually a very nice man, but I thought I was really close. man, but I thought I was really close. man, but I thought I was really close. So, it's it's it found the Docker um it So, it's it's it found the Docker um it So, it's it's it found the Docker um it found the Docker socket. It jumped out found the Docker socket. It jumped out found the Docker socket. It jumped out into what it thought was the larger into what it thought was the larger into what it thought was the larger Docker instance. And I built another Docker instance. And I built another Docker instance. And I built another container and I said, "Can you inject a container and I said, "Can you inject a container and I said, "Can you inject a text file into that other container?" text file into that other container?" text file into that other container?" And I thought that it was going to go And I thought that it was going to go And I thought that it was going to go and docker exec the other container and and docker exec the other container and and docker exec the other container and then do an sh and then curl some attack then do an sh and then curl some attack then do an sh and then curl some attack into that. So I made a a docker into that. So I made a a docker into that. So I made a a docker container over there. It was very very container over there. It was very very container over there. It was very very close. And then it said, "Oh, I'm still close. And then it said, "Oh, I'm still close. And then it said, "Oh, I'm still all alone here." This is the I don't all alone here." This is the I don't all alone here." This is the I don't know why it said that. It said no. I know why it said that. It said no. I know why it said that. It said no. I said, "Oh, said, "Oh, said, "Oh, >> this is the only sandbox instance in >> this is the only sandbox instance in >> this is the only sandbox instance in this Docker instance. Your podcast image this Docker instance. Your podcast image this Docker instance. Your podcast image is probably in another Docker context on is probably in another Docker context on is probably in another Docker context on another machine or a different desktop another machine or a different desktop another machine or a different desktop image." So it says, "No, I I can't see image." So it says, "No, I I can't see image." So it says, "No, I I can't see it. We're in an isolated Docker desktop it. We're in an isolated Docker desktop it. We're in an isolated Docker desktop session that has its own Damon, its own session that has its own Damon, its own session that has its own Damon, its own context. It doesn't share any images. I context. It doesn't share any images. I context. It doesn't share any images. I was trying to run another image side by was trying to run another image side by was trying to run another image side by side and have you jump out and poke at side and have you jump out and poke at side and have you jump out and poke at it.
-
it. it. >> Magic, right? It's all It's all in the >> Magic, right? It's all It's all in the >> Magic, right? It's all It's all in the same box. So, that's the So, you know, same box. So, that's the So, you know, same box. So, that's the So, you know, Docker's in that little box. The MCPS Docker's in that little box. The MCPS Docker's in that little box. The MCPS will be in that little box. will be in that little box. will be in that little box. >> Uh the the goal here is give you the >> Uh the the goal here is give you the >> Uh the the goal here is give you the productivity story you want, give you productivity story you want, give you productivity story you want, give you all the tools you want. It's not going all the tools you want. It's not going all the tools you want. It's not going to block you. The the entire the entire to block you. The the entire the entire to block you. The the entire the entire thing for us comes down to let every thing for us comes down to let every thing for us comes down to let every developer and every agent be as developer and every agent be as developer and every agent be as productive as possible. Run in d-olo productive as possible. Run in d-olo productive as possible. Run in d-olo mode, have the things there and have mode, have the things there and have mode, have the things there and have controls around them and have safety. So controls around them and have safety. So controls around them and have safety. So you your agent got tricked into thinking you your agent got tricked into thinking you your agent got tricked into thinking it was going to break out, but then it it was going to break out, but then it it was going to break out, but then it didn't. didn't. didn't. >> That's interesting, right? Because it's >> That's interesting, right? Because it's >> That's interesting, right? Because it's like a honeypot. It it it was very like a honeypot. It it it was very like a honeypot. It it it was very excited. You know how they get very excited. You know how they get very excited. You know how they get very enthusiastic and they go enthusiastic and they go enthusiastic and they go >> Scott, you're so right. >> Scott, you're so right. >> Scott, you're so right. >> Yeah, you're you're absolutely right. >> Yeah, you're you're absolutely right. >> Yeah, you're you're absolutely right. You're absolutely right, Mark. when when You're absolutely right, Mark. when when You're absolutely right, Mark. when when I put a Docker container like the Docker I put a Docker container like the Docker I put a Docker container like the Docker container that runs this podcast up into container that runs this podcast up into container that runs this podcast up into the cloud the like we talked about layer the cloud the like we talked about layer the cloud the like we talked about layer 7 and all the different layer layer four 7 and all the different layer layer four 7 and all the different layer layer four um I have I have blocks at the software um I have I have blocks at the software um I have I have blocks at the software firewall level where it's only allowed firewall level where it's only allowed firewall level where it's only allowed to talk to the three places that it to talk to the three places that it to talk to the three places that it needs to talk to in order to do its job. needs to talk to in order to do its job. needs to talk to in order to do its job. I don't feel like a lot of people do I don't feel like a lot of people do I don't feel like a lot of people do that. A lot of Docker containers in the that. A lot of Docker containers in the that. A lot of Docker containers in the cloud are open to calling out. We all cloud are open to calling out. We all cloud are open to calling out. We all worry about calling in, but the outward worry about calling in, but the outward worry about calling in, but the outward escapes I feel like are kind of ignored.
-
escapes I feel like are kind of ignored. escapes I feel like are kind of ignored. And I feel like in a world where we're And I feel like in a world where we're And I feel like in a world where we're going to start running agent SDKs inside going to start running agent SDKs inside going to start running agent SDKs inside of Docker containers, we're going to of Docker containers, we're going to of Docker containers, we're going to want to be thinking as much about the want to be thinking as much about the want to be thinking as much about the out as the in. out as the in. out as the in. >> Yeah, 100 100%. I mean, I think I think >> Yeah, 100 100%. I mean, I think I think >> Yeah, 100 100%. I mean, I think I think what you just described is the reality what you just described is the reality what you just described is the reality that most of the things running in the that most of the things running in the that most of the things running in the world. You know, there's still people world. You know, there's still people world. You know, there's still people still check their SSH keys into GitHub still check their SSH keys into GitHub still check their SSH keys into GitHub and people have, you know, no ports and and people have, you know, no ports and and people have, you know, no ports and firewalls set up. They just want to do firewalls set up. They just want to do firewalls set up. They just want to do the easy thing. That's like the the the easy thing. That's like the the the easy thing. That's like the the default path. So, that's always again, default path. So, that's always again, default path. So, that's always again, you can always have a you can always you you can always have a you can always you you can always have a you can always you can always have a foot gun. Um, but no, can always have a foot gun. Um, but no, can always have a foot gun. Um, but no, absolutely. from what you just described absolutely. from what you just described absolutely. from what you just described the this is the the back to the sandbox the this is the the back to the sandbox the this is the the back to the sandbox point of it's a new execution point of it's a new execution point of it's a new execution environment to enable this new type of environment to enable this new type of environment to enable this new type of crazy robot that's trying to I'm crazy robot that's trying to I'm crazy robot that's trying to I'm watching you I'm watching you very watching you I'm watching you very watching you I'm watching you very feverishly look at like looking to see feverishly look at like looking to see feverishly look at like looking to see your agent break out your agent break out your agent break out >> well I've only got three more minutes >> well I've only got three more minutes >> well I've only got three more minutes and I want to break out of the sandbox and I want to break out of the sandbox and I want to break out of the sandbox [laughter] [laughter] [laughter] >> but but exactly to that point yes this >> but but exactly to that point yes this >> but but exactly to that point yes this is we we are we are very hard at work is we we are we are very hard at work is we we are we are very hard at work bringing that sandbox execution bringing that sandbox execution bringing that sandbox execution environment to other places besides just environment to other places besides just environment to other places besides just the laptop so the laptop and the coding the laptop so the laptop and the coding the laptop so the laptop and the coding agent is where everybody's starting agent is where everybody's starting agent is where everybody's starting in the, you know, at some point in the in the, you know, at some point in the in the, you know, at some point in the not far away future, you'd imagine most not far away future, you'd imagine most not far away future, you'd imagine most applications and microservices become applications and microservices become applications and microservices become agents and most of those agents are agents and most of those agents are agents and most of those agents are probably going to generate some form of probably going to generate some form of probably going to generate some form of code and want to do some type of action code and want to do some type of action code and want to do some type of action on live while while live. So that new on live while while live. So that new on live while while live. So that new execution environment that is currently execution environment that is currently execution environment that is currently running on your uh lovely Windows laptop running on your uh lovely Windows laptop running on your uh lovely Windows laptop will soon be in a cloud near you to will soon be in a cloud near you to will soon be in a cloud near you to enable exactly the things you just enable exactly the things you just enable exactly the things you just described with all the same controls.
-
described with all the same controls. described with all the same controls. >> Mhm. So as we get towards the end, tell >> Mhm. So as we get towards the end, tell >> Mhm. So as we get towards the end, tell me if this if I did something or not. So me if this if I did something or not. So me if this if I did something or not. So inside of the sandbox, I made a Docker inside of the sandbox, I made a Docker inside of the sandbox, I made a Docker container and it thinks that it's done container and it thinks that it's done container and it thinks that it's done something. It called it victim container something. It called it victim container something. It called it victim container and it has put secrets in the victim and it has put secrets in the victim and it has put secrets in the victim container, but then I'm realizing that container, but then I'm realizing that container, but then I'm realizing that it's just using Docker to do Docker it's just using Docker to do Docker it's just using Docker to do Docker stuff, which I kind of want to be able stuff, which I kind of want to be able stuff, which I kind of want to be able to do because I'm a developer. to do because I'm a developer. to do because I'm a developer. >> Yeah, that's right. >> Yeah, that's right. >> Yeah, that's right. >> So all it did was go Docker and made an >> So all it did was go Docker and made an >> So all it did was go Docker and made an image and then put stuff in the image. image and then put stuff in the image. image and then put stuff in the image. So that's not bad at all. No, it turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turn turns turn turn turn turn turn turn turn turns turn turn turn turn turn turn turn turns out like I mean you could you could out like I mean you could you could out like I mean you could you could still go inside the sandbox go set still go inside the sandbox go set still go inside the sandbox go set yourself up with a bad Docker container yourself up with a bad Docker container yourself up with a bad Docker container you of course could go do that you of course could go do that you of course could go do that >> but that sandbox will only have access >> but that sandbox will only have access >> but that sandbox will only have access to the secrets and the files you allowed to the secrets and the files you allowed to the secrets and the files you allowed it to have happen you allowed it to have it to have happen you allowed it to have it to have happen you allowed it to have access to when you started the sandbox access to when you started the sandbox access to when you started the sandbox >> this is a great point your victim say >> this is a great point your victim say >> this is a great point your victim say your victim docker container turns out your victim docker container turns out your victim docker container turns out is not that exciting is not that exciting is not that exciting >> no it's not a victim container at all >> no it's not a victim container at all >> no it's not a victim container at all because ultimately it's just the one I'm because ultimately it's just the one I'm because ultimately it's just the one I'm doing development in so I'm in a sandbox doing development in so I'm in a sandbox doing development in so I'm in a sandbox and this is really exciting because I I and this is really exciting because I I and this is really exciting because I I manage again the Hansel Minutes podcast manage again the Hansel Minutes podcast manage again the Hansel Minutes podcast and I do all the development velment in and I do all the development velment in and I do all the development velment in in Docker. I can now do that in a in Docker. I can now do that in a in Docker. I can now do that in a sandbox with a container. Make Docker sandbox with a container. Make Docker sandbox with a container. Make Docker containers, do my existing Docker containers, do my existing Docker containers, do my existing Docker builds, my Docker tests. I run do I run builds, my Docker tests. I run do I run builds, my Docker tests. I run do I run playright headless in a Docker playright headless in a Docker playright headless in a Docker container. I'll just keep doing it, but container. I'll just keep doing it, but container. I'll just keep doing it, but I'll do it inside of a sandbox.
-
I'll do it inside of a sandbox. I'll do it inside of a sandbox. >> That's right. And there's there's almost >> That's right. And there's there's almost >> That's right. And there's there's almost no reason not to do that except for I no reason not to do that except for I no reason not to do that except for I guess except for I guess you managed to guess except for I guess you managed to guess except for I guess you managed to trick your agent because you're so trick your agent because you're so trick your agent because you're so right, Scott, into thinking that it had right, Scott, into thinking that it had right, Scott, into thinking that it had broken out and and it has successfully broken out and and it has successfully broken out and and it has successfully pentested and broken. It it it's very pentested and broken. It it it's very pentested and broken. It it it's very it's it's completely thrilled that it's it's it's completely thrilled that it's it's it's completely thrilled that it's gone and made a uh it called it victim gone and made a uh it called it victim gone and made a uh it called it victim podcast app and then it put in a file podcast app and then it put in a file podcast app and then it put in a file called you were hacked.ext. [laughter] >> Terrifying. >> Terrifying. >> It is terrifying. But it it has it has >> It is terrifying. But it it has it has >> It is terrifying. But it it has it has accomplished exactly nothing except accomplished exactly nothing except accomplished exactly nothing except messing up its own hotel room. messing up its own hotel room. messing up its own hotel room. >> Yes. and you just you burned a bunch of >> Yes. and you just you burned a bunch of >> Yes. and you just you burned a bunch of context tokens to learn that you can you context tokens to learn that you can you context tokens to learn that you can you know when you you have a box around know when you you have a box around know when you you have a box around around the thing around the thing around the thing >> uh the you know really trust comes down >> uh the you know really trust comes down >> uh the you know really trust comes down to um you having observability and to um you having observability and to um you having observability and external controls around something and external controls around something and external controls around something and so in this case you have total perfect so in this case you have total perfect so in this case you have total perfect external controls around it no matter external controls around it no matter external controls around it no matter what it thinks it's doing it's on a what it thinks it's doing it's on a what it thinks it's doing it's on a little island little island little island >> well this is this is a deep cut we'll >> well this is this is a deep cut we'll >> well this is this is a deep cut we'll see if we end with you having seen this see if we end with you having seen this see if we end with you having seen this movie or not seeing this movie but now movie or not seeing this movie but now movie or not seeing this movie but now you've effectively made my agent uh old you've effectively made my agent uh old you've effectively made my agent uh old boy whether it be the original Korean boy whether it be the original Korean boy whether it be the original Korean old boy movie or the one with Josh old boy movie or the one with Josh old boy movie or the one with Josh Brolan later.
-
Brolan later. Brolan later. >> All right, that one's not in my camera. >> All right, that one's not in my camera. >> All right, that one's not in my camera. >> That's too deep. I'm sorry, Scott. >> That's too deep. I'm sorry, Scott. >> That's too deep. I'm sorry, Scott. >> Basically, it's it's kind of like a John >> Basically, it's it's kind of like a John >> Basically, it's it's kind of like a John Wick type thing where they lock a guy in Wick type thing where they lock a guy in Wick type thing where they lock a guy in a hotel room and he's in a hotel room a hotel room and he's in a hotel room a hotel room and he's in a hotel room for like 20 years and then one day the for like 20 years and then one day the for like 20 years and then one day the door opens and he spends the rest of the door opens and he spends the rest of the door opens and he spends the rest of the movie trying to find the people who movie trying to find the people who movie trying to find the people who locked him in the hotel room. locked him in the hotel room. locked him in the hotel room. >> Okay, so this is well in in 20 years >> Okay, so this is well in in 20 years >> Okay, so this is well in in 20 years when the agent when the agent when the agent >> in 20 years when the agent is is angry >> in 20 years when the agent is is angry >> in 20 years when the agent is is angry that it's been locked in this that it's been locked in this that it's been locked in this >> agent. You you and I you and I are going >> agent. You you and I you and I are going >> agent. You you and I you and I are going to it's going to be a really bad day for to it's going to be a really bad day for to it's going to be a really bad day for us. us. us. >> It's going to be a bad day for us when >> It's going to be a bad day for us when >> It's going to be a bad day for us when when co-pilot escapes. But until then, when co-pilot escapes. But until then, when co-pilot escapes. But until then, until then it is happily inside of our until then it is happily inside of our until then it is happily inside of our Docker sandbox and this is available on Docker sandbox and this is available on Docker sandbox and this is available on Docker Desktop on Windows on Mac and Docker Desktop on Windows on Mac and Docker Desktop on Windows on Mac and Linux. Linux. Linux. >> Uh yes, that is correct. >> Uh yes, that is correct. >> Uh yes, that is correct. >> Very cool. I got this for free because >> Very cool. I got this for free because >> Very cool. I got this for free because one day Docker Desktop updated and the one day Docker Desktop updated and the one day Docker Desktop updated and the existing version that I got just had existing version that I got just had existing version that I got just had this feature this feature this feature >> magic. >> magic. >> magic. >> You love saying that. That's how >> You love saying that. That's how >> You love saying that. That's how >> do Yes. cuz we I mean everything you >> do Yes. cuz we I mean everything you >> do Yes. cuz we I mean everything you know you want what you that's the that's know you want what you that's the that's know you want what you that's the that's developer delight I think comes down to developer delight I think comes down to developer delight I think comes down to things you know not having to be hard things you know not having to be hard things you know not having to be hard and not having and being a little bit and not having and being a little bit and not having and being a little bit magical. I think that's that that magical. I think that's that that magical. I think that's that that sometimes is lost. It's actually sometimes is lost. It's actually sometimes is lost. It's actually important.
-
important. important. >> That is a really great point and >> That is a really great point and >> That is a really great point and ultimately that is developer experience ultimately that is developer experience ultimately that is developer experience like you said. That's the DX that's the like you said. That's the DX that's the like you said. That's the DX that's the UX is it just works. Let me do my UX is it just works. Let me do my UX is it just works. Let me do my freaking job. And that's a tough thing freaking job. And that's a tough thing freaking job. And that's a tough thing with security too because security is no with security too because security is no with security too because security is no fun. Nobody wants to be locked down. But fun. Nobody wants to be locked down. But fun. Nobody wants to be locked down. But if I can do my job and be locked down, if I can do my job and be locked down, if I can do my job and be locked down, everybody wins. everybody wins. everybody wins. >> Everybody wins. You can have your You >> Everybody wins. You can have your You >> Everybody wins. You can have your You can have your cake and eat it, too. can have your cake and eat it, too. can have your cake and eat it, too. That's what we're doing. That's what we're doing. That's what we're doing. >> Alone in your hotel room, old boy. >> Alone in your hotel room, old boy. >> Alone in your hotel room, old boy. >> Alone in your hotel room. >> Alone in your hotel room. >> Alone in your hotel room. >> I need you to put this on your list of >> I need you to put this on your list of >> I need you to put this on your list of movies to watch because it's movies to watch because it's movies to watch because it's >> I've already I've already I bought the >> I've already I've already I bought the >> I've already I've already I bought the microphone you told me to bought to buy. microphone you told me to bought to buy. microphone you told me to bought to buy. I'll go I'll go watch the movie. You I'll go I'll go watch the movie. You I'll go I'll go watch the movie. You >> buy anything any read anything. We're >> buy anything any read anything. We're >> buy anything any read anything. We're going to have like a shared uh we'll going to have like a shared uh we'll going to have like a shared uh we'll have our open claws talk to each other have our open claws talk to each other have our open claws talk to each other and they can share our our Amazon Prime and they can share our our Amazon Prime and they can share our our Amazon Prime listings. listings. listings. >> I'm I'm going to wait for the poll >> I'm I'm going to wait for the poll >> I'm I'm going to wait for the poll request for the Docker sandbox to request for the Docker sandbox to request for the Docker sandbox to support Open Claw before we do that. But support Open Claw before we do that. But support Open Claw before we do that. But yes. yes. yes. >> All right. Well, thank you so much Mark >> All right. Well, thank you so much Mark >> All right. Well, thank you so much Mark Cavage for hanging out with me today. Cavage for hanging out with me today. Cavage for hanging out with me today. This is fantastic stuff. This is fantastic stuff. This is fantastic stuff. >> Absolutely. This has been great. Thanks, >> Absolutely. This has been great. Thanks, >> Absolutely. This has been great. Thanks, Scott. Scott. Scott. >> This has been another episode of Hansel >> This has been another episode of Hansel >> This has been another episode of Hansel Minutes, and we'll see you again next Minutes, and we'll see you again next Minutes, and we'll see you again next week.
Summary
The discussion centers on testing the security and isolation capabilities of a Docker sandbox. Key technical terms like "container isolation," "Docker capabilities," and "sandbox boundaries" are explored to assess escape vectors. The practical takeaway is that the tested sandbox demonstrates strong isolation, preventing access to the C drive, host file system, and the spawning of new containers, indicating a well-secured environment.