Rabwy/mini-security-scanner
GitHub: Rabwy/mini-security-scanner
一个基于 Python 的轻量级 CLI 安全扫描工具,集成了 TCP 端口扫描、服务指纹识别和 HTTP 安全头审计,用于快速发现网络与 Web 层面的常见配置缺陷。
Stars: 0 | Forks: 0
# Mini Security Scanner (CLI 工具) 🛡️
一个轻量级的基于 Python 的安全工具,专为基础设施侦察和 Web 审计而设计。此工具旨在自动化识别开放的网络端口和常见的 Web 安全错误配置。
## 🚀 主要特性
- **网络侦察**:使用三次握手原理扫描开放的 TCP 端口。
- **服务指纹识别**:实现 **Banner Grabbing** 以识别正在运行的服务(SSH、FTP 等)的版本。
- **Web 安全审计**:分析 HTTP 响应头,以查找缺失的安全控制(CSP、HSTS、X-Frame-Options)。
- **自动化报告**:将所有发现以结构化、机器可读的 JSON 格式保存,以便进一步分析。
## 🛠 技术栈
- **语言**:Python 3.13
- **核心库**:`socket` (网络层)、`requests` (HTTP/应用层)、`urllib3`、`argparse`。
## 🚦 安装与设置
### 1. 克隆仓库
```
git clone [https://github.com/Rabwy/mini-security-scanner.git]
cd mini-security-scanner
```
### 2. 设置虚拟环境
```
# 创建环境
python -m venv .venv
# 激活 (Windows)
.\.venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
```
### 💻 使用方法
```
python scanner/main.py --ip 45.33.32.156 --url [https://github.com]
```
### 输出示例 (reports/result.json):
```
{
"port_scan": {
"22": "SSH-2.0-OpenSSH_8.2p1",
"80": "Banner not received"
},
"missing_headers": [
"Content-Security-Policy",
"Strict-Transport-Security"
]
}
```
### ⚠️ 实现说明 (网络安全上下文)
#### SSL/TLS 处理
扫描器在 Web 请求中被配置为 "**_verify=False_**"。
- 原因:这是一个深思熟虑的设计选择,旨在确保与内部/工业 (OT) 网络和关键基础设施 (ICS) 的兼容性,在这些环境中经常会遇到自签名证书或旧版 SSL 配置。
- 安全性:使用 urllib3.disable_warnings 抑制 SSL 警告,以保持清晰专业的 CLI 输出
标签:argparse, Banner Grabbing, C++17, C2日志可视化, Docker, HTTP协议, HTTP头分析, ICS安全, IT基础设施安全, JSON报告, OT安全, Python, Python 3.13, requests库, Socket编程, SSL/TLS处理, TCP协议, Web安全审计, 安全合规, 安全防御评估, 实时处理, 密码管理, 开源安全工具, 指纹识别, 插件系统, 数据统计, 无后门, 端口扫描, 网安工具开发, 网络代理, 网络安全, 自动化安全工具, 逆向工具, 逆向工程平台, 隐私保护