金字塔/Python安全扫描器?

3

是否有任何自动化安全扫描器可以用于Pyramid

我已经看到其他框架的这些扫描器,比如Brakeman适用于Rails。如果有一个适用于Pyramid(甚至是Python)的扫描器,那将非常好。

然而,如果没有这样的扫描器,我也不会感到惊讶,因为它并不像Rails那样受欢迎。

1个回答

2

我不确定Pyramid或任何Python应用程序是否是安全扫描器的很好目标。我正在阅读这个列表,但我不确定其中的任何问题是否非常适用于Python Web应用程序。虽然这是一个有趣的想法。

像Pyramid这样的框架应该具有安全默认值,以便OWASP前10个最常见的漏洞在第一次发生时就不会发生。

  • 使用SQLALchemy或Django ORM可以防止SQL注入

  • 模板引擎默认进行安全的HTML转义

  • 大多数代码使用JSON,不存在不安全的序列化(Python pickling)

  • 我没有看到任何人在Python中使用eval(),虽然这并不意味着某些可怜的人不会这样做

  • 等等。

然而,新手程序员肯定会遇到这些问题,因此使用自动扫描程序来捕获手写的SQL字符串或eval()使用是有意义的。但是,作为一个从事各种Python Web项目和安全工作超过十年的人,我的直觉是,在Python世界中,情况更加稳健,使用安全扫描器的收益非常小或不存在。


1
你也可以用同样的话来谈论Rails :) 人们仍然会关闭默认设置,绕过保护措施并编写不安全的代码。 - Justin
ORM(对象关系映射)很棒,但我还没有看到过一个非常规的程序从未需要绕过它并至少使用一次原始SQL查询。模板引擎需要一种传递受信任的HTML的方法,这可能不是最好的选择。等等。 - user5670247
此外,安全扫描器并不是为了在你完美地遵循最佳实践时对你大喊大叫。它们的作用是在你没有遵循最佳实践时进行捕捉。 - user5670247

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接