Every dependency you add is a supply chain attack waiting to happen

98 points by benhoyt


rsc

Correction: Every dependency you add is many supply chain attacks waiting to happen.

blainsmith

No matter who I talk to this approach is always an unpopular stance. It's rather unfortunate that it is too.

alandekok

The problem is made worse by the practice of "don't cache, but instead download all dependencies on every build".

This means that any dependency attack is immediately spread to tens, if not hundreds of thousands of machines.

parisosuch

Software engineering, like life, is a balance of risk. You can minimize risk as much as possible at the expense of comfort and other things. What is the arbitrary line between too many dependencies and "let's build our X from scratch when Y exists"?

MatheusRich

When you evaluated the dependency initially (and added its hash to your lockfile), you probably did your due diligence.

I think this is a long stretch in this day and age...

sunshowers

I personally have come to like the idea of cooldown periods — gives automated scanners a few days to find attacks. But in general, I think standing on the shoulders of giants lets smaller teams ship more ambitious projects.

zod000

While I know it wasn't the goal of the article, I'm going to use it to continue to justify my chronic case of NIH (Not Invented Here) syndrome.