除了RATS之外,还有其他 Perl 安全扫描器吗?
可能还有任何仅STATIC的perl 代码图形引擎,它能够跟踪数据流或其他受污染的输入?
Perl::Critic主要基于Perl Best Practices一书实现了许多安全检查。鉴于 Perl::Critic 是使用 PPI 解析器编写的,它可能可以实现比 RATS 更大的内省。
也就是说,没有任何代码扫描器或实用程序会发现仅由不良编程实践导致的安全错误。一些简单的最佳实践可以大有帮助。perlsec 手册页详细介绍了许多 Perl 安全问题,并提供了一些很好的实用建议。
根据我自己审核大量不良代码的经验:
-T
标志)use strict
use warnings
eval
尽可能避免使用字符串;无论如何,它是低效的。永远不要将用户输入放入eval
字符串中。我敢肯定还有更多我现在不记得了,但已经晚了。:)