frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Demonstrably Secure Software Supply Chains with Nix

https://nixcademy.com/posts/secure-supply-chain-with-nix/
58•todsacerdoti•6h ago

Comments

beardedwizard•5h ago
The bummer about lots of supply chain work is that it does not address the attacks we see in the wild like xz where malicious code was added at the source, and attested all the way through.

There are gains to be had through these approaches, like inventory, but nobody has a good approach to stopping malicious code entering the ecosystem through the front door and attackers find this much easier than tampering with artifacts after the fact.

yencabulator•5h ago
I think a big part of the push is just being able to easily & conclusively answer "are we vulnerable or not" when a new attack is discovered. Exhaustive inventory already is huge.
tough•3h ago
i read somewhere go has a great package for this that checks statically typed usage of the vuln specific functions not whole package deps
yencabulator•3h ago
https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
tough•2h ago
ty ty exactly what I was thinking

does something like this exist for other languages like rust, python or js?

yencabulator•1h ago
I don't think the Rust ecosystem has that at this time. They're annotating the vulnerabilities with affected functions, but as far as I know nobody's written the static analysis side of it.

https://github.com/rustsec/rustsec/issues/21

Python and JS might be so dynamic that such static analysis just isn't as useful.

dwattttt•1h ago
For Rust, the advisory database cargo-audit uses (https://github.com/RustSec/advisory-db/) does track which functions are affected by a cve (if provided). I'm not sure if the tool uses them though.
XiZhao•5h ago
I run a sw supply chain company (fossa.com) -- agree that there's a lot of low hanging gains like inventory still around. There is a shocking amount of very basic but invisible surface area that leads to downstream attack vectors.

From a company's PoV -- I think you'd have to just assume all 3rd party code is popped and install some kind of control step given that assumption. I like the idea of reviewing all 3rd party code as if its your own which is now possible with some scalable code review tools.

nyrikki•2h ago
Those projects seem to devolve into a boil the ocean style projects and tend to be viewed as intractable and thus ignorable.

In the days everything was http I use to set a proxy variable and have the proxy save all downloaded assets to compair later, today I would probably blacklist the public CAs and do an intercept, just for the data of what is grabbing what.

Fedramp was defunded and is moving forward with a GOA style agile model. If you have the resources I would highly encourage you to participate in conversations.

The timelines are tight and they are trying to move fast, so look into their GitHub discussions and see if you can move it forward.

There is a chance to make real changes but they need feedback now.

https://github.com/FedRAMP

kuruczgy•3h ago
Actually this is not quite true, in the xz hack part of the malicious code was in generated files only present in the release tarball.

When I personally package stuff using Nix, I go out of my way to build everything from source as much as possible. E.g. if some repo contains checked in generated files, I prefer to delete and regenerate them. It's nice that Nix makes adding extra build steps like this easy. I think most of the time the motivation for having generated files in repos (or release tarballs) is the limitations of various build systems.

throwawayqqq11•2h ago
Your preference to compile your backdoors does not really fix the problem of malicious code supply.

I have this vague idea to fingerprint the relevant AST down to all syscalls and store it in a lock file to have a better chance of detection. But this isnt a true fix either.

kuruczgy•1h ago
Yes you are right, what I am proposing is not a solution by itself, it's just a way to be reasonably confident that _if you audit the code_, that's going to be the actual logic running on your computer.

(I don't get the value of your AST checksumming idea over just checksumming the source text, which is what almost all distro packages do. I think the number of changes that change the code but not the AST are negligible. If the code (and AST) is changed, you have to audit the diff no matter what.)

The more interesting question that does not have a single good answer is how to do the auditing. In almost all cases right now the only metric you have is "how much you trust upstream", in very few cases is actually reading through all the code and changes viable. I like to look at how upstream does their auditing of changes, e.g. how they do code review and how clean is their VCS history (so that _if_ you discover something fishy in the code, there is a clean audit trail of where that piece of code came from).

sollewitt•4h ago
Valuably you also get demonstrable _insecure_ status - half the pain for our org of log4js was figuring out where it was in the stacks, and at which versions. This kind of accounting is really valuable when you're trying to figure out if and where you are affected.
niam•2h ago
> it offers integrity and reproducibility like no other tool (btw. guix also exists)

This rubs me the wrong way. They acknowledge that alternative tools exist, but willfully use the wrong-er statement in pursuit of a vacuous marketing idiom.

tucnak•2h ago
The laborious extents to which people would go simply to not use Guix.
Zambyte•44m ago
I also use Guix. Quickly skimming the article, I don't see anything that jumps out that Guix does all that different. What are you suggesting?
gitroom•2h ago
Hard agree on the pain of tracking all this - been there. Respect for the grind to actually lock this stuff down.
XorNot•4m ago
This still doesn't fix the "trusting trust" attack: which Guix actually can, and which can bootstrap sideways to build other distros.

It also doesn't do anything which regular packaging systems don't (nix does have some interesting qualities, security ain't one of them): I.e. that big list of dependencies isn't automatic in any way, someone had to write them, which in turn makes it exactly the same as any other packaging systems build-deps.

Embeddings are underrated

https://technicalwriting.dev/ml/embeddings/overview.html
393•jxmorris12•6h ago•117 comments

Why National Labs are investing (heavily) in AI

https://www.lanl.gov/media/publications/1663/0125-qa-jason-pruet
43•LAsteNERD•1h ago•21 comments

The Barbican

https://arslan.io/2025/05/12/barbican-estate/
310•farslan•6h ago•118 comments

RIP Usenix ATC

https://bcantrill.dtrace.org/2025/05/11/rip-usenix-atc/
99•joecobb•5h ago•19 comments

HealthBench

https://openai.com/index/healthbench/
101•mfiguiere•3h ago•65 comments

Build Your Own Siri. Locally. On-Device. No Cloud

https://thehyperplane.substack.com/p/build-your-own-siri-locally-on-device
26•andreeamiclaus•2h ago•4 comments

Show HN: Lumoar – Free SOC 2 tool for SaaS startups

https://www.lumoar.com
32•asdxrfx•2h ago•19 comments

Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

78•winwang•5h ago•49 comments

Byte latent transformer: Patches scale better than tokens

https://arxiv.org/abs/2412.09871
66•dlojudice•4h ago•21 comments

A community-led fork of Organic Maps

https://www.comaps.app/news/2025-05-12/3/
250•maelito•9h ago•169 comments

Ruby 3.5 Feature: Namespace on read

https://bugs.ruby-lang.org/issues/21311
147•ksec•8h ago•68 comments

Reviving a modular cargo bike design from the 1930s

https://www.core77.com/posts/136773/Reviving-a-Modular-Cargo-Bike-Design-from-the-1930s
98•surprisetalk•7h ago•88 comments

The Acid King (2001)

https://www.rollingstone.com/feature/acid-lsd-king-william-leonard-pickard-prison-pete-wilkinson-184390/
22•udit99•3d ago•13 comments

5 Steps to N-Body Simulation

https://alvinng4.github.io/grav_sim/5_steps_to_n_body_simulation/
49•dargscisyhp•2d ago•3 comments

Legion Health (YC S21) is hiring engineers to help fix mental health with AI

https://www.workatastartup.com/jobs/75011
1•the_danny_g•4h ago

Toward a Sparse and Interpretable Audio Codec

https://arxiv.org/abs/2505.05654
20•cochlear•3h ago•1 comments

Show HN: Airweave – Let agents search any app

https://github.com/airweave-ai/airweave
93•lennertjansen•6h ago•24 comments

NASA Study Reveals Venus Crust Surprise

https://science.nasa.gov/science-research/astromaterials/nasa-study-reveals-venus-crust-surprise/
7•mnem•3d ago•7 comments

Demonstrably Secure Software Supply Chains with Nix

https://nixcademy.com/posts/secure-supply-chain-with-nix/
58•todsacerdoti•6h ago•18 comments

I hacked a dating app (and how not to treat a security researcher)

https://alexschapiro.com/blog/security/vulnerability/2025/04/21/startups-need-to-take-security-seriously
392•bearsyankees•5h ago•225 comments

Universe expected to decay in 10⁷⁸ years, much sooner than previously thought

https://phys.org/news/2025-05-universe-decay-years-sooner-previously.html
146•pseudolus•11h ago•194 comments

University of Texas-led team solves a big problem for fusion energy

https://news.utexas.edu/2025/05/05/university-of-texas-led-team-solves-a-big-problem-for-fusion-energy/
190•signa11•9h ago•141 comments

Continuous glucose monitors reveal variable glucose responses to the same meals

https://examine.com/research-feed/study/1jjKq1/
121•Matrixik•2d ago•71 comments

Show HN: CLI that spots fake GitHub stars, risky dependencies and licence traps

https://github.com/m-ahmed-elbeskeri/Starguard
80•artski•8h ago•49 comments

Why GADTs matter for performance (2015)

https://blog.janestreet.com/why-gadts-matter-for-performance/
42•hyperbrainer•2d ago•14 comments

What if humanity forgot how to make CPUs?

https://twitter.com/lauriewired/status/1922015999118680495
15•Tabular-Iceberg•1h ago•13 comments

Spade Hardware Description Language

https://spade-lang.org/
96•spmcl•9h ago•49 comments

Tailscale 4via6 – Connect Edge Deployments at Scale

https://tailscale.com/blog/4via6-connectivity-to-edge-devices
80•tiernano•7h ago•21 comments

A Typical Workday at a Japanese Hardware Tool Store [video]

https://www.youtube.com/watch?v=A98jyfB5mws
121•Erikun•2d ago•52 comments

How to title your blog post or whatever

https://dynomight.net/titles/
61•cantaloupe•5h ago•23 comments