object capability demonstration using secure VATs
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- distributed-systems, security
Direção de pesquisa
Nenhum arquivo de projeto ou teste é mencionado. Comece revisando os exemplos existentes de Dstack e o Endo ocap sandbox e, em seguida, defina uma demonstração mínima de vats separados e referências a objetos entre instâncias. A implementação concluída deve incluir um exemplo funcional mostrando como o código serializado ou hardened e as referências sensíveis se comportam entre sandboxes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Python
- Estrelas
- 27
- Forks
- 26
- Merge médio
- 4h 4min
- PRs com merge (30d)
- 7
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Dstack-TEE/dstack-examples
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Dstack-TEE/dstack-examples#87 · 2 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 28/100
Dstack-TEE/dstack-examples#106 · 3 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 45/100
Dstack-TEE/dstack-examples#103 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
-
enhancement help wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Todas as issues de Dstack-TEE/dstack-examples
Issues semelhantes
-
bug Triage-Needed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
FuRongJun-1999/dsh-memory#170 ·
Mantenedores costumam responder em até 1 dia
-
[开源推荐] 打拼音就出篆书的输入法,附古文字创作小工具Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
521xueweihan/HelloGitHub#3940 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100