Show HN: Plimsoll, a self-hosted sandbox for code your AI agent writes
🇬🇧 English
plimsoll runs untrusted code, such as code an AI agent wrote, inside a sandbox, and every result says how strong that sandbox was. A request can demand a minimum strength; if the sandbox is weaker, nothing runs. The name comes from the Plimsoll line, the load limit painted on the outside of a ship's hull where anyone can check it. plimsoll does the same for the isolation tier: how strong the wall around a run is, stated as one of four levels, weakest first: process, container, kernel, vm. The tier is a value on every result, not a sentence in a datasheet. A request can set a floor, the weakest tier it will accept, and the official Go client checks the tier again when the result comes back.
The same machinery lets plimsoll run an exam on code an agent wrote, not only contain it. A trial runner built into the simulation image runs the agent's program against scenarios that program cannot read: each one reaches the runner in a file deleted before the program starts. Every run returns SHA-256 hashes of the request as sent and the result as returned, which the official clients recompute.
A separate program outside the daemon, plimsoll-attest, signs the checked results, refuses a chain of calls with one missing, and replays a run. The exam itself (the simulated system, the scenarios, the pass mark) stays yours: plimsoll supplies the boundary and the evidence.
Every result states the isolation tier the run actually got. Every request can set a floor, and a request whose floor the daemon cannot meet is refused before any code runs: Err Insufficient Isolation means nothing ran.
🇸🇦 العربية
GitHub - plimsollmark/plimsoll: خدمة لتشغيل الشيفرة غير الموثوقة وتقرير الحدود العازلة لكل تشغيل
plimsoll يشغل شيفرة غير موثوقة، مثل شيفرة كتبها وكيل ذكاء اصطناعي، داخل صندوق (sandbox)، ويحدد في كل نتيجة مدى قوة هذا الصندوق. يمكن لطلب أن يطلب الحد الأدنى من القوة؛ إذا كان الصندوق أضعف، فلا يتم تشغيل أي شيء. الاسم مأخوذ من خط بليمزول، الحد الأقصى للحمل الذي يُرسم على جانب بحيرة السفينة حيث يمكن لأي أحد مراجعته. يعمل plimsoll بنفس الطريقة بالنسبة لمستوى العزل: مدى قوة الجدار حول التشغيل، يُعبّر عنه كأحد أربعة مستويات، من الأضعف إلى الأقوى: العملية، الحاوية، النواة، الآلة الافتراضية. المستوى هو قيمة في كل نتيجة، وليس جملة في وثيقة بيانات. يمكن لطلب أن يحدد أدناه، أضعف مستوى سيقبله، ويتحقق العميل الرسمي في Go من المستوى مرة أخرى عند عودة النتيجة.
نفس الآلية تتيح لبريمزول تشغيل امتحان على شيفرة كتبها وكيل، وليس مجرد حصرها. برنامج تجريبي مدمج في صورة المحاكاة يشغّل برنامج الوكيل ضد سيناريوهات لا يمكن لهذا البرنامج قراءتها: كل سيناريو يصل إلى المشغل في ملف يتم حذفه قبل بدء البرنامج. كل تشغيل يُعيد SHA-256 هاشات للطلب كما أرسل وكذلك النتيجة كما عادت، والتي يعيد العملاء الرسميون حسابها.
برنامج منفصل خارج الديمون، plimsoll-attest، يوقع النتائج المتحقق منها، يرفض سلسلة من المكالمات إذا كانت إحداها مفقودة، ويعيد تشغيل نفس الاختبار. الامتحان نفسه (النظام المحاكي، السيناريوهات، معيار النجاح) هو ملكك: يوفر بريمزول الحدود والأدلة.
كل نتيجة تنص على مستوى العزل الذي حققه التشغيل فعلياً. كل طلب يمكنه تحديد أدناه، وطلبًا لا يستطيع الديمون تلبية أدناهه يُرفض قبل تشغيل أي شيفرة: Err Insufficient Isolation يعني أن شيئًا لم يتم تشغيله.
كيف يتأكد plimsoll من تشغيل الشيفرة غير الموثوقة في صندوق عازل كافٍ؟
يقوم plimsoll بتقرير مستوى العزل في كل نتيجة، ويمكن لطلب أن يحدد أدناهًا. إذا لم يتمكن الديمون من تلبية هذا الأدناه، فإنه يرفض تشغيل أي شيفرة ويعيد Err Insufficient Isolation.
🇧🇩 বাংলা
GitHub - plimsollmark/plimsoll: অবিশ্বসনীয়, এজেন্ট-রচিত কোড চালানোর জন্য একটি স্যান্ডবক্স সেবা যা প্রতিটি রানের পেছনে আইলোস়েশন বাউন্ডারি রিপোর্ট করে
plimsoll অবিশ্বসনীয় কোড, যেমন AI এজেন্ট লিখেছে এমন কোড, স্যান্ডবক্সের মধ্যে চালায়, এবং প্রতিটি ফলাফলে বলে যে এই স্যান্ডবক্সটি কতটা শক্তিশালী ছিল। একটি অনুরোধ ন্যূনতম শক্তির চাহিদা জানাতে পারে; যদি স্যান্ডবক্স কমজোর হয়, তাত্ত্বে কোনো জিনিসই চালায় না। এই নামটি নেওয়া হয়েছে প্লিম্সোল লাইন থেকে, যা একটি জাহাজের পানের বাইরে আঁকা লোড সীমা যা কোনোই যাচাই করতে পারে। plimsoll একই কাজ করে আইলোস়েশন টিয়ারের জন্য: রানের চারপাশে দেয়া দেয়ালটি কতটা শক্তিশালী, চারটি স্তরে প্রকাশ করা হয়, সবচেয়ে দুর্বল থেকে শুরু করে সবচেয়ে শক্তিশালী পর্যন্ত: প্রক্রিয়া, কন্টেইনার, কার্নেল, ভিএম। টিয়ার প্রতিটি ফলাফলে একটি মান, ডেটাশিটের একটি বাক্য নয়। একটি অনুরোধ একটি ফ্লোর সেট করতে পারে, যা সবচেয়ে দুর্বল স্তর যা এটি স্বীকার করবে, এবং অফিসিয়াল Go ক্লায়েন্ট যখন ফলাফল ফিরে আসে তখন আবার টিয়ার যাচাই করে।
একই যন্ত্রবিদ্যা অনুমতি দেয় plimsoll একজেন্ট লিখেছে এমন কোডের একটি পরীক্ষা চালাতে, কেবল ধরা নয়। সিমুলেশন ইমেজে নির্মিত একটি ট্রায়াল রানার এজেন্টের প্রোগ্রামটিকে সেই সিস্টেমের সংবেদনশীল সিস্টেমে চালায় যা প্রোগ্রামটি পড়তে পারে না: প্রতিটি একটি রানারে একটি ফাইলে পৌঁছায় যা প্রোগ্রাম শুরু হওয়ার আগে মুছে ফেলা হয়। প্রতিটি রানে অনুরোধের SHA-256 হ্যাশ এবং ফেরত আসা ফলাফলের হ্যাশ ফেরত দেয়, যা অফিসিয়াল ক্লায়েন্টরা পুনরায় গণনা করে।
ডিমনের বাইরে একটি আলাদা প্রোগ্রাম, plimsoll-attest, সঠিক ফলাফলগুলিতে স্বাক্ষর করে, একটি কল শ্রেণী যাতে একটি অনুপস্থিত থাকলে তা প্রত্যাখ্যান করে, এবং একটি রান পুনরায় চালায়। পরীক্ষাটি নিজে (সিমুলেটেড সিস্টেম, সিস্টেম, পাস মার্ক) আপনার: plimsoll সীমা এবং প্রমাণ সরবরাহ করে।
প্রতিটি ফলাফল উল্লেখ করে যে রানটি আসলে কোন আইলোস়েশন টিয়ারে চালানো হয়েছে। প্রতিটি অনুরোধ একটি ফ্লোর সেট করতে পারে, এবং একটি অনুরোধ যার ফ্লোর ডিমন পূরণ করতে পারে না, তা যে কোনো কোড চালানোর আগে প্রত্যাখ্যান করা হয়: Err Insufficient Isolation মানে হল কোনো জিনিসই চালানো হয়নি।
plimsoll কীভাবে নিশ্চিত করে যে অবিশ্বসনীয় কোড যথেষ্ট শক্তিশালী স্যান্ডবক্সে চালানো হয়?
plimsoll প্রতিটি ফলাফলে আইলোস়েশন টিয়ার রিপোর্ট করে, এবং একটি অনুরোধ একটি ন্যূনতম ফ্লোর সেট করতে পারে। যদি ডিমন এই ফ্লোরটি পূরণ করতে না পারে, তাত্ত্বে কোনো কোড চালানোর জন্য অগ্রাহ্য করে, Err Insufficient Isolation ফেরত দেয়।
🇩🇪 Deutsch
GitHub - plimsollmark/plimsoll: Ein Sandbox-Dienst zum Ausführen nicht vertrauenswürdiger, von Agenten erstellter Code und Berichten der Isolationsgrenze jedes Laufs
plimsoll führt nicht vertrauenswürdigen Code, wie Code, den ein KI-Agent geschrieben hat, in einer Sandbox aus, und jeder Ergebnis gibt an, wie stark diese Sandbox war. Eine Anfrage kann eine minimale Stärke verlangen; wenn die Sandbox schwächer ist, wird nichts ausgeführt. Der Name kommt von der Plimsoll-Linie, der Lastgrenze, die auf dem Rumpf eines Schiffes außen aufgemalt ist, wo jeder sie überprüfen kann. plimsoll macht dasselbe für die Isolierungsebene: Wie stark die Wand um einen Lauf ist, ausgedrückt als eine von vier Ebenen, beginnend mit der schwächsten: Prozess, Container, Kernel, virtuelle Maschine. Die Ebene ist ein Wert in jedem Ergebnis, kein Satz in einer Datentabelle. Eine Anfrage kann eine Etage festlegen, die schwächste Ebene, die sie akzeptiert, und der offizielle Go-Client prüft die Ebene erneut, wenn das Ergebnis zurückkehrt.
Die gleiche Mechanik ermöglicht es plimsoll, einen Test über Code durchzuführen, den ein Agent geschrieben hat, und nicht nur, ihn einzuhalten. Ein in das Simulationsimage integrierter Testrunner führt das Programm des Agenten gegen Szenarien aus, die dieses Programm nicht lesen kann: Jedes erreicht den Runner in einer Datei, die vor dem Start des Programms gelöscht wird. Jeder Lauf gibt SHA-256-Hashes der Anfrage, wie sie gesendet wurde, und des Ergebnisses, wie es zurückgegeben wurde, zurück, die offiziellen Clients berechnen diese neu.
Ein separates Programm außerhalb des Daemons, plimsoll-attest, signiert die geprüften Ergebnisse, lehnt eine Kette von Aufrufen mit einem fehlenden ab und spielt einen Lauf ab. Der Test selbst (das simulierte System, die Szenarien, die Bestehensgrenze) gehört Ihnen: plimsoll stellt die Grenze und die Beweise bereit.
Jedes Ergebnis gibt die Isolierungsebene an, die der Lauf tatsächlich erhalten hat. Jede Anfrage kann eine Etage festlegen, und eine Anfrage, deren Etage der Daemon nicht erreichen kann, wird vor dem Ausführen von Code abgelehnt: Err Insufficient Isolation bedeutet, dass nichts ausgeführt wurde.
Wie stellt plimsoll sicher, dass nicht vertrauenswürdiger Code in einer ausreichend starken Sandbox ausgeführt wird?
plimsoll gibt die Isolierungsebene in jedem Ergebnis an, und eine Anfrage kann eine minimale Etage festlegen. Wenn der Daemon diese Etage nicht erreichen kann, lehnt er die Ausführung von Code ab und gibt Err Insufficient Isolation zurück.
🇪🇸 Español
GitHub - plimsollmark/plimsoll: Un servicio de pruebas para ejecutar código no confiable generado por agentes y reportar el límite de aislamiento de cada ejecución
plimsoll ejecuta código no confiable, como código que un agente de IA escribió, dentro de un sandbox, y cada resultado indica qué tan fuerte era ese sandbox. Una solicitud puede exigir una fuerza mínima; si el sandbox es más débil, no se ejecuta nada. El nombre proviene de la línea Plimsoll, el límite de carga pintado en el casco de un barco donde cualquiera puede verificarlo. plimsoll hace lo mismo para el nivel de aislamiento: qué tan fuerte es la pared alrededor de una ejecución, expresado como uno de cuatro niveles, del más débil al más fuerte: proceso, contenedor, kernel, máquina virtual. El nivel es un valor en cada resultado, no una oración en una hoja de datos. Una solicitud puede establecer un piso, el nivel más débil que aceptará, y el cliente oficial en Go verifica el nivel nuevamente cuando el resultado regresa.
El mismo mecanismo permite que plimsoll realice un examen sobre código que un agente escribió, no solo contenerlo. Un ejecutor de pruebas integrado en la imagen de simulación ejecuta el programa del agente contra escenarios que ese programa no puede leer: cada uno llega al ejecutor en un archivo eliminado antes de que el programa comience. Cada ejecución devuelve hashes SHA-256 de la solicitud tal como se envió y del resultado tal como se devolvió, los cuales los clientes oficiales vuelven a calcular.
Un programa independiente fuera del demonio, plimsoll-attest, firma los resultados verificados, rechaza una cadena de llamadas con alguna faltante y reproduce una ejecución. El examen en sí (el sistema simulado, los escenarios, la nota de aprobación) es suyo: plimsoll proporciona el límite y la evidencia.
Cada resultado indica el nivel de aislamiento que la ejecución realmente obtuvo. Cada solicitud puede establecer un piso, y una solicitud cuyo piso el demonio no puede cumplir es rechazada antes de que se ejecute cualquier código: Err Insufficient Isolation significa que no se ejecutó nada.
¿Cómo se asegura plimsoll de que el código no confiable se ejecute en un sandbox suficientemente fuerte?
plimsoll informa el nivel de aislamiento en cada resultado, y una solicitud puede establecer un piso mínimo. Si el demonio no puede cumplir ese piso, rechaza ejecutar cualquier código, devolviendo Err Insufficient Isolation.
🇫🇷 Français
GitHub - plimsollmark/plimsoll: Un service de test pour exécuter du code non fiable généré par un agent et signaler la limite d'isolation de chaque exécution
plimsoll exécute du code non fiable, tel que le code qu’un agent d’IA a écrit, à l’intérieur d’une sandbox, et chaque résultat indique la force de cette sandbox. Une requête peut exiger une force minimale ; si la sandbox est plus faible, rien n’est exécuté. Le nom provient de la ligne Plimsoll, la limite de charge peinte à l’extérieur du coque d’un navire où chacun peut la vérifier. plimsoll fait de même pour le niveau d’isolation : la force du mur autour d’une exécution, exprimée sous l’une des quatre niveaux, du plus faible au plus fort : processus, conteneur, noyau, machine virtuelle. Le niveau est une valeur dans chaque résultat, pas une phrase dans une fiche technique. Une requête peut définir un plancher, le niveau le plus faible qu’elle acceptera, et le client Go officiel vérifie à nouveau le niveau lorsque le résultat revient.
Le même mécanisme permet à plimsoll de lancer un examen sur le code qu’un agent a écrit, et non seulement de le contenir. Un exécuteur d’essais intégré à l’image de simulation exécute le programme de l’agent contre des scénarios que ce programme ne peut pas lire : chacun atteint l’exécuteur sous forme de fichier supprimé avant le démarrage du programme. Chaque exécution renvoie des hachages SHA-256 de la requête telle qu’elle a été envoyée et du résultat tel qu’il a été renvoyé, que les clients officiels recalculent.
Un programme indépendant en dehors du démon, plimsoll-attest, signe les résultats vérifiés, refuse une chaîne d’appels manquant un maillon, et rejoue une exécution. L’examen lui-même (le système simulé, les scénarios, la note de passage) vous appartient : plimsoll fournit la limite et les preuves.
Chaque résultat indique le niveau d’isolation que l’exécution a réellement obtenu. Chaque requête peut définir un plancher, et une requête dont le démon ne peut pas atteindre le plancher est refusée avant l’exécution de tout code : Err Insufficient Isolation signifie qu’aucun code n’a été exécuté.
Comment plimsoll garantit-il que le code non fiable s'exécute dans une sandbox suffisamment forte ?
plimsoll signale le niveau d'isolation dans chaque résultat, et une requête peut définir un plancher minimum. Si le démon ne peut pas atteindre ce plancher, il refuse d'exécuter tout code et renvoie Err Insufficient Isolation.
🇮🇳 हिन्दी
GitHub - plimsollmark/plimsoll: एक सैंडबॉक्स सेवा जो अविश्वासनीय, एजेंट-लेखित कोड चलाती है और प्रत्येक रन के पीछे के आइलोस़िस़ बाउंडरी की रिपोर्ट करती है
plimsoll अविश्वासनीय कोड, जैसे AI एजेंट द्वारा लिखा गया कोड, को सैंडबॉक्स के भीतर चलाता है, और प्रत्येक परिणाम में यह बताता है कि वह सैंडबॉक्स कितना मजबूत था। एक अनुरोध न्यूनतम शक्ति की मांग कर सकता है; यदि सैंडबॉक्स कमजोर है, तो कुछ भी नहीं चलता है। इसका नाम प्लिम्सोल रेखा से लिया गया है, जो एक जहाज के पनबंदी पर बाहर चिपकी हुई लोड सीमा है जिसे कोई भी जांच सकता है। plimsoll इसी तरह से आइलोस़िस़ टियर के लिए काम करता है: रन के चारों ओर दी दीवार कितनी मजबूत है, चार स्तरों में व्यक्त किया गया है, सबसे कमजोर से लेकर सबसे मजबूत तक: प्रोसेस, कंटेनर, कर्नल, वीएम। टियर परिणाम के हर मान में एक मान है, डेटाशीट के एक वाक्य नहीं। एक अनुरोध न्यूनतम स्तर सेट कर सकता है, वह सबसे कमजोर स्तर है जो उसे स्वीकार्य है, और आधिकारिक Go क्लाइंट जब परिणाम वापस आता है तो टियर की जाँच करता है।
एक ही मशीनरी के साथ plimsoll एजेंट द्वारा लिखे गए कोड के परीक्षण के लिए भी चला सकता है, केवल उसे सीमित नहीं। सिमुलेशन इमेज में निर्मित एक ट्रायल रनर एजेंट के प्रोग्राम को उन सcenários के विरुद्ध चलाता है जो उस प्रोग्राम को पढ़ नहीं सकते: प्रत्येक एक रनर के भीतर एक फ़ाइल में पहुँचता है जो प्रोग्राम शुरू होने से पहले ही हटा दी जाती है। हर रन में भेजे गए अनुरोध और वापस किए गए परिणाम के SHA-256 हैश लौटाता है, जिन्हें आधिकारिक क्लाइंट्स फिर से गणना करते हैं।
डीमन के बाहर एक अलग प्रोग्राम, plimsoll-attest, जाँचे गए परिणामों पर हस्ताक्षर करता है, एक लूप में से एक के साथ एक श्रृंखला को खारिज करता है, और एक रन को दोहराता है। परीक्ष खुद (सिमुलेटेड सिस्टम, सcenários, पास मार्क) आपका है: plimsoll सीमा और प्रमाण प्रदान करता है।
हर परिणाम में बताया जाता है कि रन वास्तव में किस आइलोस़िस़ टियर के साथ चलाया गया था। हर अनुरोध न्यूनतम स्तर सेट कर सकता है, और एक अनुरोध जिसका न्यूनतम स्तर डीमन पूरा नहीं कर सकता है, तो किसी भी कोड के चलाने से पहले खारिज कर दिया जाता है: Err Insufficient Isolation का अर्थ है कि कुछ भी नहीं चलाया गया।
plimsoll अविश्वासनीय कोड को पर्याप्त रूप से मजबूत सैंडबॉक्स में कैसे चलाता है?
plimsoll प्रत्येक परिणाम पर आइलोस़िस़ टियर की रिपोर्ट करता है, और एक अनुरोध न्यूनतम स्तर सेट कर सकता है। यदि डीमन उस स्तर को पूरा नहीं कर सकता है, तो वह किसी भी कोड को चलाने से इनकार कर देता है और Err Insufficient Isolation लौटाता है।
🇮🇩 Bahasa Indonesia
GitHub - plimsollmark/plimsoll: Layanan kotak pasir untuk menjalankan kode tidak terpercaya yang ditulis oleh agen dan melaporkan batas isolasi setiap proses
plimsoll menjalankan kode tidak terpercaya, seperti kode yang ditulis oleh sebuah agen AI, di dalam kotak pasir, dan setiap hasil menyatakan seberapa kuat kotak pasir itu. Permintaan dapat meminta kekuatan minimum; jika kotak pasir lebih lemah, tidak ada yang dijalankan. Nama ini berasal dari garis Plimsoll, batas beban yang dilukis di luar hal trimaya kapal di mana siapa saja dapat memeriksanya. plimsoll melakukan hal yang sama untuk tingkat isolasi: seberapa kuat dinding di sekitar proses, dinyatakan sebagai salah satu dari empat tingkat, dari terlemah hingga terkuat: proses, kontainer, kernel, mesin virtual. Tingkat ini adalah nilai dalam setiap hasil, bukan kalimat dalam lembar data. Permintaan dapat mengatur lantai, tingkat terlemah yang akan diterima, dan klien Go resmi memeriksa tingkat lagi ketika hasilnya kembali.
Mesin yang sama memungkinkan plimsoll menjalankan ujian atas kode yang ditulis oleh sebuah agen, bukan hanya memuatnya. Runner uji yang ada di dalam gambar simulasi menjalankan program agen melawan skenario yang program tersebut tidak dapat baca: masing-masing mencapai runner dalam sebuah berkas yang dihapus sebelum program dimulai. Setiap proses mengembalikan hash SHA-256 dari permintaan sebagaimana dikirim dan hasil sebagaimana dikembalikan, yang klien resmi hitung ulang.
Program terpisah di luar daemon, plimsoll-attest, menandatangani hasil yang diperiksa, menolak rantai panggilan dengan satu yang hilang, dan memutar ulang proses. Ujian itu sendiri (sistem simulasi, skenario, nilai lulus) adalah milik Anda: plimsoll menyediakan batas dan bukti.
Setiap hasil menyatakan tingkat isolasi yang sebenarnya diperoleh proses. Setiap permintaan dapat mengatur lantai, dan permintaan yang tidak dapat memenuhi lantai daemon ditolak sebelum kode dijalankan: Err Insufficient Isolation berarti tidak ada yang dijalankan.
Bagaimana plimsoll memastikan kode tidak terpercaya dijalankan di kotak pasir yang cukup kuat?
plimsoll melaporkan tingkat isolasi dalam setiap hasil, dan permintaan dapat mengatur lantai minimum. Jika daemon tidak dapat mencapai lantai itu, ia menolak untuk menjalankan kode apa pun, mengembalikan Err Insufficient Isolation.
🇯🇵 日本語
GitHub - plimsollmark/plimsoll: 信頼できないエージェント作成のコードを実行するサンドボックスサービスで、各実行の隔離境界を報告する
plimsoll は信頼できないコード、例えば AI エージェントが書いたコードをサンドボックス内で実行し、各結果にそのサンドボックスの強度を示します。リクエストは最小限の強度を要求でき、サンドボックスが弱い場合は何も実行されません。この名前はプリムソールライン、船体の外側に描かれた荷重限界であり、誰でも確認できることから来ています。plimsoll は隔離ティアについても同様です:実行を取り囲む壁の強度、4 つのレベルのうちの 1 つで表され、最も弱い順に:プロセス、コンテナ、カーネル、仮想マシン。ティアは各結果の値であり、データシートの文章ではありません。リクエストはフロアを設定でき、それが受け入れる最も弱いレベルであり、公式の Go クライアントは結果が返されたときにティアを再度確認します。
同じ機械により、plimsoll はエージェントが書いたコードの試験を実行でき、それを単に隔離することだけではありません。シミュレーションイメージに組み込まれたトライアルランナーは、エージェントのプログラムをそのプログラムが読み取れないシナリオに対して実行します:各シナリオはプログラムが開始される前に削除されたファイルでランナーに到達します。各実行は、送信されたリクエストと返された結果のSHA-256 ハッシュを返し、公式クライアントはそれを再計算します。
デーモンの外にある独立したプログラム、plimsoll-attest は、チェックされた結果に署名し、1 つ欠落した呼び出しのチェーンを拒否し、実行を再生します。試験自体(シミュレートされたシステム、シナリオ、合格点)はあなたのものです:plimsoll は境界と証拠を提供します。
各結果は、実行が実際に取得した隔離ティアを示します。各リクエストはフロアを設定でき、デーモンがそのフロアを満たせないリクエストは、コードが実行される前に拒否されます:Err Insufficient Isolation は何も実行されなかったことを意味します。
plimsoll はどのようにして信頼できないコードを十分に強力なサンドボックスで実行することを保証しますか?
plimsoll は各結果に隔離ティアを報告し、リクエストは最小フロアを設定できます。デーモンがそのフロアを満たせない場合、それは任意のコードの実行を拒否し、Err Insufficient Isolation を返します。
🇧🇷 Português
GitHub - plimsollmark/plimsoll: Um serviço de sandbox para executar código não confiável gerado por agentes e relatar o limite de isolamento de cada execução
plimsoll executa código não confiável, como código escrito por um agente de IA, dentro de uma sandbox, e cada resultado indica a força dessa sandbox. Uma solicitação pode exigir uma força mínima; se a sandbox for mais fraca, nada é executado. O nome vem da linha Plimsoll, o limite de carga pintado no casco de um navio onde qualquer um pode verificá-lo. plimsoll faz o mesmo para o nível de isolamento: quão forte é a parede ao redor de uma execução, expresso como um dos quatro níveis, do mais fraco ao mais forte: processo, contêiner, kernel, máquina virtual. O nível é um valor em cada resultado, não uma frase em uma ficha técnica. Uma solicitação pode definir um piso, o nível mais fraco que aceitará, e o cliente oficial em Go verifica o nível novamente quando o resultado volta.
O mesmo mecanismo permite que plimsoll execute um exame sobre código escrito por um agente, não apenas contê-lo. Um executor de testes integrado na imagem de simulação executa o programa do agente contra cenários que esse programa não pode ler: cada um chega ao executor em um arquivo excluído antes de o programa começar. Cada execução retorna hashes SHA-256 da solicitação como enviada e do resultado como retornado, que os clientes oficiais recalculam.
Um programa separado fora do daemon, plimsoll-attest, assina os resultados verificados, recusa uma cadeia de chamadas com uma faltando, e reproduz uma execução. O exame em si (o sistema simulado, os cenários, a nota de aprovação) é seu: plimsoll fornece o limite e as provas.
Cada resultado indica o nível de isolamento que a execução realmente obteve. Cada solicitação pode definir um piso, e uma solicitação cujo piso o daemon não pode atender é recusada antes de qualquer código ser executado: Err Insufficient Isolation significa que nada foi executado.
Como plimsoll garante que o código não confiável seja executado em uma sandbox suficientemente forte?
plimsoll relata o nível de isolamento em cada resultado, e uma solicitação pode definir um piso mínimo. Se o daemon não puder atender a esse piso, ele recusa executar qualquer código, retornando Err Insufficient Isolation.
🇷🇺 Русский
GitHub - plimsollmark/plimsoll: Служба песочницы для запуска ненадежного кода, написанного агентом, и отчета о границе изоляции каждого запуска
plimsoll запускает ненадежный код, такой как код, написанный ИИ-агентом, внутри песочницы, и каждый результат указывает, насколько сильной была эта песочница. Запрос может потребовать минимальной силы; если песочница слабее, ничего не запускается. Название происходит от линии Плимсолла, предела загрузки, нарисованного на корпусе корабля, где каждый может проверить его. plimsoll делает то же самое для уровня изоляции: насколько сильен барьер вокруг запуска, выраженный как один из четырех уровней, от самого слабого к самому сильному: процесс, контейнер, ядро, виртуальная машина. Уровень — это значение в каждом результате, а не предложение в технической документации. Запрос может установить политический этаж, самый слабый уровень, который он примет, и официальный клиент Go снова проверяет уровень, когда результат возвращается.
Тот же механизм позволяет plimsoll проводить экзамен по коду, написанному агентом, а не просто содержать его. Испытательный бегун, встроенный в образ симуляции, запускает программу агента против сценариев, которые эта программа не может прочитать: каждый из них достигает бегуна в файле, удаленном перед запуском программы. Каждый запуск возвращает хэши SHA-256 запроса, как он был отправлен, и результата, как он был возвращен, которые официальные клиенты пересчитывают.
Отдельная программа вне демона, plimsoll-attest, подписывает проверенные результаты, отказывается в цепочке вызовов с одним пропущенным звеном и воспроизводит запуск. Сам экзамен (симулируемая система, сценарии, проходной балл) принадлежит вам: plimsoll предоставляет границу и доказательства.
Каждый результат указывает уровень изоляции, который запуск фактически получил. Каждый запрос может установить политический этаж, и запрос, политический этаж которого демон не может достичь, отклоняется до запуска любого кода: Err Insufficient Isolation означает, что ничего не было запущено.
Как plimsoll гарантирует, что ненадежный код запускается в достаточно сильной песочнице?
plimsoll сообщает уровень изоляции в каждом результате, и запрос может установить минимальный политический этаж. Если демон не может достичь этого политического этажа, он отказывается запускать любой код, возвращая Err Insufficient Isolation.
🇨🇳 简体中文
GitHub - plimsollmark/plimsoll: 一种在沙箱中运行不可信代理编写代码的服务,并报告每次运行所处的隔离边界
plimsoll 在沙箱中运行不可信代码,例如 AI 代理编写的代码,并在每个结果中说明该沙箱的强度。请求可以要求最低强度;如果沙箱较弱,则不执行任何操作。该名称来源于普里姆索尔线,即船体外部绘制的载重限制线,任何人都可以检查。plimsoll 对隔离等级做了同样的处理:运行周围墙的强度,以四个等级表示,从弱到强依次为:进程、容器、内核、虚拟机。该等级是每个结果中的一个值,而不是数据表中的一条语句。请求可以设置最低等级,即它愿意接受的最弱等级,当结果返回时,官方 Go 客户端会再次检查该等级。
相同的机制允许 plimsoll 对代理编写的代码进行考试,而不仅仅是将其封装起来。内置在模拟镜像中的试运行程序将代理的程序与 scenarios 运行对比,而这些 scenarios 程序无法读取:每个 scenario 都是在程序启动之前删除的运行程序中的一个文件。每次运行都会返回请求的SHA-256 哈希值和返回的结果哈希值,官方客户端会重新计算这些哈希值。
位于守护进程外部的独立程序plimsoll-attest 对检查过的结果进行签名,拒绝缺少任何一个环节的调用链,并重放一次运行。考试本身(模拟系统、scenarios、通过标准)归您所有:plimsoll 提供边界和证据。
每个结果都会说明运行实际获得的隔离等级。每个请求都可以设置最低等级,如果守护进程无法满足该等级,则在任何代码运行之前拒绝该请求:Err Insufficient Isolation 意味着未执行任何操作。
plimsoll 如何确保不可信代码在足够强大的沙箱中运行?
plimsoll 在每个结果中报告隔离等级,请求可以设置最低等级。如果守护进程无法满足该等级,则拒绝运行任何代码,返回 Err Insufficient Isolation。