安全与风控
对 Python 项目(Flask/Django/FastA…
在安全审计、代码审查或部署前,对 Python 项目做漏洞扫描、依赖 CVE 检查与密钥泄露排查。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
对 Python 项目(Flask/Dj通用
解决思路
- 项目发现:检查 requirements.txt、Pipfile、pyproject.toml、setup.py 判断项目类型;通过 `from flask import`、`django.conf`、`from fastapi import` 等特征识别框架;定位配置文件并梳理代码库结构。
- 框架检测:按模式匹配识别框架——Flask 匹配 `from flask import`、`Flask(__name__)`;Django 匹配 `django.conf.settings`、`INSTALLED_APPS`、`manage.py`;FastAPI 匹配 `from fastapi import`、`FastAPI()`。
- 依赖审计:运行 `./scripts/dependency-audit.sh /path/to/project`,或手动执行 `pip-audit` 或 `safety check` 检查已知 CVE。
- 密钥扫描:运行 `python scripts/secret-scanner.py /path/to/project`;默认跳过真实 `.env`、`.env.local`、`.env.production` 等文件,仅分析 `.env.example` 与 `.env.template` 的文档质量(敏感变量是否记录、是否有注释说明、占位值是否像真实密钥、是否缺少 SECRET_KEY/DATABASE_URL 等常见变量);仅在用户明确要求时才加 `--include-env-files`。
- 模式分析:对每个文件按 references 下的规则检查——python-vulnerabilities.md(核心 Python 问题)、injection-patterns.md(注入缺陷)、deserialization.md(不安全反序列化)、flask-security.md、django-security.md、fastapi-security.md。
- 按需选择扫描类型:Quick Scan 聚焦硬编码密钥/API key/凭据、危险函数(`eval`、`exec`、`pickle.loads`)、`subprocess`/`os.system` 命令注入、SQL 注入模式、已知漏洞依赖;Full Scan 覆盖 OWASP Top 10:2025 全部类别、Python 特有漏洞、框架安全问题、SQL/NoSQL/Command/LDAP 注入、不安全反序列化、认证授权缺陷、加密失败、安全配置错误、依赖 CVE 审计、环境变量与密钥暴露;Targeted Scan 用 `--injection`、`--deserialization`、`--auth`、`--secrets`、`--deps`、`--crypto`、`--flask`、`--django`、`--fastapi` 聚焦特定类别。
- 重点扫描文件:所有 `**/*.py`、requirements.txt/Pipfile/pyproject.toml、setup.py/setup.cfg、config.py/settings.py、`**/secrets*`、`**/credentials*`;高优先级位置包括 app.py/main.py/wsgi.py 入口、`**/views.py`、`**/routes.py`、`**/api/**/*.py`、`**/auth*`、`**/login*`、`**/models.py`、`**/serializers.py`、`**/middleware.py`;框架特定文件:Flask 的 app.py/`__init__.py`/`**/blueprints/**`/`templates/**`,Django 的 settings.py/`**/settings/*.py`/urls.py/`**/views.py`/`**/forms.py`/`templates/**`,FastAPI 的 main.py/`**/routers/**`/`**/dependencies.py`/`**/schemas.py`。
- 按严重级别分类并给出处置要求:CRITICAL(可利用且影响严重,需立即修复)、HIGH(重大风险,部署前修复)、MEDIUM(潜在问题,下个版本修复)、LOW(次要问题,考虑修复)、INFO(最佳实践建议,可选改进)。
- 按统一格式输出发现:`[SEVERITY] Category: Description`,并附 File(path/to/file.py:lineNumber)、Code(相关代码片段)、Risk(风险说明)、Fix(修复建议)。
- 生成报告:使用 `assets/report-template.md` 作为报告结构模板。
- CI/CD 集成:输出兼容 GitHub Security Advisories、GitHub Code Scanning 的 SARIF 格式、自定义集成的 JSON、CI 流水线的 JUnit XML。
- 按需加载参考文档:owasp-top-10.md、python-vulnerabilities.md、injection-patterns.md、deserialization.md、flask-security.md、django-security.md、fastapi-security.md。
适用边界 · 注意事项
- 项目不是 Python 技术栈,或目标框架不在 Flask/Django/FastAPI 范围内。
- 用户未授权扫描真实 `.env` 等含真实密钥的文件时,不应加 `--include-env-files`。
- 仅需快速定位关键问题时不必跑 Full Scan,用 Quick Scan 或 Targeted Scan 即可。