kryptologyst/Vulnerability-Assessment-Tool

GitHub: kryptologyst/Vulnerability-Assessment-Tool

一款面向安全研究与教育的漏洞评估工具,通过依赖分析、SBOM 解析与风险评分帮助发现和量化已知漏洞。

Stars: 0 | Forks: 0

# 漏洞评估工具 一个用于安全研究和教育的漏洞评估工具。该工具提供全面的漏洞扫描功能,包括依赖项分析、软件物料清单(SBOM)解析和风险评分。 ## 免责声明 **本工具仅供防御性安全研究和教育用途。不适用于生产环境安全操作或漏洞利用。工具可能包含不准确之处,不应作为专业安全工具或安全运营中心(SOC)操作的替代品。** ## 功能 - **依赖项漏洞扫描**:分析 Python 包及其依赖项是否存在已知漏洞 - **软件物料清单(SBOM)处理**:解析并分析 SBOM 文件以识别安全风险 - **CVE 数据库集成**:与通用漏洞披露(CVE)数据库进行比对 - **风险评分**:计算已识别漏洞的 CVSS 分数和风险等级 - **交互式仪表板**:基于 Web 的界面,用于漏洞评估和报告 - **综合报告**:生成详细的漏洞报告并提供修复建议 ## 快速开始 ### 安装 ``` # 克隆仓库 git clone https://github.com/kryptologyst/Vulnerability-Assessment-Tool.git cd Vulnerability-Assessment-Tool # 安装依赖 pip install -e . # 安装开发依赖(可选) pip install -e ".[dev]" ``` ### 基本用法 ``` from src.vulnerability_assessment import VulnerabilityScanner # 初始化扫描器 scanner = VulnerabilityScanner() # 扫描 Python 项目 results = scanner.scan_project("path/to/project") # 生成报告 scanner.generate_report(results, "vulnerability_report.html") ``` ### 交互式演示 ``` # 启动 Streamlit 仪表板 streamlit run demo/streamlit_app.py # 或启动 Gradio 界面 python demo/gradio_app.py ``` ## 数据集架构 ### 漏洞数据库架构 ``` { "cve_id": "CVE-2023-1234", "description": "Vulnerability description", "cvss_score": 7.5, "severity": "HIGH", "affected_packages": ["package_name>=1.0.0,<2.0.0"], "published_date": "2023-01-01", "last_modified": "2023-01-15" } ``` ### SBOM 架构 ``` { "bomFormat": "CycloneDX", "specVersion": "1.4", "components": [ { "type": "library", "name": "package_name", "version": "1.2.3", "purl": "pkg:pypi/package_name@1.2.3" } ] } ``` ## 配置 该工具使用 YAML 配置文件进行自定义: ``` # configs/default.yaml scanner: cve_database_url: "https://cve.mitre.org/data/downloads/allitems.xml" max_concurrent_scans: 10 timeout: 30 risk_scoring: cvss_thresholds: critical: 9.0 high: 7.0 medium: 4.0 low: 0.1 ``` ## 训练与评估 ### 训练命令 ``` # 训练漏洞检测模型 python scripts/train_model.py --config configs/training.yaml # 评估模型性能 python scripts/evaluate_model.py --model models/vuln_detector.pkl ``` ### 评估指标 - **检测准确率**:精确率、召回率、F1 分数 - **风险评估**:CVSS 分数相关性 - **误报率**:错误的漏洞识别 - **覆盖率**:已识别已知漏洞的百分比 ## 演示用法 ### Streamlit 仪表板 1. 启动仪表板:`streamlit run demo/streamlit_app.py` 2. 上传 requirements.txt 或 SBOM 文件 3. 配置扫描参数 4. 查看漏洞发现和风险评分 5. 导出详细报告 ### Gradio 界面 1. 运行界面:`python demo/gradio_app.py` 2. 使用网页界面: - 上传项目文件 - 配置漏洞扫描 - 查看交互式漏洞报告 - 下载评估结果 ## 性能指标与限制 ### 性能指标 - **扫描速度**:约 100 个包/分钟 - **准确率**:对已知 CVE 达到 95% 以上 - **覆盖率**:支持 Python、Node.js 和 Java 生态系统 - **误报率**:对于维护良好的包低于 5% ### 限制 - **数据库覆盖范围**:仅限于公开的 CVE 数据 - **语言支持**:主要侧重于 Python - **实时更新**:CVE 数据库更新可能存在延迟 - **私有漏洞**:无法检测未公开的漏洞 ## 隐私与安全 - **数据处理**:所有扫描数据均在本地处理 - **无数据传输**:漏洞数据库在本地缓存 - **个人身份信息(PII)保护**:项目路径和敏感数据均被匿名化 - **审计日志**:所有扫描活动均记录以符合合规要求 ## 许可证 MIT 许可证 - 详细信息请参阅 LICENSE 文件。 ## 支持 如有疑问或技术支持: - 在 GitHub 上创建问题 - 查看 `docs/` 目录中的文档 - 查看 `configs/` 中的示例配置 # 漏洞评估工具
标签:AES-256, CVE, CVSS, Gradio, Kubernetes, SBOM, Streamlit, WebSocket, Web仪表板, 依赖分析, 教育工具, 数字签名, 漏洞披露, 漏洞评估, 硬件无关, 网络安全, 访问控制, 跌倒检测, 软件物料清单, 逆向工具, 隐私保护, 风险评分