如何查找Python应用程序中的安全漏洞?

深入审视当前形势,世界发展和前进的速度是难以想象的,科技的作用从来都不是排他性的。

只要科技不断发展,我们就永远不会缺少像人工智能这样的新发明和发现。 但这种变化给我们作为开发人员需要破解的工具和媒介带来了很多不确定性。 在这样的情况下,Python这门编程语言依然屹立不倒。

根据 第五次 Python 开发者调查 结果,84% 的开发人员将 Python 视为他们的主要语言,16% 的开发人员认为这是他们的次要语言! 这一数字反映了 Python 在开发人员、组织、初创公司和年轻专业人士中的受欢迎程度。

但! 这并不能让我放松,因为流行也带来了很多风险和威胁。 我希望开发人员知道 python 核心是安全的,但第三方模块可能不安全。 因此,要解决这个问题,您需要一个安全扫描器来查找漏洞。

有许多全面的在线安全扫描仪可以测试在线威胁,但它们可能无法检测特定于平台的弱点,例如 Python 和 Node.js。 ETC。

让我们深入研究可发现 Python 应用程序中的安全风险和漏洞的最佳扫描工具列表。

PYT(Python 污点)

一个开源静态分析工具,用于检测Python Web应用程序中的命令注入、跨站脚本、SQL注入、目录横向攻击。

皮亚特 是基于理论基础的,如果你愿意贡献,那么你可以加入他们 松弛组

土匪

土匪 是 Open Stack 的一项倡议,旨在发现 Python 代码中的常见安全风险。 它处理每个文件以构建 AST 并生成报告。

您可以使用 pip 安装它。

Bandit 的使用可以定制。 对于前任,默认情况下会针对所有配置文件进行测试,但是,如果您只想检查 ShellInjection,那么您可以在下面尝试。

bandit samples/*.py -p ShellInjection

您还可以指示根据严重性(低、中或高)级别进行报告。

安全

安全 是一个 Python 依赖项检查器,可以扫描本地虚拟环境、需求文件和标准输入以查找安全问题。

从构建管道到生产系统,安全 CLI 可用于各种情况。 相信我! 如果您的 Python 应用程序存在任何漏洞或安全威胁,安全 CLI 将轻松检测到它们。 它还将确保您了解有关扫描的完整详细信息; 因此,它会生成有关现有威胁和漏洞的报告,以使您的工作更轻松。

  11 种最适合孩子练习和学习的绘图板

pyup

让您的 Python 应用程序保持最新、合规且安全 pyup的 Python 依赖安全性。 它可以帮助您保护您的代码免受 Python 依赖项中数千个可能破坏您的 Python 代码的安全漏洞的影响。

您可以使用 PyUp 来自动执行任务,而不是花费时间手动更新和跟踪每个依赖项。 它会自动修复新漏洞,并让您远离已知漏洞,以增强您对代码的信心。

此外,PyUp 维护着一个漏洞数据库,迄今为止,它已记录了 472,750 个 Python 依赖项。 其扫描仪专为解决复杂环境并扫描文件以查找过时和不安全的要求而构建。

这些扫描器还可以根据您的需求进行高度配置,并且它们的安全 CI 在代码投入生产之前捕获漏洞。 将命令行工具集成到 CI 工作流程中。

以每月 249 美元的价格获取无限的公共和私人存储库,并利用依赖许可证、CVSS、API 密钥和安全 CI。

斯尼克

在这场激动人心的争吵中,我想介绍一下 斯尼克。 Snyk Open Source 提供软件配置分析 (SCA)。 Snyk 让您可以自由地查找易受攻击的依赖项,在合并之前扫描拉取请求,防止新漏洞发挥作用,并且您可以测试生产环境中现有的漏洞和问题。

仅这些功能就使 Snyk 成为开发人员的绝佳选择。 您有机会扫描、监控、修复和自动化。 您可以使用广泛的应用程序上下文来优先考虑可访问、部署或公开暴露的开源问题。 我列出了一些功能,可以让您清楚地了解 Snyk,

  • Snyk 可以自动修复漏洞。
  • Snyk 通过自动监控部署的 Python 代码是否存在漏洞,让您安心无忧。
  • 持续评估监管和内部安全政策的合规性。
  • Snyk 专为安全工程师和 GRC 团队打造。

总体而言,我认为 Snyk 是我们列表中的正确位置,开发人员应该使用 Snyk 一次来查找其应用程序中的安全漏洞。

搜斯io

苏斯SCA 声称是一种低成本、一体化的解决方案,可满足您在 SCA 中所需的一切。 相信我; 这个说法并非空洞! 下面列出了帮助 Soos SCA 进入此列表的一些重要功能,

  • 最快的实施。
  • 使用方便! 实用的用户体验。
  • 易于设置并继续扫描漏洞。
  • 一个伟大的表演者。

所有这些经济实惠的选项表明,该工具将满足任何开发人员在 Python 应用程序中查找安全漏洞时的期望。 只要您需要,它就可以提供无限制的扫描。 这个功能可以让开发者进行到底。

引起我注意的另一个功能是它的排名算法; 我发现漏洞按严重性、影响和可利用性进行排名。

  修复 PS4 中的 Black Ops 3 ABC 错误

这个工具最吸引人、让我着迷的功能是它丰富的仪表板。 当涉及到获取信息时,它是令人印象深刻的,并且对您来说也变得太方便了。 它是一个包罗万象的漂亮软件包,可以消除围绕 Python 应用程序的威胁。

柴堆

柴堆 是查找或检测安全漏洞的优秀工具。 我之所以称其为完美工具,是因为它能够分析包含数百万行代码的代码库。

它对您的效率有一定的作用,因为它在开发人员编写代码时并行地向他们提供即时反馈和报告。 Pyre 包括 Pysa,这是一个构建在 Pyre 之上的专注于安全的静态分析工具。 Pysa 分析 Python 应用程序中的数据流。

初始配置包括一些简单的步骤。 首先需要搭建虚拟环境,在虚拟环境中安装Pyre和SAPP,最后初始化Pysa和SAPP。

别忘了! SAPP 对于执行分析至关重要。 您可以使用以下命令快速设置合适的环境来运行 Pysa 和 SAPP:

(pysa) $ 火堆 init-pysa

此命令将配置您的存储库以运行 Pysa。 然后使用以下命令继续运行 Pysa 和 SAPP,

(pysa) $pyre 分析 –无验证 –将结果保存到 ./pysa-runs

(pysa) $ sapp 分析 ./pysa-runs/taint-output.json

总的来说,这个工具会对你有很大帮助; 它凭借对 Python 的积极倾斜赢得了一席之地。 因此,不要犹豫,毫不犹豫地前往Pyre吧!

特里维

我向您介绍“特里维”,一款卓越、多功能、全面的安全扫描仪。 更令人惊讶的是,它对 Python 的特别喜爱使得 Trivy 能够进入该榜单。

Trivy可以扫描容器镜像、文件系统、Git Repository、AWS等。Trivy支持除Python之外的其他流行语言,如Ruby、Node.js、Java等。它还可以支持操作系统。

关于安装有多种选择; 下面提到了一些受欢迎的,

  • 酿造安装琐事
  • docker 运行 aquasec/trivy
  • 从以下位置下载二进制文件的选项 水产安全 主页也可用。

最后,我想强调 Trivy 的一个重要方面: 它可以与许多流行的平台和应用程序集成,例如 Kubernetes Operator 和 VS Code Plugin。

最后的话

得出结论,你一定很好奇我的个人喜好。 我相信有几种实用的工具可以用来查找 Python 应用程序中的漏洞。 列表中上面提到的所有工具都有其产品。 准确地说,都是不错的选择。

每个工具都具有独特的优势来增强 Python 代码的安全性。 我建议您在选择时考虑您的具体要求和偏好。

  移动应用程序开发的 7 个最佳 IDE

接下来,查看用于构建小型到企业应用程序的最佳 Python 框架。