News for hackers. Stuff that matters.
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by woleium on Thursday May 25, 2023 @05:43PM (#36076636)
But oh my, the security implications. Nix is great, but there's no chain of trust on where these packages come from. Did we learn nothing from 'left_pad'?
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by tomberek on Thursday May 25, 2023 @06:18PM (#36077069)
Other than the very explicit tracking of the packages, their dependencies, the full build instructions, the public history, cryptographic signatures for the pre-built binaries, and the trivial ability for anyone to re-build from source and audit the entire chain all the way from bootstrap if they wished?

I’m not sure what golden standard we are comparing this to. It is not perfect, but I’d say this is a far more solid bedrock upon which to build software than anything else I’ve encountered.

Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by RaitoBezarius on Thursday May 25, 2023 @10:14PM (#36078942)
Did you mention sandboxed builds? Actively preventing pip to execute code arbitrarily at install time? Same for Node.js?

I cannot live without that anymore, that's the new golden standard.

Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by tomberek on Thursday May 25, 2023 @11:11PM (#36079344)
It’s funny; I forgot to mention sandboxed builds because at this point I’ve forgotten that they are not ubiquitous. Oops. Thanks!
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by woleium on Friday May 26, 2023 @09:01AM (#36083486)
Heh, til. I'll have to take a closer look at the platform. Thank you!
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by pxc on Friday May 26, 2023 @03:17PM (#36088447)
> I’m not sure what golden standard we are comparing this to.

There isn't any, of course. But one high standard of excellence that we should celebrate and look up to (or just build upon!) is the Guix full-source bootstrap!

They've achieved something pretty incredible in terms of supply chain auditability: https://guix.gnu.org/blog/2023/the-full-source-bootstrap-bui...

Maybe we could also do more with Trustix, and/or build in something like `guix challenge` to the new Nix CLI, to make verifying package provenance and contents easier for users.

> I’d say this is a far more solid bedrock upon which to build software than anything else I’ve encountered.

With the exception (in some areas) of our little sister, Guix, absolutely. It's a real relief to have such a predictable, inspectable system as you get on NixOS. The drive for standards like software bills of materials comes from the chaos of the old world, the clumsy ways of building and distributing software, that proper functional package management like Nix obsoletes.

(Unfortunately we do still cope with and suffer from those old ways in Nixpkgs where the upstream build systems inflict it on us. The JVM and .NET come to mind.)

Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by anon291 on Thursday May 25, 2023 @08:01PM (#36078071)
Every nix package has to be signed in order for it to be installed via binary cache.
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by jcpsimmons on Thursday May 25, 2023 @10:53PM (#36079203)
There are no security implications other than those brought by the user. Freeze and host your own copies of libraries in an overlay (or write your own). The developer chooses which packages to use and from where, VERY explicitly and with a SHA which is far more secure than NPM for example (which is in production…everywhere)
Re:Super Colliding Nix Stores: Nix Flakes for Millions of De... by chriswarbo on Friday May 26, 2023 @04:21AM (#36081489)
You can see exactly where everything's come from, using a command like:

  nix-store --query --tree "$(nix-store --query --deriver "$(which python3)")"