GithubHelp home page GithubHelp logo

baitcenter / crev Goto Github PK

View Code? Open in Web Editor NEW

This project forked from crev-dev/cargo-crev

0.0 1.0 0.0 1.18 MB

Scalable, social, Code REView and recommendation system that we desperately need

License: Apache License 2.0

Rust 99.51% Shell 0.24% Nix 0.26%

crev's Introduction

Travis CI Build Status crev matrix channel crev gitter channel Documentation on docs.rs

crev - Code REView system that we desperately need

Status

  • cargo-crev: crev for Rust - ready; most of the actually useful things (like documentation) is available there
  • other languages/ecosystems - in plans

Introduction

You're ultimately responsible for vetting your dependencies.

But in a world of NPM/PIP/Cargo/RubyGems - how do you do that? Can you keep up with ever-changing ecosystem?

crev is an actual code review system as opposed to typically practiced code-change review system.

crev is scalable, distributed and social. Users publish and circulate results of their reviews: potentially warning about problems, malicious code, or just encouraging high quality by peer review.

crev allows building a personal web of trust in people and code.

crev is a tool we desperately need yesterday. It protects against compromised dev accounts, intentional malicious code, typosquating, compromised package registries, or just plain poor quality.

Vision

We would like Crev to become a general, language and ecosystem agnostic system for establishing trust in Open Source code. We would like to have frontends integrated with all major Open Source package managers and ecosystems.

Consider joining crev gitter channel. Thank you!

Overview

Using crev you can generate cryptographically signed artifacts (Proofs). Proofs can contain:

  • results of code reviews
  • known advisories
  • overall recomendations and comments.

Example of Package Review Proof that reviews a whole package (aka. library, crate, etc.):

-----BEGIN CREV PACKAGE REVIEW-----
version: -1
date: "2018-12-16T00:09:27.905713993-08:00"
from:
  id-type: crev
  id: 8iUv_SPgsAQ4paabLfs1D9tIptMnuSRZ344_M-6m9RE
  url: "https://github.com/dpc/crev-proofs"
package:
  source: "https://crates.io"
  name: default
  version: 0.1.2
  digest: RtL75KvBdj_Zk42wp2vzNChkT1RDUdLxbWovRvEm1yA
review:
  thoroughness: high
  understanding: high
  rating: positive
comment: "I'm the author, and this crate is trivial"
-----BEGIN CREV PACKAGE REVIEW SIGNATURE-----
QpigffpvOnK7KNdDzQSNRt8bkOFYP_LOLE-vOZ2lu6Je5jvF3t4VZddZDDnPhxaY9zEQurozqTiYAHX8nXz5CQ
-----END CREV PACKAGE REVIEW-----

Proofs are stored and published in personal repositories for other people to use.

Fundamental ideas behind crev:

  • Not many people can review all their dependencies, but if every user at least skimmed through a couple of them, and shared that information with others, we would be in a much better situation.
  • Trust is fundamentally about people and community, not automatic scans, arbitrary metrics, process or bureaucracy. People have to judge both: code (code coverage, testing, quality, etc.) and trustworthiness of other people (whose reviews do you trust, and how much).
  • Code review tool should be language and ecosystem agnostic. Code is code, and should be reviewed.
  • Trust should be spread between many people, so one compromised or malicious actor can't abuse the system.
  • Web of Trust is personal and subjective: islands of Trust emerge spontaneously and overlap.

Links

  • cargo-crev - most of the actually useful things (like documentation) is available there
  • Crev FAQ

crev's People

Contributors

0xflotus avatar afck avatar alexendoo avatar canop avatar chessai avatar daxpedda avatar dpc avatar dylan-dpc avatar ffranr avatar johntitor avatar kornelski avatar nemo157 avatar non-jedi avatar oherrala avatar pimotte avatar pzmarzly avatar ryanwilsonperkin avatar thomasdenh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.