MrBoyard7/wp-security-auditor
GitHub: MrBoyard7/wp-security-auditor
用于调查、清理和加固被入侵 WordPress 站点的命令行安全审计工具包,覆盖文件扫描、数据库审计和加固报告生成。
Stars: 0 | Forks: 0
# WP 安全审计
[](https://github.com/MrBoyard7/wp-security-auditor/actions/workflows/ci.yml)
[](https://codecov.io/gh/MrBoyard7/wp-security-auditor)
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://github.com/MrBoyard7/wp-security-auditor/commits/main)
[](https://github.com/MrBoyard7/wp-security-auditor/issues)
一个用于**调查、清理和强化受损 WordPress 安装**的命令行工具包。
它的构建初衷是为了自动化安全专家在接手被黑客攻击的 WordPress 网站时所遵循的精确工作流程:核实核心文件完整性,搜寻被注入的恶意软件和垃圾信息,审计用户账户,检查服务器/应用配置,并生成一份包含发现的问题和修复步骤的清晰报告。
## 为什么开发这个工具
清理被黑客攻击的 WordPress 网站是一个可重复的过程:
1. 确认哪些核心、主题和插件文件被修改过。
2. 扫描文件系统,查找被注入/混淆的 PHP 代码(后门、植入器、重定向)。
3. 扫描数据库,查找垃圾内容、注入的链接和恶意的管理员账户。
4. 检查 `wp-config.php` 和 `.htaccess`,以发现恶意的重写规则或配置篡改。
5. 强化安装,确保相同的入口点无法被再次利用。
6. 向客户提交一份他们能看懂的报告。
`wp-security-auditor` 将这个检查清单转化为一次简单的 CLI 运行,并生成一份 Markdown/HTML 报告。
## 功能
| 模块 | 功能说明 |
|---|---|
| `core_integrity` | 将已安装的 WordPress 核心文件与 WordPress.org API 的官方校验和进行比对,以标记被修改/添加/删除的文件 |
| `malware_scanner` | 遍历文件系统(主题、插件、上传目录),应用签名/启发式规则集来标记混淆代码、上传目录中不该出现的 PHP 文件以及已知的后门模式 |
| `database_scanner` | 解析数据库导出文件(或通过凭证连接),查找 posts/options 中的垃圾信息注入、未经授权的重定向以及可疑的 `wp_options` 条目 |
| `user_auditor` | 列出 WordPress 用户,并标记在预期模式之外创建的管理员账户 |
| `config_scanner` | 检查 `wp-config.php` 和 `.htaccess`,以发现弱安全密钥、危险常量和注入的重写规则 |
| `hardening` | 检查常见的强化设置(文件编辑、XML-RPC、文件权限、安全密钥),并报告与安全基线相比存在的差距 |
| `report_generator` | 将每个模块的发现汇总成一份适用于交付给客户的 Markdown/HTML 报告 |
## 测试与质量
- **44 个单元测试**,覆盖每个模块,通过 [GitHub Actions](.github/workflows/ci.yml) 在 Python 3.9–3.12 环境下每次推送时自动运行。
- **约 94% 的测试覆盖率**,使用 `coverage.py` 测量并报告给 [Codecov](https://codecov.io/gh/MrBoyard7/wp-security-auditor)(参见上方的徽章)。
- 测试使用合成的、非功能性的 fixture 和模拟的网络调用(运行测试套件不需要真实的 WordPress 网站或真实的凭证)。
## 安装说明
```
git clone https://github.com/MrBoyard7/wp-security-auditor.git
cd wp-security-auditor
pip install -r requirements.txt
pip install -e .
```
要求 Python 3.9+。
### 在本地运行带覆盖率的测试
```
pip install -r requirements-dev.txt
coverage run -m unittest discover -s tests -v
coverage report
```
## 使用说明
```
# 对本地 WordPress 安装进行全面审计
wp-security-auditor audit --path /var/www/example.com --wp-version 6.5.3
# 仅扫描 Filesystem 恶意软件
wp-security-auditor scan-files --path /var/www/example.com
# 使用 SQL 导出扫描数据库
wp-security-auditor scan-db --sql-dump ./backup.sql
# 针对当前安装生成加固清单
wp-security-auditor harden-check --path /var/www/example.com
# 生成完整的 Markdown 报告
wp-security-auditor audit --path /var/www/example.com --wp-version 6.5.3 --report report.md
```
请参阅 [`docs/USAGE.md`](docs/USAGE.md) 获取完整的命令参考,以及 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) 了解各模块是如何协同工作的。
在 [`examples/sample_report.md`](examples/sample_report.md) 中包含了一份针对故意错误配置的测试安装生成的示例报告。
## 项目结构
```
wp-security-auditor/
├── README.md
├── LICENSE
├── .gitignore
├── .coveragerc # coverage.py configuration used by CI
├── requirements.txt
├── requirements-dev.txt # adds coverage tooling on top of requirements.txt
├── setup.py
├── .github/
│ └── workflows/
│ └── ci.yml # GitHub Actions: tests + coverage upload to Codecov on every push/PR
├── src/
│ └── wp_security_auditor/
│ ├── __init__.py
│ ├── cli.py # CLI entry point and command orchestration
│ ├── core_integrity.py # WordPress core checksum verification
│ ├── malware_scanner.py # Filesystem signature/heuristic scanner
│ ├── database_scanner.py # Database / SQL dump content scanner
│ ├── user_auditor.py # WordPress user account auditor
│ ├── config_scanner.py # wp-config.php / .htaccess reviewer
│ ├── hardening.py # Security hardening checklist engine
│ ├── report_generator.py # Markdown/HTML report builder
│ └── utils.py # Shared helpers (logging, file walking)
├── signatures/
│ └── malware_patterns.json # Signature/heuristic ruleset used by malware_scanner
├── tests/
│ ├── __init__.py
│ ├── test_cli.py
│ ├── test_malware_scanner.py
│ ├── test_core_integrity.py
│ ├── test_config_scanner.py
│ ├── test_database_scanner.py
│ ├── test_hardening.py
│ ├── test_user_auditor.py
│ ├── test_report_generator.py
│ └── fixtures/
│ └── suspicious_sample.php # Synthetic, non-functional fixture for scanner tests
├── examples/
│ └── sample_report.md # Example output report
└── docs/
├── USAGE.md
└── ARCHITECTURE.md
```
## 免责声明
本工具用于对您拥有或被授权测试的 WordPress 网站进行**防御性安全审计**。它不会利用漏洞,在操作者未提供明确的本地文件/数据库访问权限的情况下不会修改远程站点,并且不包含任何功能性的恶意负载——扫描器测试 fixture 仅是一个用于验证模式匹配的合成替代品。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:Python, WordPress, 库, 应急响应, 恶意软件清理, 文档结构分析, 无后门, 系统加固, 逆向工具