OSS Rebuild: open-source, rebuilt to last

tasn | 154 points

I'm curious how the system detects "unusual build patterns".

I.e. how would the xz backdoor be identified? Does the system have logic like "the build should not us binary bits already in the repo"? Or it's even more specific , like "all build files must come from a single directory? If it's more generic, how does it work?

riffraff | 23 minutes ago

IMO you need an immutable appliance-like OS that is deterministic and full source bootstrapped to do reproductions with minimized trusting-trust attack risk.

We built ReprOS to solve this problem: https://codeberg.org/stagex/repros

"Git push" to it and it will do a build in a throw-away VM then have the host sign the artifact results and push signatures to the same or a different repo.

lrvick | 13 hours ago

I'm very excited about this project, but it could really do with a web UI of some sort! Having to build a Go CLI tool in order to access it is a massive amount of friction.

I reverse-engineered it a tiny bit, looks like you can get a list of all builds so far like this:

  gsutil ls -r 'gs://google-rebuild-attestations/**'
I ran that and got back 9,507 - here's that list as a Gist: https://gist.github.com/simonw/9287de5900d5b76969e331d9b4ad9...
simonw | 11 hours ago

So this seems to be a build definition and some form of attestation system? Does this require builds are done via CI systems instead of on adhoc developer machines?

I find that for many npm packages, I don't know how builds were actually published to the registry and for some projects that I rebuilt myself in docker, I got vastly different sizes of distribution artifacts.

Also, it seems like this is targeting pypi, npm, and crates at first - what about packages in linux distro repositories (debian, etc.)?

Flux159 | 15 hours ago

So this seems like a bit of a half measure in the sense that it doesn't provide client side build?

With guix I can bit for bit reproduce with my client machine the upstream binaries.

This seems flawed to assume that google's servers are uncompromised, its vastly better to have distributed ability to reproduce.

https://guix.gnu.org/manual/en/html_node/Invoking-guix-chall...

WhatIsDukkha | 10 hours ago

nixpkgs already has 107158 packaged libraries/executables. Nix has infrastructure to support arbitrary build systems and can create docker images. I fail to see any advantages of creating a more narrow version of it that has fewer uses and has to start from scratch

Weethet | 15 hours ago
[deleted]
| 13 hours ago

Thanks that the OSS value is $12 trillion, but only packagers, security experts and SaaS companies get any of that.

Rebuilt to Last? It is a Google project, so I give it two years.

bgwalter | 16 hours ago

Obligatory xkcd: Dependency https://xkcd.com/2347/

This fit in somewhere here?

ChrisArchitect | 15 hours ago