内容
<div align="center">
# WordPress恶意软件清除
### 发现隐藏的恶意软件 - 您的扫描工具无法发现 - 并了解它们如何进入您的网站。
[](https://github.com/adityaarsharma/wordpress-malware-removal/actions/workflows/ci.yml)
[](LICENSE)
[](#works-with-your-ai-agent)
[](#standalone-scripts)
[](#contributing)
[](https://github.com/adityaarsharma/wordpress-malware-removal/stargazers)
Google标记了您的网站。或者它会将访客重定向到垃圾邮件网站。或者您的扫描工具说“完全干净”,而赌博页面在您的域名下排名。这些通常是恶意软件,旨在**隐藏** - 对您和仅以浏览器方式查看网站的工具隐藏。
**WordPress恶意软件清除**通过检查您的网站的方式,**Google和攻击者**看到的方式,查找隐秘的东西 - SEO垃圾邮件**伪装**,**日本关键词黑客**,重定向恶意软件,网络外壳和后门 - 安全地清理(完整备份后,无需盲目删除,如果更改破坏网站,则恢复文件)并告诉您**攻击者如何进入**,以便不会再次发生。
**免费 · 开源(AGPL-3.0)· 与任何AI编码代理运行 - Claude Code,Cursor,Codex或任何MCP客户端。**
</div>
---
## 目录
- [它做什么](#它做什么)
- [与您的AI代理一起工作](#与您的AI代理一起工作)
- [它如何比较](#它如何比较)
- [如何使用它](#如何使用它)
- [保持更新](#保持更新)
- [它如何工作(12层扫描)](#它如何工作)
- [连接您的网站(网关)](#连接您的网站)
- [它检测什么(39个家族)](#它检测什么)
- [独立脚本](#独立脚本)
- [它如何安全地清理](#它如何安全地清理)
- [文档](#文档)
- [常见问题](#常见问题)
- [一个真实的例子](#一个真实的例子)
- [贡献](#贡献)
- [许可证](#许可证)
---
## 它做什么
简单来说:
1. **以Google和攻击者的方式查看您的网站** - 不仅仅是以浏览器的方式。
2. **扫描整个服务器**,您的数据库,日志和用户 - 共12项检查。
3. **在触摸每个可疑文件之前读取它**,以免出现错误警报。
4. **安全地清理** - 先备份,*移动*坏文件到隔离区(不删除),并在每一步检查网站是否仍然加载。如果某些东西损坏了,它会恢复文件。
5. **告诉您他们如何进入** - 被盗的密码?过时的插件? - 并帮助您关闭该门。
6. **通过重新检查Googlebot的页面来证明垃圾邮件已经消失**。
---
## 与您的AI代理一起工作
不仅仅是Claude。此设计为**代理无关**:
- **Python脚本单独运行** - 不需要AI。直接从终端扫描,检测伪装,验证核心完整性并检查漏洞。
- **清理方法与任何有能力的AI编码代理一起工作** - Claude Code,Cursor,Codex或可以读取项目并运行命令的任何东西。将您的代理指向此仓库并要求它扫描或清理。
- **它通过MCP(开放标准)或SSH连接到您的网站** - 因此任何MCP兼容的客户端都可以驱动它。[SproutOS](https://github.com/posimyth/sproutos)是推荐的网关(不需要SSH)。
- **Claude Code具有最紧密的配合** - 它将此作为本机技能加载,因此一个简单的“扫描我的网站”就可以了。
一个工具,您的AI代理选择。没有东西绑定到单个供应商。
---
## 它如何比较
这些都是很好的工具,它们做的事情不同。表格描述了每个工具的**公开记录的方法** - 这是对设计比较,而不是声称任何产品更好或更差劲。请**同时运行**您的现有安全插件;第二个独立的检查永远不会有害。
| | 手动清理 | Wordfence | MalCare | Sucuri | 这个工具 |
|---|---|---|---|---|---|
| **它是做什么** | 自己动手 | 安全插件 | 插件 + 云 | 插件 + 远程服务 | AI代理 / Claude技能 |
| **它在哪里工作** | 您,在服务器上 | WordPress内部 | 云上同步副本 | 远程扫描 + 云防火墙 | 通过连接或SSH - 整个服务器 |
| **它如何查找恶意软件** | 您自己的检查 | 签名匹配 | 行为信号 | 签名 + 远程检查 | 在上下文中读取每个文件 |
| **查看** | 您查看的地方 | WordPress文件和DB | WordPress文件和DB | 公共页面 + 文件(有代理) | 整个服务器,DB,日志,用户 |
| **检查Googlebot的页面** <br><sub>(仅向Google显示垃圾邮件)</sub> | 仅当您知道 | 扫描文件,不是爬虫获取 | 云上扫描文件 | 远程扫描器读取公共页面 | 是 - 作为Googlebot和源 |
| **扫描`wp-content`外部** | 如果您检查那里 | WordPress聚焦 | WordPress聚焦 | 公共URL; 通过代理进行服务器扫描 | 是 - 网络根目录及以上 |
| **解释网站如何被黑** | 仅当您深入日志 | 实时流量/登录日志 | 活动日志插件 | 攻击后分析(付费) | 内置日志取证 + 免费漏洞检查 |
| **减少错误警报** | 取决于您的技能 | 模式规则 | 信号评分 | 签名规则 | 读取每个文件后再标记 |
| **破坏网站的风险** | 高 - 容易删除错误的文件 | 低-中等 | 低 | 低 | 低 - 备份,隔离,自动回滚 |
| **所需技能** | 高 | 低 | 低 | 低 | 低 - AI驱动 |
| **撤销/回滚** | 您自己的备份 | 手动恢复 | 从备份恢复 | 从备份恢复 | 隔离 + 自动回滚 |
| **开源** | 无 | 免费插件是GPL | 插件GPL; 引擎专有 | 插件GPL; 平台专有 | 完全开放(AGPL-3.0) |
| **价格** | 您的时间 | 免费增值 | 免费增值 | 付费平台(免费远程扫描) | 免费 |
<sub>截至2026年的每个选项的**公开记录方法的比较**,仅用于定位 - 不是声称任何产品更好或更差劲,并且功能经常更改,因此请检查当前版本。产品名称是其各自所有者的商标。这些工具是互补的; 运行独立的二次扫描始终是明智的。</sub>
**它在此基础上添加的内容:** 它检查您的页面**如同搜索引擎**(以捕获仅向Google显示的垃圾邮件),扫描`wp-content`**外部**(网络根目录及以上),使用隔离区**安全地删除**威胁,并解释**网站如何被黑**。
---
## 如何使用它
**步骤1 - 获取它。**
```bash
git clone https://github.com/adityaarsharma/wordpress-malware-removal.git
```
**步骤2 - 将您的代理指向它。**
- **Claude Code**(原生技能):`ln -s "$(pwd)/wordpress-malware-removal" ~/.claude/skills/wordpress-malware-removal`
- **Cursor / Codex / 其他代理**:在您的代理中打开文件夹并告诉它遵循`SKILL.md`。
- **没有代理**:直接运行[脚本](#独立脚本)。
**步骤3 - 连接您的网站**(参见[网关](#连接您的网站))- SproutOS(不需要SSH)或SSH。
**步骤4 - 询问**(或运行脚本):
> *"扫描example.com的恶意软件"*
> *"我的网站在Google上显示赌博垃圾邮件 - 清洁它"*
> *"删除日本关键词黑客"*
> *"这个网站是如何被黑的?*"*
<details>
<summary><b>可选:使用Wordfence漏洞馈送查找入口点</b></summary>
<br>
免费的[Wordfence Intelligence](https://www.wordfence.com/threat-intel/)馈送(免费帐户,无使用上限,允许商业使用)允许该工具交叉检查您已安装的插件/主题与已知漏洞,以查找可能的入口。
```bash
export WORDFENCE_API_KEY=your_free_key
```
这是可选的 - 核心恶意软件检测无需它。设置详情:[references/wordfence-integration.md](references/wordfence-integration.md)。
</details>
---
## 保持更新
新恶意软件不断出现,因此检测功能已构建为可增长。
- **更新工具:** `git pull` - 您将获得最新的检测模式和修复程序。
- **漏洞数据自行更新:** Wordfence馈送自动刷新(强制刷新请使用`python3 scripts/wordfence_client.py --refresh`)。
- **添加您自己的模式:** 签名列表([`scripts/signatures.json`](scripts/signatures.json))易于扩展,并且内置测试库 + CI确保新模式捕获真实恶意软件而不会标记干净代码。完整指南:[references/growing-the-database.md](references/growing-the-database.md)。
欢迎贡献 - [打开PR或问题](#contributing)。
---
## 它如何工作
<details>
<summary><b>12层法医扫描</b> - 点击展开</summary>
<br>
每次扫描都运行这些层(每个层都会顺利降级为您实际拥有的访问权限)。每层的完整命令:[references/detection-playbook.md](references/detection-playbook.md)。
| # | 层 | 检查内容 |
|---|---|---|
| 1 | **外部伪装** | 获取页面作为Googlebot与浏览器(和CDN后面的源)的对比,以捕获仅向搜索引擎显示的垃圾邮件 |
| 2 | **网络根目录扫描** | `wp-content`外部的文件/文件夹 - 许多恶意软件都藏在这里 |
| 3 | **核心完整性** | 修改或额外的WordPress核心文件 |
| 4 | **插件/主题完整性** | 注入代码的破解/隐藏插件,假插件,未授权的REST路由 |
| 5 | **上传** | 不应该有可执行PHP的地方 |
| 6 | **mu-plugins&drop-ins** | `db.php`,`object-cache.php`,每个请求都加载的must-use插件 |
| 7 | **网络外壳&后门** | 文件管理器和微型自动登录后门 |
| 8 | **混淆** | `eval(base64…)`,打包/编码代码 |
| 9 | **数据库** | 注入帖子,选项,用户,重定向和日志表 |
| 10 | **持久性** | Cron,`.htaccess`,PHP预读,流包装器,服务器级后门 |
| 11 | **用户&会话** | 意外的管理员,流氓应用程序密码 |
| 12 | **日志取证** | 重建攻击时间线并查找入口点+攻击者IP |
流程:
```
扫描(12层)-> 验证每个发现(减少错误警报)-> 备份->
隔离-> 健康检查+回滚-> 重新检查Googlebot-> 加固-> 报告
```
</details>
<details>
<summary><b>它如何决定什么是恶意软件(无错误警报步骤)</b></summary>
<br>
它永远不会仅凭模式匹配就删除。对于每个可疑项目:
1. **在上下文中读取实际文件/行**并决定,像工程师一样,它是恶意的还是合法的(精简的库,代码片段插件,AMP处理程序等)。
2. **分类**为*确认的*,*需要人类*或*错误警报*。仅*确认的*项目被删除。
3. **如果不确定,它会标记审查**而不是删除。留下给您的文件是可恢复的;错误删除的损坏站点文件不会恢复。
</details>
---
## 连接您的网站
<details>
<summary><b>三种连接方式(推荐SproutOS,无需SSH)</b></summary>
<br>
| 网关 | 需要 | 最适合 |
|---|---|---|
| **[SproutOS](https://github.com/posimyth/sproutos)** *(推荐)* | 应用程序密码 | 无SSH - 直接在WordPress内部连接 |
| 任意其他WordPress MCP | 连接的MCP | 如果您已经运行一个 |
| **SSH + WP-CLI** | Shell访问 | 最完整的访问权限 |
SproutOS将任何WordPress站点转换为MCP服务器,基于应用程序密码 - 无需SSH。它是一个**门户,不是依赖项**。每个网关的命令映射:[references/mcp-gateways.md](references/mcp-gateways.md)。
</details>
---
## 它检测什么
<details>
<summary><b>39个恶意软件家族</b> - 点击展开</summary>
<br>
SEO垃圾邮件伪装 · 日本关键词黑客 · 药品和赌博垃圾邮件 · 重定向恶意软件 · 网络外壳 · 自动登录后门 · 上传脚本 · 隐藏在图像中的PHP流包装器payload · 假“核心功能”加载器,从数据库重建 · 未授权的REST路由后门 · PHP对象注入 · `wp-config.php`注入 · 恶意`.htaccess`规则和`DirectoryIndex`劫持 · `?g=`查询字符串垃圾邮件 · 恶意cron作业 · 意外的管理员帐户 · 流氓应用程序密码 · 卡片收集器 · 加密货币 · SSH密钥后门 · 伪装成图像的文件 · 核心文件名typosquats · 双扩展名shell · 注入的站点地图 · 服务器级持久性 · 等等。
完整解释的列表:[references/signature-library.md](references/signature-library.md) · 深入了解每个家族及其隐藏方式:[references/malware-families.md](references/malware-families.md)。
</details>
---
## 独立脚本
<details>
<summary><b>直接运行引擎 - 零依赖,股票Python 3</b></summary>
<br>
您不需要Claude即可使用核心脚本:
```bash
# 1. 检查整个站点地图中仅向搜索引擎显示的垃圾邮件
python3 scripts/cloaking_diff.py --sitemap https://example.com/sitemap.xml --origin-ip 1.2.3.4
# 2. 对WordPress文件夹进行深入扫描以查找39个恶意软件家族
python3 scripts/scan_patterns.py /path/to/wordpress --since 2026-06-14 --json findings.json
# 3. 检查已安装的插件/主题以获取已知漏洞(免费Wordfence馈送)
python3 scripts/wordfence_client.py --installed installed.json
```
| 脚本 | 它做什么 |
|---|---|
| `scripts/cloaking_diff.py` | 检测伪装(bot vs browser,origin vs CDN,JS-redirect) |
| `scripts/scan_patterns.py` | 扫描WordPress树以查找候选人 |
| `scripts/wordfence_client.py` | 将已安装的版本与已知CVE匹配 |
| `scripts/safety_gate.py` | 强制执行备份→隔离→回滚(如果没有备份,则不会删除) |
| `scripts/reinstall_clean.py` | 验证核心/插件与官方校验和;从干净的源重新安装 |
| `scripts/signatures.json` | 签名数据库(易于扩展) |
</details>
---
## 它如何安全地清理
<details>
<summary><b>“不要破坏站点”协议</b></summary>
<br>
- **首先进行完整数据库备份** - 并且工具**如果备份存在,则不会删除任何内容**(由`safety_gate.py`强制执行,而不仅仅是一个指南)。
- 对于注入到**实际WordPress/插件文件**的恶意软件,它**从官方干净源替换它们**(`reinstall_clean.py`)而不是冒险的手动编辑。
- **移动**独立的坏文件到隔离文件夹 - 它不会删除它们。
- **检查站点在每次更改后是否加载**;如果更改损坏了某个东西,它会自动恢复文件。
- **在完成后询问您**。
- **重新检查Googlebot**以确认垃圾邮件实际上已经消失。
它旨在删除它找到的每个感染并让站点正常运行。扫描器可以承诺站点**永久**是安全的以防止未来的或未知的攻击,所以它会说明它列出的任何无法完全检查的内容,并建议一两天后进行后续扫描以捕获任何尝试返回的内容。完整协议:[references/remediation-playbook.md](references/remediation-playbook.md)。
</details>
## 文档
<details>
<summary><b>所有指南 - 点击展开</b></summary>
<br>
| 文档 | 内容 |
|---|---|
| [SKILL.md](SKILL.md) | AI遵循的完整方法论 |
| [SPEC.md](SPEC.md) | 产品&安全规格 |
| [references/detection-playbook.md](references/detection-playbook.md) | 每层的命令,按网关 |
| [references/remediation-playbook.md](references/remediation-playbook.md) | 安全移除:备份→隔离→验证→回滚 |
| [references/cloaking-detection.md](references/cloaking-detection.md) | 深入了解bot-vs-browser方法 |
| [references/malware-families.md](references/malware-families.md) | 恶意软件家族 + 2026威胁景观 |
| [references/signature-library.md](references/signature-library.md) | 人类可读的签名列表 |
| [references/edge-cases.md](references/edge-cases.md) | 多站点,自定义前缀,重新感染,安全措施 |
| [references/mcp-gateways.md](references/mcp-gateways.md) | 通过SproutOS/其他MCP/SSH连接 |
| [references/wordfence-integration.md](references/wordfence-integration.md) | 免费Wordfence馈送设置 |
| [references/growing-the-database.md](references/growing-the-database.md) | 如何增加漏洞+攻击模式覆盖范围 |
| [references/incident-case-study.md](references/incident-case-study.md) | 真实的黑客案例,从头到尾 |
</details>
---
常见问题
<details>
<summary><b>如何移除日本关键词黑客攻击?</b></summary>
<br>
将工具连接到您的网站,然后说 *"移除日本客攻击。"* 它会查找只出现在搜索引擎上的垃圾页面、流氓站点地图、`.htaccess` 技巧和数据库注入,安全它们,然后以 Googlebot 的身份重新检查以确认它们已经消失。
>
<details>
<summary><b>我的 WordPress 网站重定向到垃圾内容。它能帮忙吗?</b></summary>
<br>
可以 — 它会查找 `.htaccess`、数据库、主题文件和注入的 JavaScript 中的重定向代码,包括仅在移动设备或搜索引擎上触发的重定向。
</details>
<details>
<summary><b>扫描器说网站干净,但 Google 标记它。为什么?</b></summary>
<br>
某些感染(称为 *cloaking*)仅向搜索引擎显示垃圾内容,而向其他人显示干净的内容 — 包括扫描器。此工具会以 *Googlebot* 的身份检查您的页面,这就是它如何发现此类。
</details>
<detailssummary><b>它在没有 SSH 的情况下是否有效?</b></summary>
<br>
可以 [SproutOS](https://github.com/posimyth/sproutos)(通过应用程序密码),它无需 shell 访问即可运行。
</<details>
<summary><b>它会破坏我的网站吗?</b></summary>
<br>
它的设计不会:它首先备份,隔离而不是每一步检查网站,恢复任何引起问题的内容。
</details>
---
## 真实示例
<details>
<summary><b>隐藏的赌感染,普通扫描未发现</b></summary>
<br>
一个 live WordPress 网站感染了赌博垃圾仅在 Google 搜索结果中出现** — 该网站对访客和在其上活跃的安全扫描器正常。恶意软件隐藏在 `wp-content` **外部**的文件夹中,以及一个 tiny 后门文件者可以重新进入。
该工具旨在查找恰好是这种隐藏的感染。完整的逐步说明作为一个工作的例子和回归测试包含在内:[references/incident-case-study.md/incident-case-study.md)。
>
---
## 贡献
<summary><b>欢迎模式</b></summary>
<br>
恶意软件不断变化。模式列表 ([`scripts/signatures.json/signatures.json)) 易于扩展一个家族,添加一个报措施,并打开。发现它错过了什么打开一个问题](https://github.com/adityaarsharma/ware-removal/issues) 并附上一个 sanitized 示例。
**您有帮助,星其他人找到它。**
</details>
---
## 与以下工具配合良好
[Wordfence](https://www.wordfence.com/)、[MalCare](https://www.malcare.com/) 和 [Sucuri](https://sucuri.net/) 是众所周知的 WordPress 安全工具;运行独立的二次扫描始终是明智的。该项目使用 [SproutOS](https://github.com/posimyth/sproutos) 作为其推荐的网关和 [Wordfence Intelligence](https://www.wordfence.com/thel/) 漏洞馈送。
## 许可证
[AGPL-3.0-or-later](LICENSE)。强烈的 copyleft:您自由使用、修改和自我托管,但如果您将**修改**版本作为网络服务运行,则必须共享您的。这使得托管衍生品保持开放。
---
<div align="center">
<sub>由 <a href="https://adityaarsharmaAditya Sharma</a> 构建</sub>
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器