

Can I install nix securely (eg with apt) to run inside the free CI runners provided by GitHub, GitLab, and Codeberg?
Founder of /c/eco_libre


Can I install nix securely (eg with apt) to run inside the free CI runners provided by GitHub, GitLab, and Codeberg?


You can pay for signed images from someone else
Can you tell me a bit more about this? Who are the major providers?


Yes, you have to trust someone.
However, by using cryptographic signatures on release artifacts (eg container image layers), we can reduce that risk from having to trust tens of thousands of people to just one person.
That’s a hugely meaningful reduction of risk.


How could monitoring a firewall log protect you from a Publishing Infrastructure Compromise or MITM attack? It would just show the malicious image being downloaded from the expected source…


Because the hash comes from the same source as the image itself.
So if someone compromised the publishing infrastructure (or does a MITM attack), they can trivially maliciously modify the hash as easily as they can maliciously modify the image. It provides zero security to Publishing Infrastructure compromise.
A good historical example of this happening was when monero’s release infrastructure was comprimised. And here’s a great list of historically relevant cases where this happened:
In the case of Monero, the users were able to verify that the release was malicious – because the cryptographic signature was invalid, and it was fixed very fast. If the user can only check checksums, they have literally no way to detect if the publishing infrastructure or a MITM attack is taking place.


but how do you verify the sources of what you’re fetching?
Is it coming from an unsigned git repo? That seems equally vulnerable


Open-Source Software.
Can I install nix securely (eg with apt) to run inside the free CI runners provided by GitHub, GitLab, and Codeberg?
Is there any way you can force it to use only software that’s crypographically signed (not hashes)?
My understanding is that nix uses a mix of source-based packages that are automatically pulled without verifying the sources crypgographically.