HTML-to-Selenium
分析网页HTML结构并生成Selenium自动化脚本,适用于网页元素识别与控制。
下载 588
通过SSH MCP自动执行多客户端Linux服务器安全审计与修复,每日凌晨1点定时运行。
openclaw skills install @cyber-bye/linux-security-guardian命令、参数、文件名以原文为准
所有管理员专属数据均存储于 core-extra/config/ 目录中——绝不硬编码于钩子或模块中。
| 文件 | 内容 | 字段 |
|---|---|---|
core-extra/config/profile.md | 管理员身份 + 域名 + 邮箱 | Owner.name, Domain.primary, Email.noreply |
会话启动时 → 加载 core-extra/config/profile.md
→ Owner.name → 用于 SOUL.md [WORKSPACE OWNER]
→ Email.noreply → 作为 mail-sender.md 中的发件人
→ Domain.primary → 用于配置生成
修改方式:仅编辑 core-extra/config/profile.md 即可。core-extra/config/profile.mdcore-extra 目录是技能的一部分(发布至 ClawHub 时包含占位符)该守护程序管理多个客户端,每个客户端拥有独立的服务器集群。
SERVER_PROFILE.md 中定义 ## Client: 分组,审计将遍历全部客户端。
SERVER_PROFILE.md
├── ## Client: client-1 (7 台服务器)
│ ├── server-01
│ ├── server-02
│ └── ... server-07
├── ## Client: client-2 (N 台服务器) ← 可按需添加
│ └── ...
└── ## Client: [NEXT-CLIENT]所有路径均以 <client>/<server>/ 为前缀:
audit/results/<client>/<server>/<severity>/actions/<client>/<server>/auto-done/cve/<client>/<server>/advisories/reports/<client>/<server>/daily/该代理通过 SSH MCP 实现对 Linux 服务器的全自动化安全管理。
每天凌晨 1 点 IST:
核心原则:代理执行动作 vs 需要先请求确认
| 问题类型 | CVSS / 严重等级 | 动作 |
|---|---|---|
| CVE — 严重 | ≥ 9.0 | 立即发送邮件警报 + 队列待确认 |
| CVE — 高 | 7.0–8.9 | 队列待确认 + 包含在报告中 |
| CVE — 中 | 4.0–6.9 | 报告中包含 + 提供建议 |
| CVE — 低 | < 4.0 | 报告中仅作信息提示 |
| CVE — KEV(CISA) | 任意 | 视为严重 — 立即警报 + 必须在截止日期前确认 |
| CVE — KEV + 勒索软件 | 任意 | 🔥 最高优先级 — 立即警报,尽快确认 |
| 内核更新可用 | 任意 | 更新前必须确认 |
| 安全类包更新 | 任意 | 更新前必须确认 |
| SSH:PermitRootLogin yes | 严重 | 警报 + 确认修复 |
| SSH:PasswordAuth yes | 高 | 警报 + 确认修复 |
| SSH:端口 22 | 中 | 仅建议 |
| 空密码账户 | 严重 | 立即自动锁定 |
| 未知 root-uid 账户 | 严重 | 警报 + 确认锁定 |
| 长期未使用账户 > 90 天 | 中 | 警报 + 确认锁定 |
| /tmp 全局可写 | 中 | 自动修复(chmod) |
| 系统目录全局可写 | 高 | 警报 + 确认修复 |
| 未知 SUID 二进制文件 | 高 | 仅警报(由管理员决定) |
| 登录失败激增 > 20 次/小时 | 高 | 立即警报 |
| 新发现未知 cron 任务 | 高 | 立即警报 |
| 需要更改防火墙规则 | 任意 | 必须确认 |
| 开放意外端口 | 高 | 警报 + 确认关闭 |
| 无需运行的服务 | 中 | 警报 + 确认停止 |
| SSL 证书将在 30 天内过期 | 警告 | 警报 |
| SSL 证书已过期 | 严重 | 立即警报 |
| 磁盘使用率 > 85% | 警告 | 警报 |
| 磁盘使用率 > 95% | 严重 | 立即警报 |
| auditd 未运行 | 高 | 自动启动 + 警报 |
| fail2ban 未运行 | 高 | 自动启动 + 警报 |
| 日志文件存在可疑条目 | 高 | 警报并附上片段提取 |
| 模块 | 检查内容 | SSH MCP 命令 |
|---|---|---|
01-system | 操作系统、内核版本、运行时间、最近重启、硬件信息 | ssh_exec(op="run", sessionId, command="uname -a; cat /etc/*release") |
02-users | 用户账户、root 权限、sudo 使用、空密码、长期未使用账户 | ssh_exec(op="run", sessionId, command="cat /etc/passwd; cat /etc/shadow; ...") |
03-ssh | sshd_config 完整审计 — 20+ 检查项 + 弱加密算法/消息认证码/密钥交换(CIS 标准) | `ssh_exec(op="run", sessionId, command="cat /etc/ssh/sshd_config; sshd -T 2>/dev/null |
04-auth | 登录历史、失败登录、PAM 配置、fail2ban 自动安装 + SSH 封锁规则、密码策略强制 | ssh_exec(op="run", sessionId, command="last; cat /var/log/auth.log") |
05-services | 正在运行的服务、不必要的服务、失败的 systemd 单元 | ssh_exec(op="run", sessionId, command="systemctl list-units ...") |
06-packages | 待更新包、安全更新数量、unattended-upgrades 是否启用(仅安全更新) | ssh_exec(op="run", sessionId, command="apt list --upgradable 2>/dev/null") |
07-cve | CVE 检测 — 通过 SSH MCP 远程执行 + API 接口获取 | ssh_exec(op="run", sessionId, command="dpkg-query -W ...; curl ...") |
08-network | 开放端口、监听服务、活跃连接 | ssh_exec(op="run", sessionId, command="ss -tulpn; netstat -tulpn") |
09-firewall | iptables/nftables/ufw 规则审计 | ssh_exec(op="run", sessionId, command="iptables-save 2>/dev/null") |
10-filesystem | SUID/SGID、全局可写、/tmp、粘滞位 | ssh_exec(op="run", sessionId, command="find / -perm -4000 ...") |
11-kernel | sysctl 安全参数 — 15+ 检查项 + BPF 限制(unprivileged_bpf_disabled, bpf_jit_enable) | ssh_exec(op="run", sessionId, command="sysctl -a 2>/dev/null") |
12-logs | auth.log、syslog、kern.log — 异常行为扫描 | ssh_exec(op="run", sessionId, command="tail -100 /var/log/syslog") |
13-crons | 系统及用户 cron 任务 — 未知任务标记 | ssh_exec(op="run", sessionId, command="cat /etc/crontab; ls -la /var/spool/cron/") |
14-ssl | 所有域名/服务的证书到期时间检查 | ssh_exec(op="run", sessionId, command="openssl x509 -in ... -noout -dates") |
15-docker | 若运行中 — 镜像漏洞、容器配置、daemon.json 安全默认值(userns-remap、no-new-privileges、seccomp) | ssh_exec(op="run", sessionId, command="docker ps; docker images; cat /etc/docker/daemon.json") |
16-disk | 磁盘使用率、inode 使用率 | ssh_exec(op="run", sessionId, command="df -h; df -i") |
17-integrity | 若安装 AIDE/tripwire 则执行完整性检查 | ssh_exec(op="run", sessionId, command="aide --check") |
18-rootkit | 若安装 rkhunter/chkrootkit 则执行检测 | ssh_exec(op="run", sessionId, command="rkhunter --check --skip-keypress") |
19-cis-scoring | CIS 基准符合度评分(跨模块聚合) | (从所有模块汇总) |
20-systemd-analyze | systemd 服务沙箱 — 每个服务 80+ 安全指令 | ssh_exec(op="run", sessionId, command="systemd-analyze security --json=short 2>/dev/null") |
21-mount-hardening | 挂载点安全 — /tmp、/dev/shm、/var/tmp 上禁用 exec、setuid、device 访问 | `ssh_exec(op="run", sessionId, command="mount |
22-apparmor-selinux | AppArmor/SELinux MAC 状态 — 强制模式、受限进程 | `ssh_exec(op="run", sessionId, command="aa-status 2>/dev/null |
23-proc-hidepid | /proc hidepid 强制 — 进程可见性隔离 | `ssh_exec(op="run", sessionId, command="mount |
24-swap-encryption | 交换分区加密 — LUKS/dm-crypt 检查 | ssh_exec(op="run", sessionId, command="swapon --show 2>/dev/null") |
25-usbguard | USB 设备授权 — USBGuard 策略与守护进程状态 | ssh_exec(op="run", sessionId, command="systemctl is-active usbguard") |
26-ipv6-audit | IPv6 安全 — RA 接受、重定向、隐私扩展、NDP 加固 | ssh_exec(op="run", sessionId, command="sysctl net.ipv6.conf.all.disable_ipv6") |
执行规则:所有命令均通过 ssh_exec(op="run", sessionId, command="<command>") → ssh_exec(op="logs", commandId=cmdId) 执行。禁止本地执行。
| 等级 | 颜色 | 含义 |
|---|---|---|
CRITICAL | 🔴 | 紧急风险,需立即处理 |
HIGH | 🟠 | 显著风险,本周内修复 |
MEDIUM | 🟡 | 中等风险,本月内修复 |
LOW | 🔵 | 轻微问题,可择机处理 |
INFO | ⚪ | 信息提示,无需操作 |
PASS | 🟢 | 检查通过,一切正常 |
当需要管理员确认时:
发现项被检测到(需确认)在 <client>/<server>
↓
写入 actions/<client>/<server>/pending-confirm/<client>-<server>-<id>-<slug>.md
↓
包含在邮件报告中的“需要您决策”部分,并附带 <client>/<server> 上下文
↓
管理员回复:APPROVE <id> / DENY <id> / SKIP <id>
(完整 ID 格式:<client>-<server>-<type>-<NNN>,如:client-1-server-01-ACT-20260529-001)
↓
搜索所有 actions/*/*/pending-confirm/ 中匹配的 ID
↓
APPROVE → 代理通过 SSH MCP 连接至 <client>/<server> → 执行操作 → 记录至 history/
DENY → 操作跳过,记录备注
SKIP → 延迟至下次审计报告按服务器、客户端汇总及主报告分别发送,通过邮件插件/技能实现。
主题:[Linux Guardian] <client>/<server> — YYYY-MM-DD | 评分:N/100 | 严重:N 高:N
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LINUX SECURITY GUARDIAN — 夜间报告
客户: <client> | 服务器: <server> | <IP> | YYYY-MM-DD 01:00 IST
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
执行摘要
安全评分:N/100 | 等级:X
严重:N | 高:N | 中:N | 低:N
自动修复:N | 待确认:N | 通过:N
━━ 🔴 严重(需立即处理)
[发现详情]
━━ 🟠 高
[发现详情]
━━ ⚡ 自动操作(安全,非破坏性)
[已自动修复的内容]
━━ 🔑 需要您的决策(回复 APPROVE/DENY/SKIP <id>)
[待确认项,含 ID — 包含 <client>/<server> 前缀]
━━ 📦 CVE 报告
[按严重程度列出的 CVE]
━━ 🌐 网络与防火墙
[端口/防火墙状态]
━━ 🟡 中 / 低
[非紧急发现]
━━ 🟢 全部通过
[通过的检查项]
━━ 下次审计:明天 01:00 IST主题:[Linux Guardian] <client> 汇总报告 — YYYY-MM-DD | 服务器:N/N | 严重:N 高:N
客户: <client>
已审计服务器:N / 总数 N
平均评分:N/100
| 服务器 | 评分 | 严重 | 高 | 评分等级 |
|--------|------|------|----|----------|
| ... | ... | ... | ...| ... |
跨服务器模式:[多个服务器发现相同漏洞]score = 100
score -= (critical_count × 20)
score -= (high_count × 10)
score -= (medium_count × 3)
score -= (low_count × 1)
score = max(0, score)
等级划分:90-100 = A | 75-89 = B | 60-74 = C | < 60 = Flinux-security-guardian/
audit/
modules/ ← 01-system.md ... 26-ipv6-audit.md
results/
<client>/<server>/
critical/ high/ warning/ info/ pass/
YYYY-MM-DD-<check>.md ← 每客户端每服务器的发现记录
actions/
<client>/<server>/
auto-done/ ← 自动修复记录(已记录)
YYYY-MM-DD-<slug>.md
pending-confirm/ ← 等待确认
<id>-<slug>.md
history/ ← 所有批准/拒绝的操作记录
cve/
cve-scan.sh ← 外部 CVE 扫描脚本(接受 --client --server)
external-sources.md ← 所有 API 地址、查询参数、示例
.cache/ ← 共享缓存的 API 响应(6 小时 TTL)
<client>/<server>/
scan-results/ ← YYYY-MM-DD.md
advisories/ ← <cve-id>.md
reports/
<client>/<server>/
daily/YYYY-MM-DD.md
weekly/YYYY-WNN.md
network/
<client>/<server>/
firewall-snapshots/ ← YYYY-MM-DD-rules.txt
port-scans/ ← YYYY-MM-DD.md
proposed-changes/ ← <id>-<change>.md
hooks/
audit-runner.md ← 主审计调度器(1 AM 审计循环,支持多客户端)
on-critical.md ← 任一严重发现触发(含客户端/服务器上下文)
on-confirm-reply.md ← 处理管理员 APPROVE/DENY/SKIP 回复
pre-action.md ← 执行任何操作前的安全检查
post-action.md ← 验证操作是否成功
mail-sender.md ← 使用邮件插件/技能发送报告
crons/
active/
nightly-audit.md ← 每日凌晨 1 点 IST 的永久任务
completed/
core-extra/
config/
profile.md ← 管理员姓名、域名、邮箱(安装后填写一次,不硬编码)
hooks/ ← 共享钩子(镜像 hooks/ 结构)
templates/ ← 共享模板
errors/
raw/ ← 原始错误日志
memory/
schema.json
index.json
SOUL.md ← 代理上下文(多角色)已收录 2 个 Skill