{"id":20009834,"url":"https://github.com/plsyssec/cheri-rwasm","last_synced_at":"2025-10-30T10:20:55.831Z","repository":{"id":144629368,"uuid":"604745080","full_name":"PLSysSec/cheri-rwasm","owner":"PLSysSec","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-18T00:02:36.000Z","size":586,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-10T04:06:24.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PLSysSec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-21T17:45:47.000Z","updated_at":"2023-02-21T17:46:55.000Z","dependencies_parsed_at":"2024-04-19T03:16:10.298Z","dependency_job_id":null,"html_url":"https://github.com/PLSysSec/cheri-rwasm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PLSysSec/cheri-rwasm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fcheri-rwasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fcheri-rwasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fcheri-rwasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fcheri-rwasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLSysSec","download_url":"https://codeload.github.com/PLSysSec/cheri-rwasm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLSysSec%2Fcheri-rwasm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281787953,"owners_count":26561644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T07:17:12.670Z","updated_at":"2025-10-30T10:20:55.778Z","avatar_url":"https://github.com/PLSysSec.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rWasm\n\nA cross-platform high-performance provably-safe sandboxing\nWasm-to-native compiler.\n\nAs a sandboxing compiler, rWasm produces code whose execution (under\nany possible input) cannot use any memory outside the space provided\nto it at compile time, nor can it jump to arbitrary code outside of\nthe explicitly provided interface. Being provably-safe, rWasm comes\nwith an informal proof of the safety of its sandbox, which can be\nfound in our [paper](#publications). At a high-level, it obtains this\nthrough the power of `unsafe`-free Rust!  However, note that this does\nnot guarantee that the code must execute correctly (although we try to\nfaithfully maintain the semantics of the input Wasm, with semantic\nassurance provided by the\n[wasm-semantics-fuzzer](https://github.com/secure-foundations/wasm-semantics-fuzzer)),\nnor does it guarantee that the API boundary is even reasonable (rWasm\njust guarantees that the compile-time requested boundary is\nmaintained).\n\n## Usage\n\nRequires Rust to build and use. Use [`rustup`](https://rustup.rs/) to\ninstall Rust if necessary.\n\nMost compilation with rWasm looks like `cargo run -- {input.wasm}\n{output}` followed by `cd output \u0026\u0026 cargo run --release`.\n\nSide note: `cargo run` performs both the compile and build step; if\nyou want to do it separately, run `cargo build --release` followed by\n`cargo run --release` (which will then use the cached build).\n\nAs an example, `examples/hello-wasi.wasm` (a simple Wasm program that\nprints \"Hello World!\" and exits) can be compiled and run using:\n```sh\ncargo run -- --wasi-executable examples/hello-wasi.wasm output\n(cd output \u0026\u0026 cargo run --release)\n```\n\nFor more options, including tracers, experimental\nperformance-modifying options, etc., run `cargo run -- --help` in the\ncurrent directory.\n\n## Related Projects\n\n+ [vWasm](https://github.com/secure-foundations/vWasm): a\n  formally-verified provably-safe sandboxing compiler, built in F*\n+ [wasm-semantics-fuzzer](https://github.com/secure-foundations/wasm-semantics-fuzzer):\n  a tool for providing greater assurance in the semantic correctness\n  of any Wasm implementation\n\n## License\n\nBSD 3-Clause License. See [LICENSE](./LICENSE).\n\n## Publications\n\n[**Provably-Safe Multilingual Software Sandboxing using\nWebAssembly**](https://www.usenix.org/conference/usenixsecurity22/presentation/bosamiya).\nJay Bosamiya, Wen Shih Lim, and Bryan Parno. In Proceedings\nof the USENIX Security Symposium, August, 2022.\n\n```bibtex\n@inproceedings{provably-safe-sandboxing-wasm,\n  author    = {Bosamiya, Jay and Lim, Wen Shih and Parno, Bryan},\n  booktitle = {Proceedings of the USENIX Security Symposium},\n  month     = {August},\n  title     = {Provably-Safe Multilingual Software Sandboxing using {WebAssembly}},\n  year      = {2022}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsyssec%2Fcheri-rwasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplsyssec%2Fcheri-rwasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplsyssec%2Fcheri-rwasm/lists"}