pacman-bintrans
arch-audit
pacman-bintrans | arch-audit | |
---|---|---|
8 | 1 | |
83 | 332 | |
- | - | |
5.1 | 2.6 | |
5 months ago | 4 months ago | |
Rust | Rust | |
GNU General Public License v3.0 only | MIT License |
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.
pacman-bintrans
- Pacman-bintrans – Experimental binary transparency for pacman via sigstore/rekor
-
ProtonMail Is Inherently Insecure, Your Emails Are Likely Compromised
If you trust them with your keys, why not trust them with your plaintext? At which point, why bother with E2EE at all?
The answer should be "because one day web browsers will be able to pin specific versions of specific web apps, with specific hashes, corresponding to specific releases tagged in their repo, which have been audited by a certain threshold of auditors that I trust".
What that looks like in practice is probably some mixture of the following projects:
https://github.com/kpcyrd/pacman-bintrans
https://users.rust-lang.org/t/rust-code-reviews-web-site-for...
https://paragonie.com/blog/2022/01/solving-open-source-suppl...
-
Solving Open Source Supply Chain Security for the PHP Ecosystem
Generally speaking, Transparency Logs for securing software distribution has been a research topic since around 2015, I also wrote my master thesis on the subject.
Sigstore is a Transparency Log intended for provenance and software artifacts which has support for a few different build artifacts. The container ecosystems also appears to be embracing it.
Cool practical example is pacman-bintrans from kpcyrd that throws Arch Linux packages on sigstore and (optionally) checks each package for being reproducible before installation.
https://github.com/kpcyrd/pacman-bintrans
https://www.sigstore.dev/
I think this is generally useful for a lot of ecosystems indeed, and it's cool to also see similar scoped projects pop up to address the these issues.
-
I Love Arch, but GNU Guix Is My New Distro
Reproducible builds are an important part of efforts to secure the software supply chain. Ideally you want multiple independent parties vouching that a given package (whether a compiled binary, or a source tarball) corresponds to a globally immutably published revision in a source code repository.
That gives you Binary Transparency, which is already being attempted in the Arch Linux package ecosystem[0], and it protects the user from compromised build environments and software updates that are targeted at a specific user or that occur without upstream's knowledge.
Once updates can be tied securely to version control tags, it is possible to add something like Crev[1] to allow distributed auditing of source code changes. That still leaves open the questions of who to trust for audits, and how to fund that auditing work, but it greatly mitigates other classes of attack.
[0] https://github.com/kpcyrd/pacman-bintrans
[1] https://github.com/crev-dev/cargo-crev
-
CII' FOSS best practices criteria
It's good that having a reproducible build process is a requirement for the Gold rating, as is signed releases.
Perhaps there needs to be a Platinum level which involves storing the hash of each release in a distributed append-only log, with multiple third parties vouching that they can build the binary from the published source.
Obviously I'm thinking of something like sigstore[0] which the Arch Linux package ecosystem is being experimentally integrated with.[1] Then there's Crev for distributed code review.[2]
[0] https://docs.sigstore.dev/
[1] https://github.com/kpcyrd/pacman-bintrans
[2] https://github.com/crev-dev/crev
-
Thousands of Debian packages updated from their upstream Git repository
> Of course, since these packages are built automatically without human supervision it’s likely that some of them will have bugs in them that would otherwise have been caught by the maintainer.
Human supervision isn't enough to protect the supply chain, and I can't think of a time that it's actually stopped an attack at the packaging stage, but having some extra "friction" in the process seems like it should be a benefit. Ideally an attacker would have to get past both the upstream author and the Debian maintainer, rather than these being two separate single points of failure.
Fortunately the Debian project is improving the situation with regards to supply chain attacks by continuing to work on Reproducible Builds. I think the next step from there needs to be Binary Transparency, with the adoption of the sort of approach being trialled by Arch Linux:
https://github.com/kpcyrd/pacman-bintrans
- Binary transparency logs for pacman, the Arch Linux package manager
arch-audit
What are some alternatives?
paru - Feature packed AUR helper
alpm.rs - Rust bindings for libalpm
webext-signed-pages - A browser extension to verify the authenticity (PGP signature) of web pages
pacman-hooks - Arch Linux Pacman hooks
dysnomia - Dysnomia: A tool for deploying mutable components
arch-audit-gtk - Arch Linux Security Update Notifications
gitian-builder - Build packages in a secure deterministic fashion inside a VM
rua - Build tool for Arch Linux providing control, review and jailed build options
rebuilderd - Independent verification of binary packages - reproducible builds
archweb - Arch Linux website code
userscan - Scans files for Nix store references and registers them with the Nix garbage collector.
Intel-Linux-Processor-Microcode-Data-Files