
AI एजेंटों के लिए निष्पादन-परत सुरक्षा (ELS) — नीति-प्रवर्तित शेल ऑडिट के साथ।
macOS नोट: macOS पर ESF (एंडपॉइंट सुरक्षा ढांचा) + NE (नेटवर्क विस्तार) के माध्यम से देशी प्रवर्तन Alpha में है। यह एंड-टू-एंड काम करता है — फ़ाइल, प्रक्रिया और नेटवर्क ईवेंट सिस्टम एक्सटेंशन के माध्यम से Go नीति इंजन तक प्रवाहित होते हैं — लेकिन रिलीज़ के बीच खुरदरे किनारे और ब्रेकिंग परिवर्तन की अपेक्षा करें। आज उत्पादन उपयोग के लिए, हम Linux की अनुशंसा करते हैं।
Windows नोट: हम मिनीफ़िल्टर ड्राइवरों पर हस्ताक्षर प्राप्त करने के लिए काम कर रहे हैं। तब तक, उत्पादन उपयोग के लिए केवल Windows WSL2 मोड पूरी तरह से समर्थित है।
AI एजेंटों के लिए सुरक्षित, नीति-प्रवर्तित निष्पादन गेटवे.
agentsh आपके एजेंट/टूलिंग के नीचे बैठता है—फ़ाइल, नेटवर्क, प्रक्रिया और सिग्नल गतिविधि (उपप्रक्रिया वृक्षों सहित) को इंटरसेप्ट करता है, आपके द्वारा परिभाषित नीति को लागू करता है, और संरचित ऑडिट ईवेंट उत्सर्जित करता है।
प्लेटफ़ॉर्म नोट: Linux पूर्ण प्रवर्तन प्रदान करता है (100% सुरक्षा स्कोर)। macOS ESF+NE (90% स्कोर) Alpha में है — कार्यात्मक लेकिन उत्पादन के लिए तैयार नहीं। Windows WSL2 पूर्ण Linux-समतुल्य प्रवर्तन प्रदान करता है (100% स्कोर); मिनीफ़िल्टर ड्राइवर + AppContainer (85% स्कोर) के माध्यम से देशी Windows ड्राइवर हस्ताक्षर की प्रतीक्षा कर रहा है। विवरण के लिए प्लेटफ़ॉर्म तुलना मैट्रिक्स देखें।
allow, deny, approve (मानव OK), soft_delete, या redirect।db_services के माध्यम से Postgres-परिवार डेटाबेस ट्रैफ़िकएजेंट वर्कफ़्लो अंततः मनमाना कोड (pip install, make test, python script.py) चलाते हैं। पारंपरिक "कमांड चलाने से पहले अनुमोदन मांगें" नियंत्रण टूल सीमा पर रुक जाते हैं और यह नहीं देख सकते कि उस कमांड के अंदर क्या होता है।
agentsh नीति रनटाइम पर लागू करता है, ताकि उपप्रक्रियाओं द्वारा किया गया छिपा हुआ कार्य अभी भी नियंत्रित, लॉग और (जब आवश्यक हो) अनुमोदित हो।
अधिकांश सिस्टम किसी कार्य को अस्वीकार कर सकते हैं। agentsh इसे रीडायरेक्ट भी कर सकता है।
इसका मतलब है कि जब कोई एजेंट गलत दृष्टिकोण (या बल-प्रयोग समाधान) का प्रयास करता है, तो नीति उसे सही पथ पर ले जा सकती है—कमांड को बदलकर और मार्गदर्शन लौटाकर—एजेंट को पक्की सड़क पर रखती है और अनावश्यक पुन: प्रयासों को कम करती है।
उदाहरण: ऑडिटेड रैपर पर curl को रीडायरेक्ट करें```yaml command_rules:
**उदाहरण: बाहरी वर्कस्पेस में लिखने को वापस अंदर रीडायरेक्ट करें**```yaml
file_rules:
- name: redirect-outside-writes
paths: ["/home/**", "/tmp/**"]
operations: [write, create]
decision: redirect
redirect_to: "/workspace/.scratch"
message: "Writes outside workspace redirected to /workspace/.scratch"
एजेंट एक सफल कार्रवाई देखता है (त्रुटि नहीं), लेकिन आप नियंत्रित करते हैं कि चीजें वास्तव में कहाँ जाती हैं।
कंटेनर होस्ट सतह को अलग करते हैं; agentsh इन-कंटेनर रनटाइम दृश्यता और नीति जोड़ता है।
macOS (Homebrew)```bash brew tap canyonroad/tap brew install --cask agentsh
यह AgentSH ऐप बंडल को ESF+NE सिस्टम एक्सटेंशन के साथ स्थापित करता है। स्थापना के बाद आपको **System Settings > General > Login Items & Extensions** में सिस्टम एक्सटेंशन को स्वीकृत करने का संकेत दिया जाएगा।
**Linux (GitHub रिलीज़ से)**
अपने प्लेटफ़ॉर्म के लिए [रिलीज़ पृष्ठ](https://github.com/erans/agentsh/releases) से `.deb`, `.rpm`, या `.apk` डाउनलोड करें।```bash
# Example for Debian/Ubuntu
sudo dpkg -i agentsh_<VERSION>_linux_amd64.deb
स्रोत से (Linux)```bash make build sudo install -m 0755 bin/agentsh bin/agentsh-shell-shim /usr/local/bin
**स्रोत से (macOS)**```bash
# ESF+NE mode (full enforcement — Alpha, requires Xcode 15+)
make build-macos-enterprise
विस्तृत macOS बिल्ड निर्देशों के लिए macOS Build Guide देखें।
./bin/agentsh server --config configs/server-config.yaml
SID=$(./bin/agentsh session create --workspace . --json | jq -r .id) ./bin/agentsh exec "$SID" -- ls -la
./bin/agentsh exec --output json --events summary "$SID" -- curl https://example.com
### जाँचें कि क्या लागू होता है
`agentsh detect` होस्ट की जांच करता है और रिपोर्ट करता है कि कौन से प्रवर्तन आदिम वास्तव में उपलब्ध हैं — seccomp, Landlock, FUSE, eBPF, ptrace, cgroups — प्रति-डोमेन सुरक्षा स्कोर और चयनित सुरक्षा मोड के साथ समूहित। प्रतिबंधित होस्ट (Daytona, E2B, Firecracker-श्रेणी) पर जहां seccomp user-notify listener स्थापित नहीं हो सकता, यह उस मोड की रिपोर्ट करता है जो वास्तव में लागू होगा, न कि केवल कर्नेल समर्थन करता है।```bash
agentsh detect # human-readable protection report
agentsh detect config # emit a config tuned for this host
मोड मैट्रिक्स और ट्यूनिंग नॉब्स के लिए सुरक्षा मोड देखें।
agentsh exec $SID -- <your-command-here>agentsh exec --output json --events summary $SID -- <your-command-here>SID=$(agentsh session create --workspace . --json | jq -r .id)---
### ऑटोस्टार्ट (कोई मैन्युअल डेमन चरण नहीं)
आपको स्वयं `agentsh server` प्रारंभ करने की **आवश्यकता नहीं** है।
* पहला `agentsh exec` (या कोई shimmed `/bin/sh`/`/bin/bash`) स्वचालित रूप से `configs/server-config.yaml` (या यदि सेट हो तो `AGENTSH_CONFIG`) का उपयोग करके एक स्थानीय सर्वर प्रारंभ करेगा।
* वह सर्वर सत्र के जीवनकाल के लिए FUSE परत और नीति इंजन को सक्रिय रखता है; बाद के कमांड इसका पुन: उपयोग करते हैं।
* यदि आप सर्वर जीवनचक्र को मैन्युअल रूप से प्रबंधित करना चाहते हैं तो `AGENTSH_NO_AUTO=1` सेट करें।
---
## डॉकर में उपयोग (शेल शिम के साथ)
न्यूनतम डेबियन-आधारित इमेज के लिए `Dockerfile.example` देखें।
इमेज के अंदर, एक रिलीज़ पैकेज स्थापित करें (या अपना बिल्ड कॉपी करें), फिर शिम को सक्रिय करें:```bash
agentsh shim install-shell \
--root / \
--shim /usr/bin/agentsh-shell-shim \
--bash \
--i-understand-this-modifies-the-host
शिम को अपने सर्वर (साइडकार या होस्ट) पर पॉइंट करें:```dockerfile ENV AGENTSH_SERVER=http://127.0.0.1:18080
अब कंटेनर में कोई भी `/bin/sh -c ...` या `/bin/bash -lc ...` एजेंटश के माध्यम से रूट होता है।
### गैर-इंटरैक्टिव प्रवर्तन