!9IQChSjwSHXPPWTa:lix.systems

Lix

1128 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms306 Servers

Load older messages


SenderMessageTime
2 Feb 2026
@raitobezarius:matrix.orgraitobezariussome steps in the CD where you eval your stuff, get the drvpath associated to the attribute you want, send it to openbao for ACL updates22:08:34
@raitobezarius:matrix.orgraitobezariusbut basically it's also trusting the eval pipeline or something22:08:55
@jlamur:matrix.orgJules Lamur the other channel I proposed was the CLI flags --secret, --allow-secret (or something at inputs/outputs level in flakes) :) One could also image a secrets.nix passed to the cli, eg. nix-build --secrets ./secrets.nix 22:13:43
@jlamur:matrix.orgJules LamurI have to admit that this is probably the best counter-argument to implementing any of that 😅22:14:59
@raitobezarius:matrix.orgraitobezariusbut almost everything ends up trusting the eval pipeline if there's no clear architecture22:15:40
@raitobezarius:matrix.orgraitobezariusincluding the solution where you sign off the sandbox22:15:47
@raitobezarius:matrix.orgraitobezariusbecause somewhere you push artifacts in some cache or S3 and you get them back somewhere else by evaluating what you need or querying a CD system with jobs and what not22:16:04
@raitobezarius:matrix.orgraitobezariusbut that CD system would have done the eval for you22:16:11
@raitobezarius:matrix.orgraitobezariusintroducing the concept of secrets into nix that way makes me nervous but not sure i have clear arguments on why22:16:43
@raitobezarius:matrix.orgraitobezariusalso i still have this feeling that it shouldn't be the invocation's role to tell what is allowed to access a secret or not, because if you are the attacker and you can control that invocation you can simply authorize your own hacked derivation to access the secrets22:17:47
@embr:fairydust.spaceembr
In reply to @raitobezarius:matrix.org
introducing the concept of secrets into nix that way makes me nervous but not sure i have clear arguments on why
(my gut reaction to this is "don't put secrets in the nix store" is nice and straightforward, making it more complicated feels like it could easily become a footgun that one day leads to disaster)
22:18:11
@raitobezarius:matrix.orgraitobezariusyeah but here it's not a trivial "putting secrets in the nix store"22:18:30
@raitobezarius:matrix.orgraitobezariusif you have a socket in the sandbox and you use it to sign a binary and put a signed binary in the store22:18:39
@raitobezarius:matrix.orgraitobezariusyou are not putting secrets in the nix store22:18:44
@raitobezarius:matrix.orgraitobezariusthis property is held22:18:48
@raitobezarius:matrix.orgraitobezarius(the socket sandbox can be backed by a PKCS#11 over UDS signer for example)22:19:08
@raitobezarius:matrix.orgraitobezariusobviously if people starts pulling key material in the sandbox that way and accidentally write them in $out22:19:27
@raitobezarius:matrix.orgraitobezariusmama mia22:19:28
@raitobezarius:matrix.orgraitobezariusis this how we make UEFI test keys go in production builds?22:19:41
@weethet:catgirl.cloudWeetHetOh, I see, thanks22:54:36
@jlamur:matrix.orgJules Lamuroh that's right, I did not think of that 👍️22:54:47
@jlamur:matrix.orgJules Lamur Not addressing your point directly, but even if the invocation passes secrets' "references" (ie. files in my previous examples), that does not prevent the actual secrets store from having authorization. For files it's the kernel doing its things, but you could imagine having secrets references with other "fetchers" for example nix-build --secret sec1 bao:foo/bar/baz or something like that, and openbao does it's job checking that the user running the command has access to the secret. 23:00:27
@jlamur:matrix.orgJules LamurIf the user is compromised and can run arbitrary commands it's already game over, even if they can't map secrets to derivations?23:01:59
@jlamur:matrix.orgJules LamurAlso, would it be a problem that, by design, these derivations cannot be reproducible? A lot of the nixpkgs ones are not so I guess that would be only a "philosophical problem"?23:10:27
@jlamur:matrix.orgJules Lamur(Reproducible / determinist in the sense that even with the same signature key, the signed binary differs)23:14:23
@raitobezarius:matrix.orgraitobezariusthe reproducible problem can be fixed by extending the Nix model23:14:31
@raitobezarius:matrix.orgraitobezariusfor example, there could be some sort of special input-addressed derivations which are deterministic modulo verification of the artifacts with a certain public key that needs to be declared23:15:04
@raitobezarius:matrix.orgraitobezarius* for example, there could be some sort of special input-addressed derivations which are deterministic modulo verification of the artifacts with a certain public key that needs to be declared in the drv23:15:07
@raitobezarius:matrix.orgraitobezariusso the outputs is IA + mod public key verification23:15:17
@jlamur:matrix.orgJules Lamurthat would be nice23:15:34

Show newer messages


Back to Room ListRoom Version: 10