静态污点分析工具

Lanalyzer 是一个高级的 Python 静态污点分析工具,旨在检测 Python 项目中的潜在安全漏洞。它识别从未受信任的源(Sources)到敏感操作(Sinks)的数据流,并提供潜在风险的详细见解。

  • by bayuncao
  • 28 星标
  • 更新于
在 GitHub 查看 bayuncao/lanalyzer

使用说明

基本能力

产品定位

Lanalyzer 是一个专注于 Python 代码安全分析的静态污点分析工具,主要用于检测代码中的安全漏洞。

核心功能

  • 污点分析:追踪从源到汇的数据流。
  • 自定义规则:定义自己的源、汇、净化器和污点传播路径。
  • 静态分析:无需执行代码即可进行分析。
  • 可扩展性:轻松添加新规则以检测 SQL 注入、XSS 等漏洞。
  • 详细报告:生成包含漏洞详情和缓解建议的综合分析报告。
  • 命令行界面:直接从终端运行分析。

适用场景

  • 开发过程中检测代码安全漏洞。
  • 代码审查时识别潜在风险。
  • 集成到 CI/CD 流程中自动检测安全问题。

工具列表

  • lanalyzer:主命令行工具,用于运行污点分析。
  • MCP Server:支持 Model Context Protocol (MCP) 的服务器,提供标准化的分析接口。

使用教程

使用依赖

  1. 安装 Python 3.10 或更高版本。
  2. 安装 uv(推荐用于依赖管理)。

安装教程

  1. 克隆仓库:
    git clone https://github.com/bayuncao/lanalyzer.git
    cd lanalyzer
    
  2. 创建虚拟环境并安装依赖:
    uv venv
    uv pip sync pyproject.toml --all-extras
    
  3. 激活虚拟环境:
    source .venv/bin/activate
    

调试方式

  1. 运行基本分析:
    lanalyzer --target <target_file> --config <config_file> --pretty --output <output_file> --log-file <log_file> --debug
    
  2. 启动 MCP 服务器:
    python -m lanalyzer.mcp run --host 0.0.0.0 --port 8000 --debug