Agent Skills
返回列表
💻

Bandit 高风险安全模式扫描

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/scan-python-code-for-risky-security-patterns-with-bandit-before-review-or-release。

技能介绍

要解决的具体问题

在 Python 项目迭代中,开发者常不经意间引入高风险安全模式。例如使用 hashlib.md5() 进行弱加密、通过 subprocess 开启 shell=True 拼接外部输入导致命令注入,或使用 pickle.loads() 处理不可信数据。这类漏洞在常规 code review 中极易被忽略,却可能在上线后被利用,成为系统的安全短板。

核心能力与关键步骤

该技能将 Bandit 静态分析工具集成到审查或发布流程中,核心工作流分为三步:

  • 扫描源码树:针对本地 Python 源码目录执行深度扫描,提取代码的 AST 语法树。
  • 规则匹配:利用 Bandit 内置的黑盒测试规则集,比对常见的反模式。
  • 风险报告:输出结构化的告警列表,精确定位引发风险的 文件路径 和 代码行号,并附带修复建议。

适用边界与注意点

本技能侧重于静态规则匹配,主要针对已知的高风险 API 调用模式。它不能替代动态应用安全测试(DAST)或人工渗透测试。此外,扫描结果包含大量提示信息,开发者需结合业务上下文进行甄别,避免产生告警疲劳。对于高度定制化的加密算法或复杂的反序列化逻辑,仍需安全专家进行深度审计。

使用场景

  • 准备合并 Pull Request 前,对改动的 Python 文件运行 Bandit,确认未引入弱加密或 shell 注入风险。
  • 后端工程师在 CI 流水线加入安全扫描环节,确保待发布的 Python 服务不含已知高风险安全模式。
  • 引入第三方 Python 库或内部 SDK 后,扫描全量源码,排查不安全的 subprocess 调用或反序列化写法。
  • Tech Lead 审查新成员提交的 Python 模块时,借助 Bandit 输出的行号与建议快速定位风险点。

适合人员

  • Python 后端开发工程师:希望在 merge 或 release 前用自动化工具发现弱加密、shell 注入等常见漏洞。
  • 初创团队技术负责人:需要在无专职安全团队的情况下,给 Python 项目建立基础安全扫描门槛。
  • 开源项目维护者:需要在 review 外部贡献者的 Python 代码时,快速识别不安全的 API 调用。