一、静态代码安全扫描(SAST)—— 找代码漏洞

1. Bandit(Python 官方推荐、最主流)

专门给 Python 做的静态安全扫描工具,能直接查出:

  • SQL 注入
  • 命令注入
  • 硬编码密钥
  • 不安全反序列化
  • 危险函数(eval /exec/pickle)

安装 + 使用

bash

运行

pip install bandit
bandit -r your_project/  # 递归扫描整个项目

2. Semgrep(轻量、规则强大)

跨语言安全扫描,Python 规则非常全,能查出:

  • 权限问题
  • 加密错误
  • XSS、路径遍历
  • 不安全的配置

使用

bash

运行

pip install semgrep
semgrep scan --lang=py

3. Pycharm / VSCode 安全插件

  • Safety SCA
  • Snyk Security
  • SonarLint写代码时实时提示安全问题,非常适合开发阶段。

二、依赖安全扫描(SCA)—— 查第三方库漏洞

1. Safety(Python 最常用)

检查 requirements.txt 里的库有没有 CVE 漏洞。

bash

运行

pip install safety
safety check

2. pip-audit(Python 官方推荐)

bash

运行

pip install pip-audit
pip-audit

3. Snyk(企业级、支持 CI/CD)

能查代码 + 依赖 + 容器 + IaC,非常强。


三、输入校验 & 数据安全(防注入、越权)

1. Pydantic(Python Web 必备)

自动校验:

  • 字段类型
  • 长度
  • 格式(邮箱、手机号)
  • 范围从根源防注入、XSS、越权。

python

运行

from pydantic import BaseModel, EmailStr
class User(BaseModel):
    email: EmailStr
    age: int = Field(ge=18, le=100)

2. Cerberus / Marshmallow

轻量数据校验工具。


四、密码 / 加密安全工具

1. bcrypt(安全密码哈希)

绝对不要用 MD5/SHA1,必须用 bcrypt / Argon2。

python

运行

import bcrypt
pwd = b"123456"
hashed = bcrypt.hashpw(pwd, bcrypt.gensalt())

2. cryptography

官方推荐加密库,用于:

  • AES 加密
  • RSA 非对称加密
  • JWT 签名

3. python-jose / PyJWT

安全 JWT 工具。


五、密钥 / 敏感信息检测(防止硬编码密码)

1. detect-secrets

扫描代码里的密码、密钥、Token。

bash

运行

pip install detect-secrets
detect-secrets scan > .secrets.baseline

2. gitleaks

扫描 Git 历史是否泄露密钥。

3. truffleHog

搜索 Git 中的敏感信息。


六、Web 安全专用工具

1. OWASP ZAP / Burp Suite

Web 漏洞扫描:

  • SQLi
  • XSS
  • CSRF
  • 越权
  • 文件上传漏洞

2. tldr: Safe URL / SSRF Protect

防 SSRF 内网探测工具。


七、运行时安全(RASP)

1. PyRASP

Python 运行时防护,拦截:

  • 命令注入
  • SQL 注入
  • 路径遍历
  • 反序列化攻击

2. ModSecurity + WAF

拦截攻击流量。


八、CI/CD 集成(自动化安全门禁)

你可以在 Jenkins/GitLab/GitHub Actions 里集成:

  • bandit
  • safety
  • semgrep
  • snyk
  • gitleaks

代码不合规直接不让合并


九、我给你整理一个最简必备工具包(企业标准)

如果你只想用最少工具达到最强安全效果,就用这 5 个:

  1. Bandit → 代码漏洞
  2. Safety → 依赖漏洞
  3. Pydantic → 输入校验
  4. bcrypt/cryptography → 加密安全
  5. detect-secrets → 密钥泄露检查

总结

  • 静态扫描:Bandit、Semgrep
  • 依赖安全:Safety、pip-audit
  • 输入安全:Pydantic
  • 加密安全:bcrypt、cryptography
  • 密钥泄露:detect-secrets、gitleaks
  • Web 安全:ZAP、Burp Suite
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐