npm 又公布了一系列安全改进措施。再结合 npm 最近的一系列安全改进:

能看到他们确实很努力在解决 npm 体系下的投毒问题,只是似乎还有很长的路要走。

而我也发现了一个现象,由于我现在已经完全使用 AI 来编程,又因为 AI 倾向于直接编写代码而非像传统开发那样引入第三方依赖,不经意间避开了很多 npm 投毒事件。

最初我其实不太满意 AI 坚持直接编写代码而不使用现成依赖,曾经一度通过约束来让它更多地使用现成依赖。后来我逐渐去衡量两者的成本,某种程度上,AI 改变了依赖的经济性。过去自己写需要半小时,安装一个包只需要半分钟。现在同样的工作 AI 直接编写代码并进行审查也许只要几分钟,这种情况下,直接编写代码似乎就有很可观的经济性了:这种模式大幅度缩减了软件的外部依赖,让依赖更可控。

当然,AI 直接编写的代码并不等于安全可靠,它生成的很多代码并没有经过可靠的安全审查,我觉得这是一种很微妙的处境:它避开了供应链投毒,但是又引入了大量未经审查的代码。

无论如何,这是一个有趣但不好笑的现象,我们应该试着适应这些 AI 编程的新法则了。