[{"data":1,"prerenderedAt":442},["ShallowReactive",2],{"project-46824877":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":44,"post_text":47,"what":48,"said":101,"maker_in_thread":224,"shape":232,"grid":235,"attempts":403,"same_week":404,"maker_shows":39,"maker_hidden":434,"reader_version":435,"card":436},"46824877","Amla Sandbox","WASM bash shell sandbox for AI agents","title","Show HN: Amla Sandbox – WASM bash shell sandbox for AI agents","https:\u002F\u002Fgithub.com\u002Famlalabs\u002Famla-sandbox","github.com","souvik1997",1769783672,2026,146,73,446,4366,11,"notable","infrastructure","sandboxing for ai agents","library",[24,25,26,27,28],"wasm sandbox","ai agents","wasmtime","bash sandbox","tool calling","mixed",-0.151,{"positive":32,"neutral":33,"mixed":34,"critical":18},6,8,2,27,{"execution":37,"privacy":40,"idea":41,"docs":43},{"positive":38,"critical":39},0,1,{"positive":39,"critical":34},{"positive":42,"critical":32},4,{"positive":38,"critical":39},[45,38,38,38,38,38,39,45,38,39,45,39,39,39,46,46,39,45,38,38,38,39,38,45,38,45,38,38,38,46,38,46,39,45,45,39,39,39,45,46],3,5,"WASM sandbox for running LLM-generated code safely.\n\nAgents get a bash-like shell and can only call tools you provide, with constraints you define.\nNo Docker, no subprocess, no SaaS — just pip install amla-sandbox",{"problem":49,"audience":55,"pricing":63,"motivation":64,"time_to_build":63,"stack":71,"openness":98,"stage":99,"team_size":100},{"value":50,"source":51,"evidence":52},"Running LLM-generated code and shell commands safely without Docker or subprocess","maker",[53],{"id":54},"post",{"value":56,"source":57,"evidence":58},"developers building AI agents that run generated code","inferred",[59,60],{"id":54},{"id":61,"by":11,"text":62},"46827051","Thanks! That’s exactly the use case we built this for",null,{"value":65,"source":51,"evidence":66},"Enforce tool-call constraints for agents without containers or SaaS",[67,68],{"id":54},{"id":69,"by":11,"text":70},"46827107","Fair points. On containers: yes, running in Docker\u002FFirecracker works. The \"one prompt injection and you’re done\" framing is hyperbolic for containerized setups. The pitch is more…",[72,81,85,89,92],{"value":73,"source":51,"evidence":74},"WebAssembly",[75,78],{"id":76,"by":11,"text":77},"46827776","Thanks Simon! Denobox looks very cool: Deno's permissions model is a natural fit for this. On the licensing: totally fair point. Our intention is to open source the WASM too. The…",{"id":79,"by":11,"text":80},"46826223","Great question. We cheated a bit; we didn't compile the GNU coreutils to wasm. Instead, we have Rust reimplementations of common shell commands. It allows us to focus on the use…",{"value":82,"source":51,"evidence":83},"Python",[84],{"id":76,"by":11,"text":77},{"value":86,"source":51,"evidence":87},"Rust",[88],{"id":79,"by":11,"text":80},{"value":26,"source":51,"evidence":90},[91],{"id":76,"by":11,"text":77},{"value":93,"source":51,"evidence":94},"quickjs",[95],{"id":96,"by":11,"text":97},"46825427","Appreciate your support! We deliberately chose a limited runtime (quickjs + some shell applets). The tool parameter constraint enforcement was more important to us than language…","freemium","beta","team",{"praise":102,"objections":121,"requests":150,"questions":172,"alternatives":191},[103,115],{"value":104,"source":105,"evidence":106},"Capability-based tool constraint model is useful","commenter",[107,111],{"id":108,"by":109,"text":110},"46827552","rellfy","I really like the capability enforcement model, it's a great concept. One thing this discussion is missing though is the ecosystem layer. Sandboxing solves execution safety, but…",{"id":112,"by":113,"text":114},"46826864","turnsout","This is really awesome. I want to give my agent access to basic coding tools to do text manipulation, add up numbers, etc, but I want to keep a tight lid on it. This seems like a…",{"value":116,"source":105,"evidence":117},"Lightweight compared to full VM sandboxes",[118],{"id":119,"by":11,"text":120},"46825316","agentvm looks very cool! They are taking a different approach - full Linux VM emulated in WASM. It's very impressive technically. We differentiate from agentvm by being…",[122,132,143],{"value":123,"source":105,"evidence":124},"Split license with proprietary WASM binary blocks redistribution",[125,129],{"id":126,"by":127,"text":128},"46827264","simonw","This project looks very cool - I've been trying to build something similar in a few different ways (https:\u002F\u002Fgithub.com\u002Fsimonw\u002Fdenobox is my most recent attempt) but this is way…",{"id":130,"by":127,"text":131},"46827964","That's great to hear. The split license is a blocker for me because I build open source tools for other people to use, so I need to be sure that all of my dependencies are things…",{"value":133,"source":105,"evidence":134},"Containers or VMs are safer and already work",[135,139],{"id":136,"by":137,"text":138},"46831041","ai-christianson","We went down the WASM sandboxing rabbit hole at Gobii when building our agent infra. The pitch is appealing until you realize the tradeoff: you either accept a limited…",{"id":140,"by":141,"text":142},"46836050","poly2it","Why not just put the agent in a VM?",{"value":144,"source":105,"evidence":145},"Limited runtime lacks sockets and common Python packages",[146],{"id":147,"by":148,"text":149},"46825488","syrusakbary","> For agent tool calling, you don't really need NumPy and Pandas. That's true, but you'll likely need sockets, pydantic or SQLAlchemy (all of of them require heavy support on the…",[151,158,164],{"value":152,"source":51,"evidence":153},"Open source the WASM binary",[154,155],{"id":76,"by":11,"text":77},{"id":156,"by":11,"text":157},"46828002","Makes total sense. We'll prioritize getting the WASM source out. This is good signal that it matters. Will ping you when it's up!",{"value":159,"source":105,"evidence":160},"Add SQLite support",[161],{"id":162,"by":127,"text":163},"46828104","That's really cool. Any chance you could add SQLite? ``` % uv run --with pyeryx python Installed 1 package in 1ms Python 3.14.0 (main, Oct 7 2025, 16:07:00) [Clang 20.1.4 ] on…",{"value":165,"source":105,"evidence":166},"Add curl and more coreutils",[167,171],{"id":168,"by":169,"text":170},"46826077","sd2k","Cool to see more projects in this space! I think Wasm is a great way to do secure sandboxing here. How does Amla handle commands like grep\u002Fjq\u002Fcurl etc which make AI agents so…",{"id":79,"by":11,"text":80},[173,184],{"value":174,"source":105,"evidence":175},"How does it compare to pyodide or containers",[176,180],{"id":177,"by":178,"text":179},"46829975","manojlds","How does this all compare to using pyodide?",{"id":181,"by":182,"text":183},"46828513","tgtweak","is a wasm sandbox as secure as a container or vm?",{"value":185,"source":105,"evidence":186},"Is it affiliated with AlmaLinux",[187],{"id":188,"by":189,"text":190},"46837057","evanjrowley","Is there any affiliation with AlmaLinux project?",[192,198,206,213,217],{"value":193,"source":105,"evidence":194},"eryx",[195],{"id":196,"by":169,"text":197},"46827337","I posted this elsewhere in the thread, and don't want to spam it everywhere (or take away from Amla!), but you might be interested in eryx [1] - the Python bindings [2] get you a…",{"value":199,"source":105,"evidence":200},"agentvm",[201,205],{"id":202,"by":203,"text":204},"46825119","westurner","From \"Show HN: NPM install a WASM based Linux VM for your agents\" re: https:\u002F\u002Fgithub.com\u002Fdeepclause\u002Fagentvm .. https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=46686346 : >> How to run…",{"id":119,"by":11,"text":120},{"value":207,"source":105,"evidence":208},"Pyodide",[209,210],{"id":177,"by":178,"text":179},{"id":211,"by":127,"text":212},"46831043","A lot of it IS using Pyodide, but wrapping it in a way that's convenient to use not-in-a-browser.",{"value":214,"source":105,"evidence":215},"gVisor and Firecracker",[216],{"id":136,"by":137,"text":138},{"value":218,"source":105,"evidence":219},"bubblewrap",[220],{"id":221,"by":222,"text":223},"46827268","messh","Docker and vms are not the only options though... you can use bubblewrap and other equivalents for mac",{"comments":225,"answered":46,"key":226},20,[227,228,229],{"id":76,"text":77},{"id":156,"text":157},{"id":230,"text":231},"46829338","Yep, we got that sorted. Thanks for the suggestion! https:\u002F\u002Fpypi.org\u002Fproject\u002Famla-sandbox\u002F",{"commenters":35,"max_depth":32,"maker_replies":225,"first_comment_mins":233,"lifespan_hours":234},14,29,[236,238,240,241,243,245,246,247,249,252,254,256,257,259,260,263,266,269,272,275,277,280,282,284,288,289,292,294,296,298,300,302,304,306,309,311,313,315,317,320,322,324,326,328,330,332,334,336,337,338,341,343,345,347,349,351,355,358,360,364,366,370,372,376,380,383,385,387,389,391,393,396,399],[126,38,45,237,127,38],"project\u002Fmixed\u002Fnone",[196,38,38,239,169,38],"other\u002Fneutral\u002Fnone",[162,38,38,239,127,38],[242,38,38,239,127,38],"46828873",[244,38,38,239,169,38],"46829035",[177,38,38,239,178,38],[211,38,38,239,127,38],[248,38,38,239,169,38],"46831721",[250,38,38,251,178,38],"46839842","commenter\u002Fneutral\u002Fnone",[76,38,38,253,11,39],"maker\u002Fneutral\u002Fnone",[130,38,39,255,127,38],"project\u002Fcritical\u002Fnone",[156,38,38,253,11,39],[258,38,45,253,127,38],"46828962",[230,38,38,253,11,39],[261,38,38,239,262,38],"46827833","phickey",[264,38,38,239,265,38],"46828279","vimota",[267,38,45,268,127,38],"46828490","project\u002Fneutral\u002Fexecution",[270,38,39,271,127,38],"46828678","project\u002Fcritical\u002Fprivacy",[273,38,45,274,265,38],"46828899","project\u002Fneutral\u002Fprivacy",[276,38,38,251,127,38],"46828912",[278,39,39,271,279,38],"46825213","quantummagic",[281,39,38,274,11,39],"46825376",[136,34,39,283,137,38],"project\u002Fcritical\u002Fidea",[285,45,39,286,287,38],"46827023","project\u002Fcritical\u002Fdocs","benatkin",[69,45,38,253,11,39],[290,42,46,291,265,38],"46826331","project\u002Fpositive\u002Fidea",[293,42,38,253,11,39],"46826390",[295,46,46,291,148,38],"46825267",[96,46,38,297,11,39],"maker\u002Fneutral\u002Fidea",[147,46,39,299,148,38],"project\u002Fcritical\u002Fexecution",[301,46,38,268,11,39],"46825968",[303,46,45,268,148,38],"46826528",[305,46,38,253,11,39],"46828178",[307,46,38,239,308,38],"46825483","apignotti",[310,46,38,239,148,38],"46825540",[312,46,38,239,308,38],"46825569",[108,32,38,314,109,38],"other\u002Fneutral\u002Fidea",[316,32,38,297,11,39],"46827908",[318,32,39,283,319,38],"46828073","skybrian",[321,32,38,314,109,38],"46828340",[323,32,38,239,319,38],"46828384",[325,32,38,239,109,38],"46828530",[168,327,45,268,169,38],7,[79,327,38,329,11,39],"maker\u002Fneutral\u002Fexecution",[331,327,38,239,169,38],"46826362",[333,327,38,253,11,39],"46828161",[335,33,45,274,203,38],"46825026",[202,33,38,239,203,38],[119,33,38,253,11,39],[339,33,38,239,340,38],"46825568","schmuhblaster",[342,33,38,239,203,38],"46825763",[344,33,38,253,11,39],"46825980",[346,33,38,239,148,38],"46826089",[112,348,46,291,113,38],9,[61,348,38,350,11,39],"maker\u002Fpositive\u002Fidea",[352,353,38,239,354,38],"46831141",10,"thepoet",[356,18,46,291,357,38],"46831411","jameslk",[359,18,38,297,11,39],"46831602",[361,362,39,283,363,38],"46826500",12,"sibellavia",[365,362,38,297,11,39],"46826810",[367,368,45,369,319,38],"46828351",13,"project\u002Fmixed\u002Fidea",[371,368,38,239,127,38],"46829048",[373,233,45,374,375,38],"46830613","project\u002Fneutral\u002Fnone","touwer",[377,378,39,283,379,38],"46826905",15,"behnamoh",[381,378,38,382,11,39],"46826971","project\u002Fneutral\u002Fidea",[188,384,38,239,189,38],16,[140,386,39,283,141,38],17,[221,388,39,283,222,38],18,[390,388,38,291,11,39],"46828703",[181,392,45,274,182,38],19,[394,392,38,395,11,39],"46828670","project\u002Fpositive\u002Fprivacy",[397,392,46,395,398,38],"46828693","PufPufPuf",[400,225,46,401,402,38],"46827136","project\u002Fpositive\u002Fnone","muktharbuilds",[],[405,410,415,420,425,430],{"id":406,"name":407,"points":408,"category":409},"46847690","Craftplan",577,"web_saas",{"id":411,"name":412,"points":413,"category":414},"46850205","NanoClaw",533,"ai",{"id":416,"name":417,"points":418,"category":419},"46832074","ear",469,"languages",{"id":421,"name":422,"points":423,"category":424},"46850803","Xikipedia",441,"learning_science",{"id":426,"name":427,"points":428,"category":429},"46882389","Ghidra MCP Server",298,"dev_tools",{"id":431,"name":432,"points":433,"category":20},"46868479","Safe-now.live",195,false,"v2",{"id":437,"name":5,"line":6,"ai":434,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":438,"top":18,"kw":439,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":440,"url":9,"mix":441,"praise":104,"objection":123,"sub":21},46824877,-0.15,[24,25,26,27,28],"3000001301311155130001030300050513311135",[32,33,34,18],1794036691827]