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安全, 依赖项扫描, 安全扫描器, 安全评分, 恶意软件分析, 本地扫描, 桌面应用, 盲注攻击, 离线安全工具, 网络安全, 网络安全, 自动安全审计, 蓝队分析, 逆向工具, 配置安全, 错误基检测, 隐私保护, 隐私保护, 零遥测, 静态代码分析