object capability demonstration using secure VATs
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript
- Bereich
- distributed-systems, security
Rechercherichtung
Es werden keine Projektdateien oder Tests genannt. Beginne damit, die vorhandenen Dstack-Beispiele und die Endo ocap sandbox zu prüfen, und definiere anschließend eine minimale Demonstration separater vats und objektübergreifender Referenzen zwischen Instanzen. Die fertige Umsetzung sollte ein funktionierendes Beispiel enthalten, das zeigt, wie serialisierter oder gehärteter Code und sensible Referenzen sich über Sandboxes hinweg verhalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
There's a great body of work on object capability languages as a way of managing the risk of running untrusted code modules by only exposing limited fine-grained capabilities to the untrusted code.
But, while the subject is untrusted code, the environment itself in which the code runs, called a "Vat", must be considered trusted.
This is problematic when using cross-vat distributed code, because one malicious vat can steal the "Swiss number" references (random unguessable strings, effectively symmetric keys).
This makes it hard to reconcile object capability languages with smart contracts. In smart contracts we go out of our way to run consensus protocols so that a trusted environment can be built on untrusted nodes, but we can't assume privacy and so we can't use Swiss number references.
So now, by instantiating the vat with Dstack, we might be able to close this gap and draw some more insights or better composition / better hardening as a result.
As a starting point, we might simply run existing ocap sandbox in Dstack, possibly adding a new shim for referencing objects in different Dstack instances as different vats
https://github.com/endojs/endo
A more thoughtful example probably needs to illustrate some pattern of passing serialized/hardened code, containing Swiss numbers or even private keys, between such sandboxes. Needs more thought though
chatgpt discussion:
https://chatgpt.com/share/67ff0b25-b580-8009-a13b-d5ca70cb5fb7
- Vorherrschende Sprache
- Python
- Sterne
- 27
- Forks
- 26
- Ø Merge
- 1 T. 6 Std.
- Gemergte PRs (30 T.)
- 12
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Dstack-TEE/dstack-examples
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Dstack-TEE/dstack-examples#87 · 2 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 28/100
Dstack-TEE/dstack-examples#106 · 3 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
Dstack-TEE/dstack-examples#103 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
-
enhancement help wanted
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Alle Issues in Dstack-TEE/dstack-examples
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
stephrobert/dsoxlab#238 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
sublimehq/package_control#1780 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
nwg-piotr/nwg-displays#145 ·