cap-std VS cargo-crev

Compare cap-std vs cargo-crev and see what are their differences.

cap-std

Capability-oriented version of the Rust standard library (by bytecodealliance)

cargo-crev

A cryptographically verifiable code review system for the cargo (Rust) package manager. (by crev-dev)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
cap-std cargo-crev
12 55
621 2,034
0.6% 1.7%
6.6 7.7
about 1 month ago 27 days ago
Rust Rust
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

cap-std

Posts with mentions or reviews of cap-std. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-04-21.
  • Rust Library Team Aspirations | Inside Rust Blog
    6 projects | /r/rust | 21 Apr 2022
    I believe you mean capability based, like cap-std.
  • A Performance Evaluation on Rust Asynchronous Frameworks
    2 projects | /r/rust | 19 Apr 2022
    There might be another reason to prefer async-std right now: the Bytecode Alliance is working on a version of std with support for capability-based security (called cap-std: https://github.com/bytecodealliance/cap-std ), and their async version is based on async-std (called cap-async-std: https://github.com/bytecodealliance/cap-std/tree/main/cap-async-std ). Given the clout that the Bytecode Alliance has, async-std might end up carving a niche out in the Wasm domain.
  • Backdooring Rust crates for fun and profit
    7 projects | /r/rust | 17 Nov 2021
    Would love to see something like this implemented around creating a Process in cap-std ( https://github.com/bytecodealliance/cap-std/issues/190 )
  • Scripting Languages of the Future
    2 projects | news.ycombinator.com | 31 Oct 2021
    I think it's not discussed enough how things like language features shape how library APIs are formed. People usually seem to only consider the question "how would I use this feature?" and not "how would the standard library look like with this feature?", which is surprising given how much builtin libraries affect the pleasantness of a language.

    One of the things I'm excited to see is the cap-std project for Rust [0] given what Pony [1] has demonstrated is possible with capabilities. I'm also hoping that languages like Koka [2] and OCaml [3] will demonstrate interesting use cases for algebraic effects.

    [0] https://github.com/bytecodealliance/cap-std

    [1] https://www.ponylang.io/discover

    [2] https://koka-lang.github.io

    [3] https://github.com/ocaml-multicore/effects-examples

  • Is using crates more safe than using npm?
    4 projects | /r/rust | 22 Oct 2021
  • Why WebAssembly is innovative even outside the browser
    11 projects | news.ycombinator.com | 8 Aug 2021
    I'm not sure you could hack the control flow when running bytecode on the JVM, but I strongly doubt that. (The JVM is "high-level" as pointed out previously and doesn't execute ASM like code. So there is no of the attack surface you have to care on the ASM level).

    And capabilities are anyway something that belongs into the OS — and than programs need to be written accordingly. The whole point of the capability-security model is that you can't add it after the fact. That's why UNIX isn't, and never will be, a capability secure OS.

    But "sanboxing" some process running on a VM is completely independent of that!

    WASM won't get you anything beyond a "simple sanbox" ootb. Exactly the same as you have in the other major VM runtimes.

    If you want capability-secure Rust, there is much more to that. You have to change a lot of code, and use an alternative std. lib¹. Of course you can't than use any code (or OS functionality) when it isn't also capability-secure. Otherwise the model breaks.

    To be capability-secure you have actually to rewrite the world…

    ¹ https://github.com/bytecodealliance/cap-std

  • Security review of "please", a sudo replacement written in Rust
    3 projects | /r/rust | 19 May 2021
    The type system could definitely help. There's all sorts of things we can do. One really cool project is https://github.com/bytecodealliance/cap-std
  • Preparing rustls for wider adoption
    2 projects | /r/rust | 20 Apr 2021
  • cap-std: Capability-oriented version of the Rust standard library
    3 projects | /r/rust | 13 Apr 2021
  • First class I/O
    2 projects | /r/rust | 7 Apr 2021
    On the topic of unsafe being used to describe raw file descriptors, on one hand, there is a sense in which file descriptors are pointers, into another memory. They can leak, dangle, alias, or be forged, in exactly the same way. On the other, there is an open issue about this.

cargo-crev

Posts with mentions or reviews of cargo-crev. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-05.
  • Hard disk LEDs and noisy machines
    7 projects | news.ycombinator.com | 5 Jan 2024
    In other cases it may be more documented, such as Golangs baked-in telemetry.

    There should be better ways to check these problems. The best I have found so far is Crev https://github.com/crev-dev/crev/. It's most used implementation is Cargo-crev https://github.com/crev-dev/cargo-crev, but hopefully it will become more required to use these types of tools. Certainty and metrics about how many eyes have been on a particular script, and what expertise they have would be a huge win for software.

  • Rust Without Crates.io
    5 projects | news.ycombinator.com | 14 Nov 2023
    The main problem the author is talking about is actually about version updates, which in Maven as well as crates.io is up to each lib's author, and is not curated in any way.

    There's no technical solution to that, really. Do you think Nexus Firewall can pick up every exploit, or even most? How confident of that are you, and what data do you have to back that up? I don't have any myself, but would not be surprised at all if "hackers" can easily work around their scanning.

    However, I don't have a better approach than using scanning tools like Nexus, or as the author proposes, use a curated library repository like Debian is doing (which hopefully gets enough eyeballs to remain secure) or the https://github.com/crev-dev/cargo-crev project (manually reviewed code) also mentioned. It's interesting that they mention C/C++ just rely on distros providing dynamic libs instead which means you don't even control your dependencies versions, some distro does (how reliable is the distro?)... I wonder if that could work for other languages or if it's just as painful as it looks in the C world.

  • I don't care about cookies” extension bought by Avast, users jump ship
    2 projects | news.ycombinator.com | 7 Jun 2023
    For instance, the worst company imaginable may be in charge of software that was once FOSS, and they may change absolutely nothing about it, so it should be fine. However, if a small update is added that does something bad, you should know about it immediately.

    The solution seems to be much more clearly in the realm of things like crev: https://github.com/crev-dev/cargo-crev/

    Wherein users can get a clear picture of what dependencies are used in the full chain, and how they have been independently reviewed for security and privacy. That's the real solution for the future. A quick score that is available upon display everytime you upgrade, with large warnings for anything above a certain threshold.

  • I think there should be some type of crates vertification especially the popular ones?
    1 project | /r/rust | 17 Apr 2023
    The metrics on crates.io are a useful sniff test, but ultimately you need to review things yourself, or trust some contributors and reviewers. Some projects, like cargo crev or cargo vet can help with the process.
  • [Discussion] What crates would you like to see?
    16 projects | /r/rust | 11 Apr 2023
    You can use cargo-geiger or cargo-crev to check for whether people you trusted (e.g. u/jonhoo ) trust this crate.
  • Pip and cargo are not the same
    4 projects | news.ycombinator.com | 25 Jan 2023
    There is a similar idea being explored with https://github.com/crev-dev/cargo-crev - you trust a reviewer who reviews crates for trustworthiness, as well as other reviewers.
  • greater supply chain attack risk due to large dependency trees?
    11 projects | /r/rust | 4 Jan 2023
  • Why so many basic features are not part of the standard library?
    3 projects | /r/rust | 31 Dec 2022
    [cargo-crev](https://github.com/crev-dev/cargo-crev) looks like a good step in the right direction but not really commonly used.
  • “You meant to install ripgrep”
    9 projects | news.ycombinator.com | 17 Oct 2022
    'cargo crev' makes this kind of workflow possible: https://github.com/crev-dev/cargo-crev
  • Difference between cargo-vet and cargo-crev?
    2 projects | /r/rust | 22 Sep 2022
    The crev folks themselves are no fans of PGP but need a way to security identify that you are in fact the review author, so that's where the id generation comes in. Ultimately crev is just a bunch of repos with text files you sign with IDs. The nice property is that you can chain these together into a web of trust and it's unfortunate that vet doesn't just use the same signed files on repos model as a foundation because even if they don't trust anyone else, we could turn around and trust them.

What are some alternatives?

When comparing cap-std and cargo-crev you can also consider the following projects:

godot-wasm-engine

crates.io - The Rust package registry

watt - Runtime for executing procedural macros as WebAssembly

stackage - Stable Haskell package sets: vetted consistent packages from Hackage

cargo2nix - Granular builds of Rust projects for Nix

crates.io-index - Registry index for crates.io

rusty-wacc-viewer

serde - Serialization framework for Rust

cargo-supply-chain - Gather author, contributor and publisher data on crates in your dependency graph.

cargo-msrv - 🦀 Find the minimum supported Rust version (MSRV) for your project

effects-examples - Examples to illustrate the use of algebraic effects in Multicore OCaml

Rustup - The Rust toolchain installer