netcuter/bastion
GitHub: netcuter/bastion
一款面向Web应用的安全审计框架,利用AI与SAST技术实现自动漏洞检测与合规报告。
Stars: 0 | Forks: 0
# Web应用程序代码安全审计系统
**[English](README.md) | [Polski](README_PL.md)**
用于自动审计Web应用程序源代码的综合性安全系统。检测OWASP Top 10漏洞、硬编码密钥和依赖项问题。**支持OWASP ASVS 4.0和多种编程语言。**










## 🚀 功能
### Web漏洞检测
**经典OWASP Top 10:**
- **SQL注入**(CWE-89)- 检测危险的SQL拼接
- **XSS**(CWE-79)- 识别不安全的数据渲染
- **命令注入**(CWE-78)- 检测来自用户输入的命令执行
- **路径遍历**(CWE-22)- 识别路径遍历威胁
- **SSRF**(CWE-918)- 检测服务器端请求伪造漏洞
- **XXE**(CWE-611)- 识别XML解析器问题
- **CSRF**(CWE-352)- 检查CSRF攻击防护
- **不安全反序列化**(CWE-502)- 检测不安全的反序列化
- **弱加密算法**(CWE-327)- 识别弱加密算法
- **硬编码凭证**(CWE-798)- 检测硬编码的密码和密钥
**🆕 CWE Top 25 2025 - 新模式:**
- **代码注入**(CWE-94)- 检测eval()、exec()与用户输入
- **点击劫持**(CWE-1021)- 缺少X-Frame-Options头
- **不当授权/IDOR**(CWE-863)- 访问控制破坏
- **信息泄露**(CWE-200)- 敏感信息泄露
- **资源耗尽/DoS**(CWE-400)- 资源耗尽攻击
- **Mass Assignment**(CWE-915)- 未过滤字段的批量赋值
- **JWT安全问题**(CWE-347)- 弱密钥、缺少验证
- **不当权限管理**(CWE-269)- 权限管理缺陷
- **开放重定向**(CWE-601)- 重定向到外部URL
- **服务端模板注入**(CWE-94)- 模板引擎中的SSTI
**🔬 专业SAST工具模式(2025):**
- **HTTP请求超时**(Bandit B113)- 检测无超时的请求
- **归档解压**(Bandit B202)- 不安全的extractall()
- **Jinja2安全性**(Bandit B701)- 模板中autoescape=False
- **TOCTOU竞争条件**(CVE-2025)- 检查后使用模式
- **ReDoS**(CWE-1333)- 正则表达式中的灾难性回溯
- **整数溢出**(CWE-190)- 未检查的int()转换
- **文件上传**(CWE-434)- 缺少文件验证
- **高级加密**(Bandit)- DES、RC4、ECB模式、弱随机
- **高级SQL/NoSQL**(Semgrep)- 高级注入模式
- **LDAP注入**(CWE-90)- LDAP搜索漏洞
- **原型污染**(CWE-1321)- JavaScript Object.assign
### 密钥检测
- AWS访问密钥与密钥
- GitHub令牌(PAT、OAuth)
- Google API密钥
- Slack令牌与Webhook
- Stripe API密钥
- 数据库连接字符串(PostgreSQL、MySQL、MongoDB)
- 私钥(RSA、SSH、PGP)
- JWT令牌
- SendGrid、Twilio、MailChimp API密钥
- 通用API密钥、密码、令牌
### 依赖项分析
- 检测NPM、Python、PHP包中的已知漏洞
- 识别未固定版本(通配符)
- 提醒过时库
### 报告
- **JSON** - 结构化格式,便于自动化
- **HTML** - 带代码高亮的视觉报告
- **SARIF** - 集成GitHub、GitLab、Azure DevOps的标准
- **ASVS JSON/HTML** - OWASP ASVS 4.0合规报告
### 🌍 多语言与框架支持
- **Python**(Django、Flask)
- **JavaScript/TypeScript**(Node.js、Express、React、Vue、Angular)
- **PHP**(Laravel、Symfony)
- **Java**(Spring、Jakarta EE)
- **Ruby**(Ruby on Rails)
- **Go**(Gin、Echo)
- **C#**(ASP.NET、.NET Core)
- **Rust**(Actix、Rocket)
- **Kotlin**(Spring Boot)
- **Scala**(Play Framework、Akka)
- **Elixir**(Phoenix)
- **HTML/XML**(.html、.htm、.xml)
- **配置文件**(.yml、.yaml、.json、.env)
### 📋 OWASP ASVS 4.0合规性
该系统实现了**应用程序安全验证标准(ASVS)4.0**合规性验证:
- **Level 1** - 机会性(基本验证)
- **Level 2** - 标准(大多数应用程序的标准验证)
- **Level 3** - 高级(关键应用程序的高级验证)
涵盖所有ASVS类别:
- V2:身份验证
- V3:会话管理
- V4:访问控制
- V5:验证、清理和编码
- V6:存储加密
- V7:错误处理和日志记录
- V8:数据保护
- V9:通信
- V10-V14:等等...
## 📦 安装
```
# 克隆仓库
git clone https://github.com/yourusername/security-audit-system.git
cd security-audit-system
# 可选依赖安装(系统纯 Python 3.8+ 兼容)
pip install -r requirements.txt
```
## 🎯 快速开始
```
# 扫描当前目录(所有扫描器)
python3 security_audit_cli.py --path .
# 扫描并生成 HTML 报告
python3 security_audit_cli.py --path . --output html --report report.html
# ASVS Level 2 合规报告
python3 security_audit_cli.py --path . --output asvs-html --asvs-level 2
# 仅扫描特定类型
python3 security_audit_cli.py --path . --scanners web,secrets,asvs,multilang
# 扫描遇到关键问题即失败(CI/CD)
python3 security_audit_cli.py --path . --fail-on critical
```
## 📖 文档
- [使用指南(英文)](USAGE_GUIDE_EN.md) - 详细文档
- [使用指南(波兰语)](USAGE_GUIDE.md) - 详细文档
- [安全审计README](security_audit/README.md) - 技术细节
## 🔍 使用示例
```
$ python3 security_audit_cli.py --path examples --output html
╔═══════════════════════════════════════════════════════════════╗
║ ║
║ Security Audit System for Web Applications ║
║ Version 1.0.0 ║
║ ║
╚═══════════════════════════════════════════════════════════════╝
[*] Starting security audit of: /home/user/system/examples
[*] Registered scanners: 3
[!] Found 11 issue(s) in examples/vulnerable_code.py
[!] Found 14 issue(s) in examples/vulnerable_code.js
[!] Found 3 issue(s) in examples/package.json
[+] Scan completed in 0.02 seconds
[+] Files scanned: 3
[+] Total findings: 28
================================================================================
SCAN SUMMARY
================================================================================
Files scanned: 3
Lines scanned: 220
Scan duration: 0.02 seconds
Findings by severity:
CRITICAL: 10
HIGH: 6
MEDIUM: 11
LOW: 1
INFO: 0
================================================================================
```
## 🛠️ CI/CD集成
### GitHub Actions
```
name: Security Audit
on: [push, pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Security Audit
run: |
python3 security_audit_cli.py --path . --output sarif --report security.sarif --fail-on high
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: security.sarif
```
### GitLab CI
```
security_audit:
stage: test
script:
- python3 security_audit_cli.py --path . --output sarif --report security.sarif --fail-on high
artifacts:
reports:
sast: security.sarif
```
## 🎨 支持的语言与扩展
- **Python**(.py)- Django、Flask、FastAPI
- **JavaScript/TypeScript**(.js、.ts、.jsx、.tsx)- Node.js、React、Vue、Angular
- **PHP**(.php)- Laravel、Symfony
- **Java**(.java)- Spring、Jakarta EE
- **Ruby**(.rb)- Ruby on Rails
- **Go**(.go)- Gin、Echo、Fiber
- **C#**(.cs)- ASP.NET、.NET Core
- **Rust**(.rs)- Actix、Rocket
- **Kotlin**(.kt)- Spring Boot、Ktor
- **Scala**(.scala)- Play、Akka
- **Elixir**(.ex、.exs)- Phoenix
- **HTML/XML**(.html、.htm、.xml)
- **配置文件**(.yml、.yaml、.json、.env)
## 📊 报告格式
### JSON报告
结构化格式,适合自动化和与其他工具集成。
### HTML报告
视觉化、交互式报告,包含:
- 颜色编码的严重性高亮
- 带上下文的代码片段
- 修复建议
- 统计数据和摘要
### SARIF报告
静态分析结果的OASIS标准 - 集成到:
- GitHub Security
- Azure DevOps
- GitLab Security Dashboard
- SonarQube
## ⚙️ 配置
创建`config.json`以自定义扫描:
```
{
"scan_options": {
"max_file_size_mb": 10,
"excluded_dirs": [".git", "node_modules", "venv"],
"included_extensions": [".py", ".js", ".php"]
},
"scanners": {
"web_vulnerabilities": {
"enabled": true,
"checks": {
"sql_injection": true,
"xss": true,
"command_injection": true
}
},
"secrets_detector": {
"enabled": true
},
"dependency_scanner": {
"enabled": true,
"severity_threshold": "MEDIUM"
}
}
}
```
使用:`python3 security_audit_cli.py --path . --config config.json`
## 🏗️ 架构
```
security-audit-system/
├── security_audit/
│ ├── core/
│ │ ├── engine.py # Main audit engine
│ │ ├── scanner.py # Base interface
│ │ └── config.py # Configuration system
│ ├── scanners/
│ │ ├── web_vulnerabilities.py
│ │ ├── secrets_detector.py
│ │ └── dependency_scanner.py
│ └── reporters/
│ ├── json_reporter.py
│ ├── html_reporter.py
│ └── sarif_reporter.py
├── security_audit_cli.py # CLI interface
└── examples/ # Example vulnerable code
```
## 🔐 严重性级别
| 级别 | 描述 | 操作 |
|-------|-------------|--------|
| **CRITICAL** | 关键威胁,需要立即行动 | 立即修复 |
| **HIGH** | 严重漏洞 | 一周内修复 |
| **MEDIUM** | 中等威胁 | 计划修复 |
| **LOW** | 低威胁 | 考虑修复 |
| **INFO** | 信息性/最佳实践 | 良好实践 |
## 📝 示例
`examples/`目录中包含示例漏洞代码:
- `vulnerable_code.py` - 包含漏洞的Python/Flask
- `vulnerable_code.js` - 包含漏洞的JavaScript/Node.js
- `package.json` - 包含漏洞依赖项的示例
## 🤝 贡献
欢迎贡献!要添加新的扫描器或改进现有扫描器:
1. Fork仓库
2. 创建分支(`git checkout -b feature/new-scanner`)
3. 提交更改(`git commit -am 'Add new scanner'`)
4. 推送到分支(`git push origin feature/new-scanner`)
5. 创建Pull Request
请参阅[CONTRIBUTING.md](CONTRIBUTING.md)获取详细指南。
## ⚠️ 限制
- 该系统检测**潜在**漏洞 - 需要验证
- 不能替代手动安全审查
- 不能检测业务逻辑错误
- 漏洞数据库需要更新
## 📜 许可证
MIT许可证 - 详见[LICENSE](LICENSE)。
## 👤 作者
netcuter
## 🙏 感谢
- OWASP的Top 10文档
- MITRE的CWE数据库
- 开源社区的灵感
**注意**:该系统是辅助工具。在部署生产应用程序之前,始终进行专业的安全审计。
标签:AI安全, Bandit, Chat Copilot, CodeQL, CSRF, CWE-25 2025, IPv6支持, JS文件枚举, LLM Studio, MITM代理, OWASP ASVS 4.0, OWASP Top 10, Python, SAST, Semgrep, SSRF, Web安全, WordPress安全扫描, XXE, 不安全的反序列化, 业务上下文风险评估, 依赖项漏洞, 命令注入, 多语言支持, 威胁情报, 安全测试框架, 安全评估工具, 开发者工具, 弱加密, 无后门, 日志审计, 本地AI, 点击劫持, 盲注攻击, 硬凭证, 硬编码密钥检测, 蓝队分析, 跨站脚本XSS, 路径遍历, 逆向工具, 静态应用安全测试