Deno Sandbox सार्वजनिक
(deno.com)- भरोसा न किए जा सकने वाले कोड को सुरक्षित रूप से चलाने के लिए सुरक्षित Linux microVM वातावरण प्रदान करता है
- कोड निष्पादन के दौरान secret key protection और network access control के जरिए LLM-जनरेटेड कोड या यूज़र कोड से होने वाले data exfiltration risk को रोकता है
sandbox.deploy()कमांड से डेवलपमेंट वातावरण से सीधे Deno Deploy पर deploy किया जा सकता है, अलग build या authentication process की जरूरत नहीं- volumes और snapshots फीचर से cache, database और development environment को तेज़ी से दोबारा तैयार किया जा सकता है
- AI agents, plugin systems, CI runners जैसे सुरक्षा-आवश्यक code execution environments के लिए उपयुक्त
Deno Sandbox का अवलोकन
- Deno Sandbox, Deno Deploy cloud पर चलने वाले lightweight Linux microVM में untrusted code चलाने की सुविधा देता है
- इसे JavaScript या Python SDK के जरिए बनाया जा सकता है, और boot time 1 सेकंड से कम है
- SSH, HTTP, VS Code के माध्यम से सीधे interact किया जा सकता है
- इसका लक्ष्य LLM द्वारा जनरेट किए गए कोड या यूज़र-प्रदान कोड के API key सहित external calls करने पर आने वाली security problems को हल करना है
- sandbox के भीतर चलने वाला कोड system isolation और defense-in-depth संरचना से सुरक्षित रहता है
Secrets That Can’t Be Stolen
- sandbox वातावरण में secret keys वास्तविक environment variables के रूप में expose नहीं होतीं
- कोड के अंदर सिर्फ placeholder string ही उपलब्ध होती है
- केवल स्वीकृत host को जाने वाले outbound requests पर ही वास्तविक key inject की जाती है
- उदाहरण के लिए
OPENAI_API_KEYकेवलapi.openai.comको request भेजते समय ही सक्रिय होगा, और किसी दूसरे domain में leak होने पर अमान्य हो जाएगा - इससे prompt injection या malicious code द्वारा key चोरी की कोशिशें रोकी जा सकती हैं
Network Egress Control
- sandbox, allowed host list (
allowNet) के बाहर जाने वाले network requests को block करता है- उदाहरण:
["api.openai.com", "*.anthropic.com"]
- उदाहरण:
- सारा network traffic VM boundary पर block किया जाता है, और
coder/httpjailजैसे outbound proxy के जरिए policy लागू होती है - आगे चलकर outbound connection analysis और request inspection/rewriting के लिए programmable hooks जोड़े जाएंगे
- Deno के
--allow-netflag के साथ मिलाने पर दो-स्तरीय network security layer बनाई जा सकती है
Sandbox to Production
sandbox.deploy()कमांड से sandbox से सीधे Deno Deploy पर deployment किया जा सकता है- अलग CI build या authentication process के बिना development environment को तुरंत serverless production में बदला जा सकता है
- उदाहरण कोड में
my-appकोproduction: trueoption के साथ deploy करके URL प्रिंट किया जाता है
- इससे auto-scaling serverless deployment एक ही call में किया जा सकता है
Persistence
- डिफ़ॉल्ट रूप से sandbox ephemeral है, लेकिन state store करने की जरूरत हो तो ये फीचर मिलते हैं
- Volumes: cache, database और user data के लिए read/write storage
- Snapshots: toolchain या base volume सहित read-only images
apt-get installके बाद snapshot बना देने पर, उसके बाद के सभी sandbox preinstalled environment में तुरंत boot हो सकते हैं- snapshot-आधारित volume से कुछ ही सेकंड में नया development environment बनाया जा सकता है
Technical Details
- Region: Amsterdam, Chicago
- vCPU: 2
- Memory: 768MB ~ 4GB
- Lifespan: अस्थायी (ephemeral) या timeout-आधारित, जरूरत पड़ने पर बढ़ाया जा सकता है
- Maximum lifespan: 30 मिनट
- Boot time: 1 सेकंड से कम
- उपयुक्त उपयोग मामले: AI agent code execution, secure plugin systems, temporary CI runners, user-provided code execution environments
Pricing
- Deno Deploy pricing में शामिल है और usage-based billing पर काम करता है
- CPU time: $0.05/h (Pro प्लान में 40 घंटे शामिल)
- Memory: $0.016/GB-h (Pro प्लान में 1000 GB-h शामिल)
- Volume storage: $0.20/GiB-month (Pro प्लान में 5 GiB शामिल)
- Enterprise plan के लिए अलग से संपर्क किया जा सकता है
Get Started
- Deno Sandbox beta version में उपलब्ध है, और Deno Deploy की general availability (GA) के साथ पेश किया गया है
- मुख्य resources
- Landing page: deno.com/sandbox
- Docs: docs.deno.com/sandbox
- JavaScript SDK: jsr.io/@deno/sandbox या npm
- Python SDK: pypi.org/project/deno-sandbox
- Deno टीम को उम्मीद है कि यूज़र और AI agents, Deno Sandbox के साथ कौन-कौन से प्रोजेक्ट बनाएंगे
1 टिप्पणियां
Hacker News टिप्पणियाँ
यह बात दिलचस्प है कि Deno या JavaScript का बिल्कुल भी इस्तेमाल करना ज़रूरी नहीं है
Python के SDK deno-sandbox के ज़रिए sandbox बनाया जा सकता है और commands चलाना, file I/O वगैरह किया जा सकता है
यह भी पुष्टि हुई कि API protocol WebSocket-आधारित है
Deno Sandbox का secrets handle करने का तरीका प्रभावशाली है
कोड के अंदर असली key की जगह सिर्फ़ placeholder दिखता है, और केवल approved host की ओर जाने वाले request पर ही असली key inject होती है
अगर malicious code इस placeholder को बाहर लीक करने की कोशिश भी करे, तो उसका कोई फ़ायदा नहीं होगा
अगर proxy response direction में भी key को फिर से replace कर दे, तो यह मुश्किल होगा, लेकिन फिर भी यह पूरी तरह परफ़ेक्ट defense नहीं लगता
context-aware proxy-आधारित secret injection शायद ज़्यादा सुरक्षित हो सकता है
इसमें application खुद key handle नहीं करता, बल्कि proxy उसकी ओर से API key जोड़ देता है, जिससे security exposure का risk कम होता है
Secrets that can’t be stolen
malicious code secrets को स्थायी रूप से चुरा नहीं सकता, लेकिन फिर भी उस key का इस्तेमाल करके malicious requests भेज सकता है
यह कुछ वैसा ही है जैसे XSS httpOnly cookie को पढ़ नहीं सकता, लेकिन उस cookie के साथ request भेज सकता है
इस स्थिति में certificate pinning जैसी सुविधाएँ मुश्किल हो सकती हैं
यह भी पूछना चाहूँगा कि क्या Vault जैसी functionality जोड़ी जाएगी
Deno टीम के मुताबिक, हाल के दिनों में ऐसी platform-style services बढ़ी हैं जो LLM द्वारा जनरेट किया गया code सीधे execute करती हैं
ऐसे code को बाहरी API call करने के लिए वास्तविक credentials और network access की ज़रूरत होती है
सिर्फ़ साधारण sandboxing काफ़ी नहीं है; network control और secret protection दोनों साथ में चाहिए
Deno Sandbox ये दोनों देता है, और code तैयार होते ही उसे सीधे Deno Deploy पर deploy भी किया जा सकता है
हमारी टीम ने भी ऐसा ही sandbox environment Firecracker + Go से खुद बनाया है
data sovereignty की वजह से हमें सेवा सिर्फ़ EU के भीतर देनी पड़ती है, इसलिए जहाँ भी hardware virtualization उपलब्ध हो, वहाँ इसे deploy किया जा सकता है
credentials को LLM के सीधे हाथ में न देने के लिए, हम तुरंत सीमित scope वाला CLI बनाकर देते हैं
LLM उसे बस bash command की तरह call करता है
क्योंकि नए models को coding assistant की तरह train किया गया है, यह तरीका कहीं ज़्यादा natural और efficient लगता है
secret replacement का तरीका दिलचस्प है, लेकिन अगर वास्तव में OAuth 1, JWT, HMAC जैसी key transformation की ज़रूरत हो, तो शायद यह टूट सकता है
साथ ही अगर key payload का हिस्सा हो, तो replacement से Content-Length mismatch जैसी HTTP समस्याएँ भी आ सकती हैं
और वैसे भी यह तरीका SQL injection जैसे दूसरे हमलों के सामने बेअसर है
आख़िरकार यह पूरी defense strategy कम और आंशिक mitigation ज़्यादा लगती है
free tier होने की वजह से Glitch की तरह इसे प्रयोग के लिए आज़माने का मन होता है, लेकिन ऐसे free services के बीच में बंद हो जाने का अनुभव बहुत रहा है, इसलिए थोड़ा संकोच है
secret placeholder डिज़ाइन अच्छा चुनाव लगता है
लेकिन आजकल sandbox products बहुत ज़्यादा हो गए हैं — Modal, Daytona, Fly, Cloudflare, Deno वगैरह
जानना चाहता हूँ कि लोग असली production में क्या इस्तेमाल कर रहे हैं
कहा जा रहा है कि Deno Sandbox द्वारा दिया जाने वाला lightweight Linux microVM Deno Deploy cloud पर चलता है,
और असली सवाल यह है कि क्या इसे self-hosted Linux environment में भी चलाया जा सकता है
अगर सब कुछ पूरी तरह open source कर दें, तो AWS या GCP उसे कॉपी कर देंगे
आख़िर में ऐसा लगता है मानो किसी और के sandbox के अंदर अपना किला बना रहे हों, लेकिन व्यावहारिक रूप से शायद यही एकमात्र revenue model है
अगर Claude Pro या Max plan को ऐसे environment में इस्तेमाल किया जाए, तो हर बार अलग IP से connect होने के कारण Anthropic इसे multi-user usage समझकर block तो नहीं कर देगा, यह चिंता है
और यह भी जानना है कि session को 30 मिनट तक सीमित क्यों रखा गया है
लगता है Anthropic बस यह जाँचने के लिए heuristic इस्तेमाल करता है कि “क्या इसे कोई इंसान सीधे इस्तेमाल कर रहा है”