我是开源 JavaScript 库的主要开发人员。该库在我工作的公司中用于几个客户。时不时地有一个客户对实现一个他从未听说过的库感到偏执,并问我为什么他应该信任这个代码。
我理解这种担忧,通常我会将它们指向托管该库的 github 存储库,并显示使用同一库的其他项目和客户端。有时他们会在 github 上查看代码,之后一切运行顺利。
但这一次,客户有点偏执。他问我图书馆已经通过了什么样的安全检查,并告诉我他们的系统“通过了 OWASP 前 10 项检查/扫描验证”。
经过一番研究,我发现最接近的是这份列出2010 年 Web 应用程序中的前 10 个漏洞的文档,作者是 OWASP。
我认为并非所有这些都适用,因为我没有提供 Web 应用程序,而只是提供了一个 javascript 库。而我的理解是,这些漏洞大部分时间都需要由安全专家手动检查,而不是自动扫描。
现在我的问题:
- 有什么方法可以在 JavaScript 库中声明安全标准?
- 是否有任何工具可以扫描 JavaScript 以查找安全威胁?
更新 1
尽管我不是安全专家,但我是一名 Web 开发人员,并且我了解可能导致 Web 应用程序漏洞的常见缺陷。我需要的是某种方法来专门为非技术人员证明这个库至少已经检查过最小的威胁和漏洞,并且实际上可以安全地在他们的网站上使用。
我想到的可能是一家中立的公司或专门从事网络安全的顾问,可以审查代码并证明其质量。这是一种常见的做法吗?
更新 2
想象一下,有人递给您一个大型 javascript 文件,作为集成的一部分包含在您的网站中。该脚本将在您的站点内运行,并且。您可能想确定该文件的来源以及创建它的开发者是谁。想象一下,facebook 的某个流氓开发人员决定在点赞按钮脚本中注入一些恶意代码,以从运行它的站点窃取数据或 cookie。
当您包含来自知名公司的库或由多人审查的开源项目(如 jQuery)时,这种情况不太可能发生。但是,当您包含来自小公司或独立开发人员的脚本时,我会认为这是一个问题。
我不想在我的库中寻找漏洞,因为我知道我没有包含任何漏洞。我只是想以某种方式证明代码是安全的,因此用户在使用时不会有这种顾虑。