Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-31431-fleet-remediator — Fleet規模のCVE-2026-31431監査および修復オーケストレーター。SSH経由でLinuxホストを対象とし、厳格なホストキー検証と複数形式のレポート出力に対応。 | Kitploit
ツール/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
クラウドインフラストラクチャセキュリティ脆弱性スキャナー構成監査DevSecOps
GitHubwavesman/cve-2026-31431-fleet-remediator

cve-2026-31431-fleet-remediator

Fleet規模のCVE-2026-31431監査および修復オーケストレーター。SSH経由でLinuxホストを対象とし、厳格なホストキー検証と複数形式のレポート出力に対応。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
3ヶ月前未レビュー

CVE-2026-31431 舰队审计与修复工具

中文说明

本项目是一个舰队级编排工具,用于对企业/内部网络中的 Linux 主机进行 CVE-2026-31431 的审计与修复。

  • 批量 SSH 登录多台主机
  • 风险证据收集与状态分类
  • 临时缓解措施(禁用 algif_aead)
  • 支持发行版感知的内核补丁/升级流程
  • JSON / CSV / Markdown 报告输出

1. 环境要求

  • Python: >=3.13
  • 包管理器: uv
  • 网络: 运行节点必须能通过 SSH 访问目标主机

2. 快速开始

2.1 安装依赖

root@kitploit:~
uv sync

pyproject.toml 中已配置清华镜像源:

root@kitploit:~
[tool.uv]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"

2.2 准备资产配置

root@kitploit:~
cp fleet.env.example fleet.env

然后更新 fleet.env,填入真实的主机信息和凭据。

2.3 运行

root@kitploit:~
uv run python main.py fleet.env

3. 项目结构

root@kitploit:~
.
├── main.py
├── pyproject.toml
├── uv.lock
├── fleet.env.example
├── reports/
└── src/
    ├── main.py
    ├── models.py
    ├── config.py
    ├── executor.py
    ├── collector.py
    ├── analyzer.py
    ├── adapters.py
    ├── remediator.py
    ├── orchestrator.py
    └── reporter.py

4. fleet.env 配置参考

格式为 KEY=VALUE。空行和以 # 开头的注释行会被忽略。

4.1 全局配置项

MODE

  • 运行模式。
  • 可选值:
    • audit:仅检测,不执行修复。
    • fix:检测并执行修复流程。
  • 默认值:audit

AUTO_REBOOT

  • 修复成功后是否自动重启主机。
  • 可选值:0 或 1
  • 默认值:0
  • 仅在 MODE=fix 时生效。

SSH_TIMEOUT

  • SSH 连接/认证超时时间(秒)。
  • 类型:整数
  • 默认值:12

MAX_WORKERS

  • 舰队并发规模(线程池工作线程数)。
  • 类型:整数
  • 默认值:8

REPORT_DIR

  • 生成报告的输出目录。
  • 类型:相对或绝对路径
  • 默认值:./reports

PROGRESS_HEARTBEAT_SECONDS

  • 实时进度日志的心跳间隔。
  • 类型:整数(秒)
  • 默认值:5

DEVICE_MAX_DURATION_SECONDS

  • 每台设备的最大总执行时间,超过后触发超时/停滞警告。
  • 类型:整数(秒)
  • 默认值:1800

PROGRESS_LOG_TO_FILE

  • 是否将进度日志持久化到 REPORT_DIR。
  • 可选值:0 或 1
  • 默认值:1

FLEET_COUNT

  • 设备槽位数量。加载器解析 1..FLEET_COUNT。
  • 类型:整数
  • 如果 DEVICE_n_HOST 为空,则跳过该槽位。

4.2 每台设备的配置项

每台主机使用 DEVICE_{n}_ 前缀,例如 DEVICE_1_*、DEVICE_2_*。

DEVICE_n_NAME

  • 报告中的显示名称。
  • 可选。如果为空,自动回退为 device_n。

DEVICE_n_HOST

  • 目标主机的 IP 或 DNS 名称。
  • 该槽位必填。

DEVICE_n_PORT

  • SSH 端口。
  • 默认值:22

DEVICE_n_USER

  • SSH 用户名。
  • 默认值:root

DEVICE_n_PASSWORD

  • SSH 密码认证。
  • 可与 DEVICE_n_KEY 同时使用,或单独使用。
  • 脚本仅使用 fleet.env 中显式设置的凭据。

DEVICE_n_KEY

  • SSH 私钥路径。
  • 示例:./keys/node-1_ed25519
  • 如果 DEVICE_n_PASSWORD 和 DEVICE_n_KEY 均为空,连接将快速失败。

DEVICE_n_SUDO_PASSWORD

  • 非 root 用户的 sudo 密码。
  • 用于执行修复命令。

4.3 完整示例

root@kitploit:~
# =========================
# 全局配置
# =========================
MODE=audit
AUTO_REBOOT=0
SSH_TIMEOUT=12
MAX_WORKERS=8
REPORT_DIR=./reports
PROGRESS_HEARTBEAT_SECONDS=5
DEVICE_MAX_DURATION_SECONDS=1800
PROGRESS_LOG_TO_FILE=1
FLEET_COUNT=3

# =========================
# 设备 1
# =========================
DEVICE_1_NAME=pve-node-1
DEVICE_1_HOST=192.168.1.10
DEVICE_1_PORT=22
DEVICE_1_USER=root
DEVICE_1_PASSWORD=
DEVICE_1_KEY=./keys/pve-node-1_ed25519
DEVICE_1_SUDO_PASSWORD=

# =========================
# 设备 2
# =========================
DEVICE_2_NAME=web-1
DEVICE_2_HOST=192.168.1.20
DEVICE_2_PORT=22
DEVICE_2_USER=admin
DEVICE_2_PASSWORD=your_ssh_password
DEVICE_2_KEY=
DEVICE_2_SUDO_PASSWORD=your_sudo_password

# =========================
# 设备 3
# =========================
DEVICE_3_NAME=
DEVICE_3_HOST=192.168.1.30
DEVICE_3_PORT=22
DEVICE_3_USER=ops
DEVICE_3_PASSWORD=
DEVICE_3_KEY=./keys/db-1_ed25519
DEVICE_3_SUDO_PASSWORD=

5. 运行模式

5.1 审计模式(建议首次运行)

root@kitploit:~
MODE=audit
uv run python main.py fleet.env

行为:

  • 连接主机
  • 收集内核/模块/补丁线索
  • 分类风险状态
  • 生成报告

5.2 修复模式

root@kitploit:~
MODE=fix
AUTO_REBOOT=0
uv run python main.py fleet.env

行为:

  • 首先应用临时缓解措施:
    • 写入 /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf
    • 尝试卸载 algif_aead
  • 执行发行版特定的内核更新
  • 根据 AUTO_REBOOT 决定是否重启

6. 状态定义

SAFE

  • 已找到补丁线索,且 algif_aead 未加载。

MITIGATED

  • 已找到缓解措施线索,但补丁线索仍不明确。

NEEDS_PATCH

  • algif_aead 可用/已加载,且缺少补丁线索。

UNKNOWN

  • 证据不足,无法分类。

FAILED

  • SSH 登录/命令执行失败。

7. 报告输出

每次运行会在 REPORT_DIR 中生成 3 个文件:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log(实时进度和心跳日志)

核心字段:

  • name、host
  • status
  • kernel、os
  • algif_loaded、algif_available
  • patch_hint
  • fixed、rebooted
  • error

8. 安全注意事项

  • 不要将 fleet.env 或私钥提交到版本库。
  • 尽可能使用最小权限的操作账号。
  • 在生产环境执行修复前,请先创建快照/备份。
  • 推荐部署流程:audit -> fix -> 重新审计。

9. 故障排查

ModuleNotFoundError: No module named 'paramiko'

  • 运行 uv sync。

大量主机显示为 FAILED

  • 检查网络连通性、SSH 凭据、sudo 权限以及主机密钥状态。

BadHostKeyException

  • 主机指纹与当前 known_hosts 记录冲突。
  • 这不是系统密钥认证回退;认证仍仅使用 fleet.env 中的凭据。
  • 通过带外方式验证主机身份,然后更新 known_hosts:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • 已启用严格主机密钥模式,且缺少主机指纹。
  • 将主机密钥添加到 known_hosts,然后重新运行。

内核已更新但状态仍为风险

  • 可能需要重启才能引导到已修补的内核。
ツールをダウンロード