【问题标题】:Angular block unauthorized HTTP callsAngular 阻止未经授权的 HTTP 调用
【发布时间】:2021-11-10 10:06:46
【问题描述】:

我不知道这个安全漏洞是否可能存在,或者我只是在吃了一顿辛辣的晚餐后变得偏执。

在一个典型的 Angular 应用程序中,有任意数量的未知 npm 包以传递方式被拉入。我想知道是否有一些狡猾的 npm 包可以在我不知情的情况下将我的应用程序数据传送到某个服务器。

绕过 HTTP_INTERCEPTORS 是微不足道的,因此它们作为安全卫士没有多大帮助。

是在运行浏览器/应用程序的 PC 上使用 Windows 防火墙规则的唯一硬性解决方案吗?

【问题讨论】:

  • 是的,作为开发人员,您相信第三方软件包不会是恶意的。您可以简单地信任该工具背后的开发人员(例如 Angular 背后的 Google 团队),或者您必须自己验证源代码以及他们拥有的所有依赖项。当社区发现一个 npm 包是恶意的,它会被报告,并且作为开发者的你在运行 npm 命令时会注意到它(即使依赖关系在层次结构中很深)。
  • 对于网站用户来说,只要他们提供敏感数据,他们就会信任网站开发者。他们可以使用防火墙,但这并不能帮助他们保护自己的数据。
  • @ShamPooSham 我的问题是关于传递加载包的方式。当然我们可以信任 Angular、bootstrap 等。

标签: angular web-applications


【解决方案1】:

是的,你担心这件事是对的。确实有许多npm 软件包可能包含危险代码。一般来说,我建议您只使用“非常知名的软件包”。有一些软件可以帮助你,比如“bytesafe”。这是一篇关于它如何工作的更详细的文章https://bytesafe.dev/posts/npm-security-issues-2021/(没有营销意图)。如果您不打算使用此类软件,则应始终使用以下方式检查您的软件包:npm audit(例如:npm audit –audit-level=critical)并相应地更新软件包或使用npm audit fix

我看到您在谈论“Windows 防火墙规则”。您的站点所在的服务器可能是 Linux 或任何其他类型的操作系统。关于服务器安全和安全架构,有一个完整的宇宙。例如,如果您是在云中还是在本地,这在很大程度上取决于。因此,每种方法都有安全最佳实践,您应该根据自己的具体情况遵循这些最佳实践。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-18
    • 2015-07-14
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多