| ▲ | cxr 9 hours ago | |||||||||||||
What everyone should all be doing is practicing the decades-old discipline of source control. Attacks of the form described in the post, where a known-good, uncompromised dependency is compromised at the "supply chain" level, can be 100% mitigated—not fractionally or probabilistically—by cutting out the vulnerable supply chain. The fact that people are still dragging their feet on this and resist basic source control is the only reason why this class of attack is even possible. That vendoring has so many other benefits and solves other problems is even more reason to do so. Stacking up more sub-par tooling is not going to solve anything. Fortunately this is a problem that doesn't even have to exist, and isn't one that anyone falls into naturally. It's a problem that you have to actively opt into by taking steps like adding things to .gitignore to exclude them from source control, downloading and using third-party tools in a way that introduces this and other problems, et cetera—which means you can avoid all of it by simply not taking those extra steps. (Fun fact: on a touch-based QWERTY keyboard, the gesture to input "vendoring" by swiping overlaps with the gesture for "benefitting".) | ||||||||||||||
| ▲ | dbdr 7 hours ago | parent | next [-] | |||||||||||||
Doesn't vendoring solve the supply chain issue in the same way as picking a dependency version and never upgrading would? (especially if your package manager includes a hash of the dependency in a lock file) | ||||||||||||||
| ||||||||||||||
| ▲ | lijok 3 hours ago | parent | prev [-] | |||||||||||||
Vendoring hasn’t been feasible since CI became free for OSS. You cannot vendor yourself out of a nuclear waste pile that is the modern OSS ecosystem. | ||||||||||||||