NextGuardHQ/nextguard-drupal-10
GitHub: NextGuardHQ/nextguard-drupal-10
NextGuard 官方的 Drupal 10 模块,自动同步站点模块与主题清单至云端仪表盘,实现持续 CVE 漏洞监控。
Stars: 0 | Forks: 0
# NextGuard 安全扫描器 — Drupal 10
[](LICENSE)



[NextGuard](https://nextguardhq.com) 的官方 Drupal 10 模块。它会将您启用的模块和主题同步到您的 NextGuard 项目中,以便您可以在单一仪表盘中监控您的 Drupal 技术栈是否存在已知的 CVE。
## 功能
- 通过 `hook_cron()` 自动同步(限制为每 12 小时一次)
- 通过 Drush 实现完整的 Device Authorization Flow — 无需复制粘贴 token
- 同步每个已安装的模块和主题(机器名 + 版本 + 激活状态)
- 使用 HMAC-SHA256 对请求进行签名;凭证存储在 Drupal config/state 中
## 要求
- Drupal 10
- PHP 8.1 或更高版本
- [Drush](https://www.drush.org/) 12+(建议用于连接)
- **Starter** 计划或以上的 NextGuard 账户(从 Starter 计划起即包含 CMS 插件同步功能)
## 安装说明
### 使用 Composer(推荐)
```
composer require nextguardhq/nextguard-drupal
drush en nextguard -y
```
### 手动安装
1. 下载最新版本并将其解压到 `modules/custom/nextguard/` 目录中。
2. 启用模块:
drush en nextguard -y
drush cr
## 连接
使用 Device Authorization Flow 进行连接 — 运行一个命令并从您的 NextGuard 仪表板中进行授权:
```
drush nextguard:connect vs_pk_your_api_key
```
该命令会打印一个简短的代码。打开 **nextguardhq.com/account → Connected Devices**,输入该代码,模块就会自动存储生成的设备 token 和项目信息。
| 命令 | 描述 |
|---|---|
| `drush nextguard:connect ` | 通过 Device Authorization Flow 进行连接 |
| `drush nextguard:status` | 显示连接状态和上次同步时间 |
| `drush nextguard:sync` | 立即强制手动同步 |
| `drush nextguard:disconnect` | 删除所有存储的凭证 |
从 **NextGuard → Account → API Keys** 获取您的 API key(从 Starter 计划起包含)。
## 工作原理
在每次运行 cron 时(最多每 12 小时一次),该模块会:
1. 通过 `extension.list.module` 列出已安装的模块,并通过 `extension.list.theme` 列出主题。
2. 构建包含机器名、版本和激活状态的清单。
3. 使用 Guzzle HTTP client 向 `https://nextguardhq.com/api/v1/cms/sync` 发送带有签名的 `POST` 请求,并在 `X-API-Key` header 中携带设备 token。
您可以按需使用 `drush nextguard:sync` 或 `drush cron` 触发它。
## 故障排除
**同步从未运行** — 确保 cron 已正确配置(`drush cron`),并且服务器能够向 `nextguardhq.com` 发起出站 HTTPS 请求。
**检查是否成功** — 在您的 NextGuard 项目中,查找名为 `cms-manifest-drupal.json` 的文件,或运行 `drush nextguard:status`。
**查看错误** — `drush watchdog:show --type=nextguard`
## 许可证
根据 [GNU General Public License v2.0](LICENSE) 或更高版本发布,与 Drupal 核心及贡献生态系统保持一致。
标签:CWE/CVE, Drupal, ffuf, OpenVAS, PHP, 安全合规, 插件模块, 漏洞监控, 网络代理