document what is needed for this to be a statically verified sandbox
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust
- Ambito
- documentation, security
Direzione di ricerca
Inizia dal README del repository e dal cap-directories/README.md collegato, quindi analizza gli strumenti e i controlli Rust elencati per individuare dipendenze, codice unsafe, accesso alle directory ambientali, script di build e casi noti di unsoundness. Il lavoro è completo quando una sezione del README documenta gli strumenti applicabili, i loro limiti e ciò che può e non può essere verificato per una sandbox verificata staticamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Dir::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.
- Lingua principale
- Rust
- Stelle
- 821
- Fork
- 59
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bytecodealliance/cap-std
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
bytecodealliance/cap-std#427 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
bytecodealliance/cap-std#416 · 2 commenti ·
-
Archiving cap-std Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
bytecodealliance/cap-std#426 · 2 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
bytecodealliance/cap-std#423 · 5 commenti ·
-
Replace cap-async-std Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
bytecodealliance/cap-std#408 · 4 commenti · 2 reazioni ·
Tutte le issue di bytecodealliance/cap-std
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
state:needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
zed-industries/zed#64680 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
RustPython/RustPython#8802 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
TheLarkInn/aipm#2390 ·