本文由 JetBrains 的代码质量平台 Qodana 提供。 该平台旨在将服务器端静态分析引入您的首选 CI 工具。 Qodana 使用与 PhpStorm 和其他 JetBrains IDE 相同的代码检查和配置文件,有助于确保在 IDE 和 CI 环境中实现一致的代码质量检查。
只要一个用户就可以利用项目中的漏洞破坏系统。 为了保护程序免受来自外部用户的恶意输入(即“污点”),开发团队可以将污点检查添加到静态分析例程中。
在今年的第一个版本中,Qodana 团队在 EAP 中为 PHP 提供了污点分析。 该功能仅在 Qodana for PHP 2023.1 (jetbrains/qodana-php:2023.1-eap) 中可用。 Qodana for PHP 是我们发布的第一个 linter,因此我们决定让 PHP 开发者也率先测试我们的新安全功能。 未来,我们计划在收集到足够的反馈后添加更多语言。
下文将详细介绍污点分析及其在 Qodana 中的运作方式。
开始使用 QODANA
什么是污点分析?
污点是由外部用户修改后可能造成安全风险的值。 如果代码中存在污点,并且未经验证的外部数据可以分布在程序中,黑客可以执行这些代码段,导致 SQL 注入、算术溢出、跨站脚本攻击、路径遍历等。 他们通常利用这些漏洞破坏系统、劫持凭据和