bytecodealliance / bytecodealliance/cap-std

document what is needed for this to be a statically verified sandbox

Abierto
#351 2 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
821
Forks
57
Merge medio
1 h 16 min
PR fusionados (30 d)
4

Descripción

Would adding a section to the Readme about this be welcome?

Together with static analysis, I think cap-std can be used to reduce the necessary code review to know that something does not escape the capabilities handed to it. So one would only need to review the API that one uses from a crate.

For this one would need some tool(s) one could run on a crate (and recursively its dependencies) to verify that it does not use any of the following:

* [cap-directories](https://github.com/bytecodealliance/cap-std/blob/main/cap-directories/README.md)
* [Dir::open_ambient_dir](https://docs.rs/cap-std/latest/cap_std/fs/struct.Dir.html#method.open_ambient_dir)
* the replaced functions/modules/crates (typical clippy job, but probably no ready made lint yet, can clippy guarantee this or is something else needed?)
* unsafe (there is `#![deny(unsafe_code)]` https://doc.rust-lang.org/reference/attributes/diagnostics.html , I think there are ready made tools, need to find a good recommendation)
* build script https://doc.rust-lang.org/cargo/reference/build-scripts.html (no idea if there is a ready to use tool to check, but easy to code)
* check known unsoundness like https://github.com/rust-lang/rust/issues/25860 are not used, I think miri https://github.com/rust-lang/miri is supposed to catch it, but need to double check

Any suggestions for relevant tools?

While there is research in that direction, for now none of this is to the level of formally proven, but the constructed to be correct level known from Rust.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start with the repository README and the linked cap-directories/README.md, then investigate the listed Rust tools and checks for dependencies, unsafe code, ambient directory access, build scripts, and known unsoundness. Done means a README section documents applicable tools, their limits, and what can and cannot be verified for a statically verified sandbox.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
documentation, security
Tipo de issue
Documentación
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Necesita aclaración
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.