tworjaga/SecureMySite

GitHub: tworjaga/SecureMySite

一款完全离线的本地桌面安全分析工具,专为AI生成的Web项目提供SAST/DAST扫描、依赖审查和AI修复提示生成。

Stars: 0 | Forks: 0

# 保护我的站点
一款完全离线的本地桌面安全分析工具,专为 AI 生成的 Web 项目设计。通过静态分析 (SAST)、动态分析 (仅限 localhost 的 DAST) 和依赖项审查,在部署前检测漏洞。 ## 功能特性 - **100% 离线运行** - 数据绝不离开您的设备 - **静态分析 (SAST)** - Python, JavaScript/TypeScript 代码扫描 - **依赖项扫描** - requirements.txt, package.json 漏洞检测 - **配置分析** - .env, settings.py 安全检查 - **本地 Web 扫描** - 安全标头和端点分析 (仅限 localhost) - **AI 修复提示** - 为 ChatGPT/Claude 生成结构化提示词 - **专业 GUI** - 暗色主题 PyQt6 界面 - **CLI 模式** - 支持 CI/CD 集成的命令行操作 ## 安装说明 ### 系统要求 - Python 3.11 或更高版本 - Windows, macOS, 或 Linux ### 从源码安装 ``` # Clone repository git clone https://github.com/tworjaga/SecureMySite.git cd SecureMySite # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` ## 使用指南 ### GUI 模式 直接运行应用程序(无需参数): ``` python main.py ``` ### CLI 模式 扫描项目目录: ``` python main.py /path/to/project ``` 启用 Web 扫描: ``` python main.py /path/to/project --url http://localhost:8000 ``` 导出结果: ``` python main.py /path/to/project --export json --output report.json ``` 生成 AI 修复提示: ``` python main.py /path/to/project --prompt ``` ## 安全评分 应用程序计算一个 0-100 的安全评分: | 评分 | 等级 | 风险级别 | |-------|-------|------------| | 80-100 | A+ 到 A | 安全 | | 60-79 | B+ 到 B | 中等风险 | | 40-59 | C+ 到 C | 高风险 | | 0-39 | D+ 到 F | 极高风险 | ## 漏洞严重程度级别 - **CRITICAL** (-15 分): RCE, 凭据泄露, SQL 注入 - **HIGH** (-10 分): XSS, CORS 开放, 缺少 CSP - **MEDIUM** (-5 分): 缺少标头, 调试配置 - **LOW** (-2 分): 违反最佳实践 ## 扫描器 ### Python SAST - 检测 eval/exec 使用 - SQL 注入模式 - 硬编码凭据 - 启用了调试模式 - 不安全的反序列化 - 路径遍历风险 ### JavaScript 扫描器 - DOM XSS (innerHTML) - eval() 使用 - localStorage token 存储 - API 密钥泄露 - CORS 配置错误 ### 配置扫描器 - .env 文件泄露 - 调试设置 - 硬编码密钥 - 不安全的 Cookie 标志 ### 依赖项扫描器 - requirements.txt 分析 - package.json 分析 - 本地漏洞数据库 (100+ CVEs) ### Web 扫描器 (仅限 Localhost) - 安全标头检查 - Cookie 标志分析 - 危险端点检测 - CORS 策略验证 ## 项目结构 ``` secure_my_site/ ├── main.py # Entry point ├── app.py # Application controller ├── core/ │ ├── engine.py # Analysis orchestrator │ ├── file_loader.py # Safe file discovery │ └── config.py # Configuration ├── scanners/ │ ├── base_scanner.py # Abstract base class │ ├── python_sast.py # Python analysis │ ├── js_scanner.py # JavaScript analysis │ ├── config_scanner.py # Config file analysis │ ├── dependency_scanner.py # Dependency audit │ └── web_scanner.py # Localhost web scan ├── models/ │ ├── vulnerability.py # Data model │ └── scan_result.py # Results container ├── scoring/ │ ├── severity.py # Classification rules │ └── score_engine.py # Score calculation ├── prompt_engine/ │ └── prompt_builder.py # AI prompt generation ├── gui/ │ ├── main_window.py # Primary window │ ├── components.py # UI widgets │ └── theme.py # Dark theme └── utils/ ├── helpers.py # Utilities └── validators.py # Input validation ``` ## 构建可执行文件 ### Windows ``` pip install pyinstaller pyinstaller build.spec ``` 可执行文件将位于 `dist/SecureMySite.exe`。 ## 开发指南 ### 运行测试 ``` pip install -r requirements-dev.txt pytest ``` ### 代码格式化 ``` black . ``` ### 类型检查 ``` mypy . ``` ## 安全约束 1. **路径遍历防护** - 所有文件操作仅在目标目录内解析路径 2. **无代码执行** - 绝不执行被扫描项目中的代码 3. **内存限制** - 单文件 10MB,项目总大小 500MB 4. **URL 验证** - Web 扫描器拒绝非 localhost URL ## 许可证 MIT License - 详情请参阅 LICENSE 文件。 ## 参与贡献 欢迎贡献。请遵循常规提交格式: - `feat:` 新功能 - `fix:` 错误修复 - `refactor:` 代码重构 - `docs:` 文档 - `style:` 格式调整 ## 支持 - GitHub Issues: https://github.com/tworjaga/SecureMySite/issues - Telegram: @al7exy
标签:AI代码安全, AI修复提示, DAST, GraphQL安全矩阵, JavaScript安全, PyQt6, SAST, Web安全, 依赖项扫描, 安全扫描器, 安全评分, 恶意软件分析, 本地扫描, 桌面应用, 盲注攻击, 离线安全工具, 网络安全, 网络安全, 自动安全审计, 蓝队分析, 逆向工具, 配置安全, 错误基检测, 隐私保护, 隐私保护, 零遥测, 静态代码分析