[{"data":1,"prerenderedAt":681},["ShallowReactive",2],{"project-48892859":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":49,"what":50,"said":74,"maker_in_thread":188,"shape":197,"grid":201,"attempts":643,"same_week":644,"maker_shows":47,"maker_hidden":673,"reader_version":674,"card":675},"48892859","Clawk","Give coding agents a disposable Linux VM, not your laptop","title","Show HN: Clawk – Give coding agents a disposable Linux VM, not your laptop","https:\u002F\u002Fgithub.com\u002Fclawkwork\u002Fclawk","github.com","celrenheit",1783951323,2026,226,158,232,4366,6,"notable","dev_tools","agent sandbox","cli",[24,25,26,27],"coding agent sandbox","disposable vm","network allowlist","ai agent isolation","mixed",-0.235,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,13,1,12,34,{"idea":37,"execution":39,"docs":41,"privacy":42,"performance":44,"design":45},{"positive":33,"critical":38},9,{"positive":33,"critical":40},0,{"positive":40,"critical":33},{"positive":43,"critical":33},4,{"positive":33,"critical":33},{"positive":40,"critical":40},[47,40,40,40,40,47,48,33,47,40,47,33,40,40,33,40,40,48,40,40,40,40,40,33,33,33,40,40,33,47,48,43,47,47,47,48,33,47,48,33],3,5,null,{"problem":49,"audience":49,"pricing":49,"motivation":51,"time_to_build":49,"stack":58,"openness":73,"stage":73,"team_size":73},{"value":52,"source":53,"evidence":54},"Run coding agents safely and run Docker and Kubernetes inside a real Linux environment","maker",[55],{"id":56,"by":11,"text":57},"48894495","There are two sides to this. The first is security, which plenty of comments already covered. The second, and the real one for me: my tests spin up Docker containers, and I was…",[59,69],{"value":60,"source":61,"evidence":62},"Go","inferred",[63,66],{"id":64,"by":11,"text":65},"48893608","Thanks! There's no packet firewall at all, no iptables\u002Fnftables. On macOS the VM's NIC is a Virtualization.framework file-handle device. The daemon runs gvproxy, which terminates…",{"id":67,"by":11,"text":68},"48894921","My pleasure! You can find my fork here: https:\u002F\u002Fgithub.com\u002Fclawkwork\u002Fgvisor-tap-vsock — the diff is tiny, just a hook in the TCP\u002FUDP\u002FICMP forwarders that consults an allow-list…",{"value":70,"source":61,"evidence":71},"Swift",[72],{"id":64,"by":11,"text":65},"unknown",{"praise":75,"objections":88,"requests":126,"questions":140,"alternatives":159},[76],{"value":77,"source":78,"evidence":79},"Useful VM approach for agent isolation","commenter",[80,84],{"id":81,"by":82,"text":83},"48893331","ebeirne","love what youve done here. i will be using this in the future.",{"id":85,"by":86,"text":87},"48893968","ttul","And, make coding harnesses run 20x faster at many multi-processing and file operations by running the coding harness itself inside of Linux instead of MacOS…",[89,104,119],{"value":90,"source":78,"evidence":91},"Too many similar AI sandbox projects",[92,96,100],{"id":93,"by":94,"text":95},"48893565","rvz","This is like the 30th AI sandbox project on Show HN. Why this one over the rest?",{"id":97,"by":98,"text":99},"48893811","0xbadcafebee","How many of these are there now, a hundred? We get it, you can run an agent in a VM\u002Fcontainer\u002Fsandbox. What about configuration management & rollbacks? What about the policy…",{"id":101,"by":102,"text":103},"48893969","mlnj","Is there anyone who is NOT building another AI sandbox solution?",{"value":105,"source":78,"evidence":106},"A separate user or existing containers are enough",[107,111,115],{"id":108,"by":109,"text":110},"48893599","vqtska","I still don't understand the point of all these VMs and containers for agents. Just create a separate user on your machine without sudo privileges, switch to it in your terminal…",{"id":112,"by":113,"text":114},"48894911","djha-skin","Can't I just use a `docker run` command to run claude and bind in the current directory into the docker container?",{"id":116,"by":117,"text":118},"48893238","prairieroadent","why not just a docker container",{"value":120,"source":78,"evidence":121},"Mac-first with only experimental Linux support",[122],{"id":123,"by":124,"text":125},"48893941","rock_artist","> Requires macOS 14+ on Apple silicon. (Linux is supported via firecracker and currently experimental...) So should be noted it's mostly macOS out of the box with some Linux…",[127,134],{"value":128,"source":78,"evidence":129},"Persistent state across sessions",[130],{"id":131,"by":132,"text":133},"48893800","elombn","The blast radius problem is real. I've been running coding agents with fairly broad filesystem access and the thing that makes me nervous isn't the agent doing something…",{"value":135,"source":53,"evidence":136},"Remote dev environments and self-hosting",[137],{"id":138,"by":11,"text":139},"48903619","Local first is also a feature, for work you often can't run company code on a remote VM that isn't company owned. Remote dev envs are on the roadmap though, that's one of the…",[141,148],{"value":142,"source":78,"evidence":143},"How the network filtering works without root",[144],{"id":145,"by":146,"text":147},"48893339","matheusmoreira","> clawk forward add my-project 3000 > clawk network allow my-project api.example.com Can you describe the implementation details? How did you implement the firewall without root?…",{"value":149,"source":78,"evidence":150},"How it differs from Docker or devcontainers",[151,155],{"id":152,"by":153,"text":154},"48894423","oleg_kabanov","What does Clawk do that Docker without exposed ports doesn't?",{"id":156,"by":157,"text":158},"48894043","thiodrio","Is it similar to devcontainers?",[160,167,174,181],{"value":161,"source":78,"evidence":162},"yoloAI",[163],{"id":164,"by":165,"text":166},"48893602","kstenerud","yoloAI does something similar: - Sandbox on Linux using Docker, Podman, containerd, gVisor, Kata, Firecracker - Sandbox on Mac using Docker, Podman, Apple containers, Seatbelt,…",{"value":168,"source":78,"evidence":169},"Incus",[170],{"id":171,"by":172,"text":173},"48896017","JeremyNT","This is the right idea IMO but I don't want to trust a third party tool for it either (no offense OP!). Ever since I started running coding agents with shell access I've jailed…",{"value":175,"source":78,"evidence":176},"Docker or Podman containers",[177],{"id":178,"by":179,"text":180},"48894045","einhard","I am certainly no expert in this space so it is quite possible I'm missing something critical, but what seems to work for me is a Podman image I built on my computer with some…",{"value":182,"source":78,"evidence":183},"Landlock and bwrap",[184],{"id":185,"by":186,"text":187},"48893640","bpavuk","you can also simply use Landlock and bwrap on Linux. Pi even has a plugin for that https:\u002F\u002Fpi.dev\u002Fpackages\u002Fpi-landstrip",{"comments":189,"answered":190,"key":191},10,2,[192,193,194],{"id":64,"text":65},{"id":67,"text":68},{"id":195,"text":196},"48894150","Hadn't seen yoloai before. I really like new\u002Fdiff\u002Fapply\u002Fdestroy workflow, that's interesting. For my own needs the two things I was after were multi-repo worktrees (one sandbox…",{"commenters":198,"max_depth":18,"maker_replies":189,"first_comment_mins":199,"lifespan_hours":200},99,23,191,[202,206,210,214,217,220,223,226,229,232,234,236,237,240,242,246,248,251,254,257,261,263,265,266,269,270,273,274,275,276,280,283,286,288,291,294,296,298,300,303,307,308,311,314,317,321,324,326,328,330,333,336,339,341,343,346,347,350,352,354,357,360,361,363,365,368,370,372,375,378,381,383,385,387,389,391,394,396,399,401,404,406,409,411,414,417,419,422,425,428,431,433,437,440,444,448,452,455,458,461,465,467,470,475,478,482,486,489,491,493,496,499,503,507,510,515,518,521,526,529,533,536,538,541,544,548,549,553,558,560,564,568,570,572,575,577,580,582,585,588,590,593,596,599,602,606,608,611,613,617,622,624,627,629,632,634,637,639,641],[203,40,47,204,205,40],"48894314","project\u002Fneutral\u002Fidea","docheinestages",[207,40,40,208,209,40],"48894389","other\u002Fneutral\u002Fnone","jboss10",[211,40,40,212,213,40],"48900082","commenter\u002Fneutral\u002Fnone","binary132",[215,40,40,208,216,40],"48894440","28304283409234",[218,40,40,208,219,40],"48897886","ulrikrasmussen",[221,40,40,208,222,40],"48895601","Imustaskforhelp",[224,40,40,208,225,40],"48896318","binsquare",[227,40,40,208,228,40],"48903541","hsin003",[230,33,40,208,231,40],"48895820","SwellJoe",[233,33,40,208,228,40],"48903548",[235,33,40,208,231,40],"48903886",[178,190,40,208,179,40],[238,190,40,208,239,40],"48894346","petesergeant",[241,190,40,208,179,40],"48894765",[243,190,40,244,245,40],"48895916","commenter\u002Fneutral\u002Fprivacy","qznc",[247,190,40,244,179,40],"48898069",[249,47,40,208,250,40],"48897592","LuD1161",[252,47,40,208,253,40],"48897858","pshirshov",[255,47,40,208,256,40],"48898028","janalsncm",[258,47,40,259,260,40],"48899724","other\u002Fcritical\u002Fnone","yencabulator",[262,47,40,208,250,40],"48902838",[145,43,47,264,146,40],"maker\u002Fneutral\u002Fexecution",[64,43,40,264,11,33],[267,43,48,268,146,40],"48894684","maker\u002Fpositive\u002Fexecution",[67,43,40,264,11,33],[271,43,40,208,272,40],"48893850","westurner",[164,48,40,208,165,40],[195,48,40,204,11,33],[93,18,47,204,94,40],[277,18,33,278,279,40],"48893851","project\u002Fcritical\u002Fdocs","SoftTalker",[281,18,40,208,282,40],"48894265","mixedbit",[123,284,47,285,124,40],7,"project\u002Fneutral\u002Fdocs",[287,284,40,285,11,33],"48894721",[289,31,40,208,290,40],"48893748","skybrian",[292,31,40,208,293,40],"48893780","mswphd",[295,31,40,208,290,40],"48894279",[297,31,40,208,146,40],"48893820",[299,31,40,208,290,40],"48894156",[301,31,40,208,302,40],"48894410","nzoschke",[304,31,40,305,306,40],"48903488","other\u002Fneutral\u002Fpricing","trencedamp",[138,31,40,204,11,33],[309,38,47,204,310,40],"48893520","NortySpock",[312,38,40,208,313,40],"48893627","guywithahat",[315,189,40,208,316,40],"48895493","arjie",[318,189,40,319,320,40],"48896391","other\u002Fpositive\u002Fnone","snowstormsun",[97,322,33,323,98,40],11,"project\u002Fcritical\u002Fidea",[325,322,40,208,146,40],"48894785",[327,322,40,208,98,40],"48896801",[329,322,40,212,146,40],"48898760",[331,322,40,208,332,40],"48896968","selvakn",[334,34,40,208,335,40],"48896047","cdata",[337,34,40,208,338,40],"48896157","mkagenius",[340,34,40,208,335,40],"48896395",[342,34,40,208,338,40],"48897145",[344,34,40,208,345,40],"48896458","riedel",[108,32,33,323,109,40],[348,32,40,208,349,40],"48893619","altcognito",[351,32,40,208,279,40],"48893832",[353,32,40,208,349,40],"48911079",[355,32,40,208,356,40],"48893625","bheadmaster",[358,32,40,212,359,40],"48893827","Greenpants",[185,32,40,212,186,40],[362,32,40,212,98,40],"48893836",[364,32,40,212,186,40],"48894029",[366,32,40,212,367,40],"48893879","killerstorm",[369,32,40,212,186,40],"48893964",[371,32,40,212,239,40],"48893699",[373,32,40,212,374,40],"48893707","3form",[376,32,40,208,377,40],"48896155","pmontra",[379,32,48,380,146,40],"48893725","project\u002Fpositive\u002Fprivacy",[382,32,40,212,109,40],"48893839",[384,32,40,212,146,40],"48893956",[386,32,40,212,94,40],"48894399",[388,32,40,208,146,40],"48894973",[390,32,40,212,279,40],"48894559",[392,32,40,212,393,40],"48893943","zzril",[395,32,40,212,146,40],"48893977",[397,32,40,212,398,40],"48894002","khuey",[400,32,40,212,367,40],"48893831",[402,32,40,212,403,40],"48893866","wilkystyle",[405,32,40,212,109,40],"48893880",[407,32,40,208,408,40],"48893919","pigeons",[410,32,40,212,367,40],"48893930",[412,32,40,208,413,40],"48895024","Retr0id",[415,32,40,212,416,40],"48893915","de6u99er",[418,32,40,208,245,40],"48894353",[420,32,40,212,421,40],"48893923","augusto-moura",[423,32,40,212,424,40],"48893990","throw1234567891",[426,32,40,212,427,40],"48894090","TheRealPomax",[429,32,40,212,430,40],"48894280","schainks",[56,32,40,432,11,33],"project\u002Fpositive\u002Fidea",[434,435,40,208,436,40],"48899319",14,"als0",[438,435,40,208,439,40],"48899813","lschueller",[441,442,33,323,443,40],"48894809",15,"knocte",[445,446,40,208,447,40],"48893901",16,"lucamartinetti",[449,450,40,208,451,40],"48893363",17,"bad_haircut72",[453,450,40,208,454,40],"48894578","whitlock",[456,457,33,323,427,40],"48894062",18,[459,460,40,208,228,40],"48903529",19,[462,463,40,208,464,40],"48893406",20,"felooboolooomba",[112,466,33,323,113,40],21,[468,466,40,212,469,40],"48895815","kerblang",[471,472,47,473,474,40],"48893991",22,"project\u002Fneutral\u002Fprivacy","statt",[476,199,40,208,477,40],"48893871","c0rruptbytes",[479,480,40,208,481,40],"48893393",24,"daitangio",[483,484,40,208,485,40],"48893772",25,"dietdrb",[487,484,40,259,488,40],"48893909","mrbn100ful",[490,484,40,208,485,40],"48894058",[492,484,40,208,488,40],"48894194",[494,484,40,208,495,40],"48903600","fragmede",[497,498,40,208,338,40],"48896065",26,[500,501,40,208,502,40],"48907957",27,"winrid",[504,505,40,208,506,40],"48893695",28,"aftbit",[508,505,40,208,509,40],"48894189","RussianCow",[511,512,33,513,514,40],"48897344",29,"project\u002Fcritical\u002Fperformance","sxiong",[516,512,40,208,517,40],"48897445","giancarlostoro",[519,512,40,208,520,40],"48898176","mcintyre1994",[522,523,47,524,525,40],"48895598",30,"project\u002Fneutral\u002Fexecution","antihero",[527,523,40,528,11,33],"48903467","maker\u002Fneutral\u002Fdesign",[530,531,40,208,532,40],"48895804",31,"asah",[85,534,48,535,86,40],32,"project\u002Fpositive\u002Fperformance",[537,534,40,212,102,40],"48893987",[539,534,40,540,86,40],"48896759","other\u002Fneutral\u002Fperformance",[542,534,40,543,11,33],"48894986","project\u002Fneutral\u002Fdesign",[545,546,47,204,547,40],"48897086",33,"polotics",[156,35,47,204,157,40],[550,551,48,432,552,40],"48904153",35,"onel",[554,555,40,556,557,40],"48895165",36,"other\u002Fneutral\u002Fprivacy","grzes",[152,559,47,204,153,40],37,[561,562,47,204,563,40],"48893614",38,"anoop_kumar",[565,566,40,208,567,40],"48894527",39,"windex",[116,569,33,323,117,40],40,[571,569,48,380,146,40],"48893677",[573,569,40,244,574,40],"48893803","hwc",[576,569,40,244,146,40],"48893873",[578,569,40,212,579,40],"48894051","croes",[581,569,40,208,146,40],"48894197",[171,583,47,584,172,40],41,"project\u002Fmixed\u002Fprivacy",[586,583,40,587,11,33],"48903513","maker\u002Fneutral\u002Fnone",[589,583,40,212,172,40],"48991829",[591,583,40,592,228,40],"48903899","other\u002Fneutral\u002Fidea",[594,583,40,208,595,40],"48953368","uday_singlr",[81,597,48,598,82,40],42,"project\u002Fpositive\u002Fnone",[600,597,40,601,11,33],"48893875","maker\u002Fpositive\u002Fnone",[603,604,47,204,605,40],"48893635",43,"htrp",[101,607,40,208,102,40],44,[609,610,33,323,239,40],"48893694",45,[131,612,47,543,132,40],46,[614,615,40,208,616,40],"48896914",47,"luciana1u",[618,619,33,620,621,40],"48893362",48,"project\u002Fcritical\u002Fprivacy","bitwize",[623,619,48,380,146,40],"48893389",[625,619,40,212,626,40],"48893593","arcanemachiner",[628,619,40,212,146,40],"48893750",[630,619,40,244,631,40],"48893894","nullc",[633,619,48,380,146,40],"48894050",[635,636,33,323,488,40],"48893858",49,[638,636,40,208,579,40],"48894066",[640,636,40,212,146,40],"48894491",[642,636,33,323,216,40],"48894616",[],[645,650,655,659,664,668],{"id":646,"name":647,"points":648,"category":649},"48845049","18 Words",1160,"games",{"id":651,"name":652,"points":653,"category":654},"48842459","colibri",937,"ai",{"id":656,"name":657,"points":658,"category":649},"48896286","Super Dario",397,{"id":660,"name":661,"points":662,"category":663},"48875377","Ant",330,"languages",{"id":665,"name":666,"points":667,"category":20},"48883305","Juggler",280,{"id":669,"name":670,"points":671,"category":672},"48926939","Firefox in WebAssembly",273,"creative",false,"v2",{"id":676,"name":5,"line":6,"ai":673,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":677,"top":18,"kw":678,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":679,"url":9,"mix":680,"praise":77,"objection":90,"sub":21},48892859,-0.23,[24,25,26,27],"3000035130310010050000011100135433351351",[31,32,33,34],1794036704845]