npm 12版本已发布:由于注册表机制发生了变化,现在默认情况下会自动安装这些脚本。
npm 12带来了许多与安全性相关的变更,使得某些安装行为需要用户明确选择才会被执行。值得注意的是,默认情况下,脚本的执行是被禁用的,因此运行任何脚本——包括那些在构建过程中自动执行的脚本——都需要获得用户的明确许可。此次更新还限制了来自非官方注册源的代码的下载,从而解决了社区对于自动执行脚本可能带来的安全风险的担忧。 作者:丹尼尔·柯蒂斯

npm 12带来了许多与安全性相关的变更,使得某些安装行为需要用户明确选择才会被执行。值得注意的是,默认情况下,脚本的执行是被禁用的,因此运行任何脚本——包括那些在构建过程中自动执行的脚本——都需要获得用户的明确许可。此次更新还限制了来自非官方注册源的代码的下载,从而解决了社区对于自动执行脚本可能带来的安全风险的担忧。
作者:丹尼尔·柯蒂斯相关文章
AWS推出了用于AI智能体开发的Strands Decider 2B及Strands Box工具。
AWS推出了两个用于开发人工智能代理的开源项目:Strands Decider 2B,这是一个专为在代理工作流程中协助做出决策而设计的小型模型;另一个项目是Strands Box,它是一个用于控制代理执行过程的沙盒环境。这两个项目分别从不同角度帮助人们构建那些能够使用工具、执行代码并与外部系统进行交互的智能代理。 作者:丹尼尔·多明格斯
阅读全文
为什么软件自动化需要在“意图”与“执行”之间添加一层中间环节
软件自动化擅长将指令转化为具体的行动。 一个部署流程可以完成发布操作,Terraform可以配置基础设施,运行手册可以重启服务,而代理程序则可以分析遥测数据并选择相应的补救措施。 但这些系统都有一个共同的弱点:它们通常更擅长执行指令,而非理解这些指令背后的真正意图。 当自动化过程较为简单时,这种差距很容易被忽视。如果一个脚本只执行一条命令,那么这个脚本本身或许就足以说明应该发生什么。 然而,随着系统变得越来越分布式、越来越受策略驱动,也越来越自主,执行逻辑开始承担一些原本并不属于它的职责。 如今,一个部署工作流程可能会包含以下内容: 需要部署什么 它可以在哪里运行 必须遵守哪些约束条件 需要检
阅读全文
如何将应用程序从AWS迁移到GKE [完整指南]
这个指导性实验将带你了解如何迁移一个小型支付应用。该应用包含使用React开发的用户界面以及运行在AWS EC2实例上的Express API,而数据库则仍保存在AWS上。 你需要将用户界面和API迁移到Google Kubernetes Engine上,但无需更改客户目前使用的公共URL地址,而是逐步将流量从AWS转移至GKE,每次转移的比例为几百分比。 完成整个迁移过程后,你将能够在本地运行该应用,在AWS上搭建基础设施,通过八个Terraform步骤在GKE上构建环境,测试新环境是否正常工作,然后将生产环境的流量全部转移到GKE上,完成切换流程,并拆除不再需要的资源。 下图展示了迁移过程
阅读全文
如何使用 GitHub Actions、Ingress 以及自动 TLS 功能,在 GKE 上搭建临时性的 PR 预览环境
每一个发布软件的团队最终都会搭建一个测试环境。而每一个搭建了测试环境的团队,最终都会遇到同样的问题。 测试环境是共享的。一个环境,却有大量的拉取请求。有人会部署一个尚未完成的功能来进行测试,其他人会在其基础上继续进行开发,还有第三个人会执行数据库迁移操作。到了周四下午,就没人能弄清楚到底哪个分支的哪个版本正在运行中,“在测试环境中可以正常使用”这句话已经完全失去了任何参考意义。 常见的解决办法包括:创建一个Slack频道,让大家把测试环境当作会议室来使用;制定轮换部署计划;或者再搭建第二个、甚至第三个测试环境,但每个测试环境的配置都会与生产环境越来越偏离。 其实有更好的解决方案。像Vercel
阅读全文