Install
$ agentstack add skill-aliyun-alibabacloud-ecs-troubleshoot-skills-alibabacloud-ecs-sec-kernel ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
sec-kernel
Linux 内核 CVE 漏洞检测与 PoC 验证工具。88 个内核漏洞检测器,CTF 挑战模式验证。
Version: 1.4.0 (JSON-driven architecture)
触发场景
当以下场景出现时,务必主动调用此技能:
- 检测 Linux 内核漏洞
- 验证特定 CVE 是否可利用
- 执行 PoC 三阶段验证(Prepare → Run → Post)
- 内核安全评估或审计
- 用户提到 "内核安全"、"CVE"、"提权漏洞"、"PoC" 等关键词
- 需要判断当前内核版本是否存在已知漏洞
- 执行本地提权(LPE)路径验证
⚠️ 安全声明
> PoC 验证可能导致 kernel crash (panic/hang/deadlock),建议在隔离的虚拟机/可快照环境中运行。 > PoC 不会永久改写系统文件,不会进行持久化提权。所有临时修改均在 Post 阶段完整恢复。 > 使用本工具即表示您同意遵守 [完整安全声明](references/SECURITY-DISCLAIMER.md) 中的所有条款。 > 违规使用需承担全部法律责任。
快速使用
# 从 skill 根目录执行:
# 需要 root 权限(sudo)
# 全量检测与 PoC 验证(默认对所有 enabled 的 CVE 执行 PoC)
sudo python3 -m scripts --verbose
# 单 CVE 验证
sudo python3 -m scripts --cve-id CVE-2026-31431 -v
# 列出所有检测器(无需 root)
python3 -m scripts --list-detectors
# 自动编译缺失的 PoC 二进制
sudo python3 -m scripts --compile-poc -v
# 输出 JSON 格式报告
sudo python3 -m scripts --format json -v
CLI 参数
| 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | --mode | choice | host | 运行模式(仅 host,Linux 服务器环境) | | --poc-output | path | ./workspace | PoC 证据输出目录 | | --poc-timeout | int | 30 | PoC 执行超时时间(秒) | | --no-prepare | flag | off | 跳过 Prepare 阶段 | | --no-post | flag | off | 跳过 Post 阶段 | | --poc-user | string | nobody | Run 阶段执行用户(降权执行) | | --no-force-demote | flag | off | 不强制降权到非特权用户 | | --compile-poc | flag | off | 自动编译缺失的 PoC 二进制文件(plain 模式) | | --output-dir | path | ./workspace | 报告输出目录 | | --format | choice | markdown | 报告格式(markdown / json) | | --cve-id | string | - | 仅检测指定 CVE | | --config | path | - | 配置文件路径 | | --verbose / -v | flag | off | 详细输出 | | --list-detectors | flag | off | 列出所有检测器(无需 root) |
关键参数说明
默认行为: 所有在 kernel_cves.yaml 中 enabled: true 的 CVE 都会自动执行 PoC 验证,无需额外参数。唯一跳过 PoC 的条件是将 CVE 设置为 enabled: false。
--compile-poc: 当 poc-bin/ 目录下缺少对应 ELF binary 时,自动调用 poc-src/build.sh 编译。仅在 plain 模式(源码部署)下生效。 > Why: 本地编译确保 PoC 源码不出环境,源码仅存在于有 git 的开发机器上,编译产物才会同步到远程。
--no-prepare / --no-post: 跳过三阶段验证中的 Prepare 或 Post 阶段。用于调试目的,生产环境建议保留完整三阶段。
--poc-user: Run 阶段以指定用户身份执行 PoC binary,默认 nobody(uid=65534)。用于验证 LPE(本地提权)路径。
--no-force-demote: 默认情况下 PoC 执行会强制降权到 --poc-user 指定的非特权用户。此参数禁用强制降权。
为什么需要 sudo(root 权限)
PoC 三阶段验证需要 root 权限的原因:
- Phase 1 (Prepare): 需要加载内核模块(
modprobe algif_aead、modprobe esp4等)、创建 root 拥有的目标文件、配置 xfrm SA/SP 等安全策略 - Phase 3 (Post): 需要读取 root 文件验证写入结果、卸载内核模块、清理 xfrm 状态、恢复系统状态
- 权限分离: Phase 2 (Run) 故意降权到 nobody,以验证漏洞是否能让非特权用户越权操作
为什么使用 CTF 模式
CTF 挑战模式的设计理由:
- 客观验证: 通过文件内容的读/写来客观证明漏洞是否触发,而非主观判断
- 提权证据: nobody 用户成功写入 root 文件 = 证明存在 LPE 路径
- 安全约束: PoC 不会真正执行
setuid(0),只是通过文件操作证明漏洞可被利用 - 可复现性: CTF flag 每次随机生成,确保每次验证都是真实触发而非缓存结果
检测器统计
| 指标 | 数量 | |------|------| | 总检测器数 | 88 | | writerootfile 模式 | 84 | | readrootfile 模式 | 24 | | uaf 模式 | 5 |
新增功能 (v1.2.0)
PoC 执行统计模块
每次执行完成后自动输出详细统计报表,包含:
- SUCCESS(EXPLOITABLE / NOT_EXPLOITABLE)分类统计
- FAILED(TIMEOUT / CRASH / MISSINGBIN / PARSEERROR / PERMISSION)细分
- SKIPPED(NO_MODULE)
- 失败分析(root cause + recommendation + 是否为 PoC 实现问题)
三种 PoC 模式标准化
| 模式 | 目标文件权限 | 验证方式 | 数量 | |------|-------------|---------|------| | write_root_file | root:root 0644 | nobody 通过内核漏洞写入 root 文件 | 86 | | read_root_file | root:root 0400 | nobody 通过内核漏洞读取 root 文件 | 24 | | uaf | N/A | Use-After-Free 利用验证 | 5 |
增强的证据展示
- CTF flag 验证(write 模式:写入并回读确认;read 模式:读取受保护内容)
- 失败分析引擎(自动判定 root cause 并给出修复建议)
- PoC 实现问题标记(
[PoC-IMPL]标签区分环境问题和代码问题) - 三阶段完整证据链输出
输出格式
检测摘要
==============================================================
sec-kernel v1.4.1 - Linux Kernel CVE Detection
==============================================================
Kernel: 5.15.0-91-generic (x86_64)
Mode: host (Linux Server)
==============================================================
==============================================================
Detection Summary
==============================================================
Total CVEs checked: 88
Vulnerable: 3
Not Vulnerable: 80
Uncertain: 2
PoC Exploitable: 2
Execution time: 45.32s
==============================================================
PoC 执行统计
================================================================
sec-kernel PoC Execution Statistics
================================================================
Total Detectors: 88 (with PoC capability)
PoC Executed: 83
------------------------------------------------------------
SUCCESS (ran correctly): 78
+- EXPLOITABLE: 2 (vulnerability confirmed)
+- NOT_EXPLOITABLE: 76 (kernel patched/mitigated)
------------------------------------------------------------
FAILED (execution error): 5
+- TIMEOUT: 2
+- CRASH: 1
+- MISSING_BIN: 0
+- PARSE_ERROR: 2
+- PERMISSION: 0
------------------------------------------------------------
SKIPPED: 2
+- NO_MODULE: 2
------------------------------------------------------------
Execution Time: 45.32s
================================================================
CTF 挑战模式输出示例
⚠️ SECURITY DISCLAIMER / 安全声明
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本工具仅限在已授权的隔离测试环境中使用。
严禁用于生产环境或未授权系统。违规使用需承担全部法律责任。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Phase 1: Prepare] (root)
✓ Loaded kernel module: algif_aead
✓ Created target file: /tmp/sec-kernel-poc-XXXX/poc_target (root:root 0644)
✓ Initial content: writeme_a3f8b2c1
[Phase 2: Run] (nobody, uid=65534)
CTF_READ_BEFORE:writeme_a3f8b2c1
CTF_WRITE:ctf{164d74cd804f9361} (attempting...)
CTF_READ_AFTER:ctf{164d74cd804f9361}
CTF_FLAG:ctf{164d74cd804f9361}
POC_RESULT:EXPLOITABLE
[Phase 3: Post] (root)
✓ File content verified: ctf{164d74cd804f9361} ✓ MATCH
✓ Cleanup completed
✓ System state restored
[RESULT] CVE-2026-31431: EXPLOITABLE (confidence=0.95)
关键输出字段
| 字段 | 含义 | |------|------| | CTF_READ_BEFORE: | PoC 执行前读取的原始文件内容 | | CTF_WRITE: | PoC 尝试写入的 CTF 值 | | CTF_READ_AFTER: | PoC 执行后读取的文件内容 | | CTF_FLAG:ctf{xxx} | 漏洞利用成功的标志值 | | POC_RESULT:EXPLOITABLE | 漏洞可利用 | | POC_RESULT:NOT_EXPLOITABLE | 漏洞不可利用(内核已修复) |
结果判定
| 结果 | 含义 | 建议操作 | |------|------|----------| | EXPLOITABLE | 当前内核存在可利用漏洞 | 立即升级内核 | | NOTEXPLOITABLE | 漏洞条件不满足或已修复 | 无需操作 | | DETECTIONONLY | 版本匹配但未执行 PoC | 建议进一步验证 |
CTF 提权验证证据
以下 CVE 已在真实内核环境中通过 CTF 挑战模式验证提权成功(EXPLOITABLE),CTF flag 每次随机生成。
CVE-2026-31431 (CRITICAL) - AF_ALG AEAD splice 页缓存污染
[Phase 1: Prepare] (root)
Created CTF target: /tmp/sec-kernel-poc-XXXX/poc_target_canary
mode=write_root_file, uid=0, perm=644
Initial content: writeme_f9de12afe0d6da5a
[Phase 2: Run] (nobody, uid=65534)
CTF_WRITE:ctf{dddb28301f24e3db} (attempting...)
CTF_FLAG:ctf{dddb28301f24e3db}
POC_RESULT:EXPLOITABLE
[Phase 3: Post] (root)
CTF write_root_file PASSED: inner value matches (dddb28301f24e3db)
Rollback executed: target file removed
System state restored
[RESULT] CVE-2026-31431: EXPLOITABLE (confidence=0.95)
Kernel: 6.6.87.2-microsoft-standard-WSL2
Exploit path: AF_ALG AEAD authencesn + splice() -> page cache corruption
CVE-2026-PENDING-DIRTYFRAG (CRITICAL) - DirtyFrag ESP+RxRPC 双变体
[Phase 1: Prepare] (root)
Created CTF target: /tmp/sec-kernel-poc-XXXX/poc_target_dirtyfrag
mode=write_root_file, uid=0, perm=644, size=4096
Module state snapshot: esp4=loaded
[Phase 2: Run] (nobody, uid=65534)
CTF_WRITE:ctf{ab2084cd52cdad11} (attempting via rxrpc/rxkad...)
RxRPC variant failed (EAFNOSUPPORT), trying ESP/xfrm fallback...
CTF_WRITE:ctf{ab2084cd52cdad11} (attempting via esp/xfrm fallback...)
CTF_FLAG:ctf{ab2084cd52cdad11}
POC_RESULT:EXPLOITABLE
[Phase 3: Post] (root)
CTF write_root_file PASSED: inner value matches (ab2084cd52cdad11)
Rollback executed: target file removed
System state restored
[RESULT] CVE-2026-PENDING-DIRTYFRAG: EXPLOITABLE (confidence=0.95)
Kernel: 6.6.87.2-microsoft-standard-WSL2
Exploit path: ESP/xfrm variant (RxRPC fallback) -> splice() page cache write
Dual-variant: RxRPC (Ubuntu 24.04) / ESP (WSL2) automatic fallback
三阶段执行流程
Phase 1 (root): 准备环境 — 加载模块、创建目标文件、记录初始状态
Phase 2 (nobody): 执行 PoC — 读原值 → 漏洞利用写入 → 读回验证
Phase 3 (root): 验证清理 — 独立确认写入结果、恢复系统状态
支持的 CVE
完整 CVE 检测列表见 [references/cve-list.md](references/cve-list.md)(88 个内核漏洞检测器,全部启用 CTF 挑战模式验证)。
覆盖子系统:Netfilter/nftables (18) | eBPF/BPF (8) | Network/Socket (12) | TLS (7) | iouring (3) | Memory/Page Cache (5) | Filesystem (3) | IPsec/xfrm (3) | ptrace/cred (3) | Others (23)
系统要求
- Linux x86_64
- Python 3.8+
- root 权限(sudo)
- 内核模块加载能力(modprobe)
日志
PoC 执行日志:workspace/poc-{CVE-ID}.log 回退路径:/tmp/poc-{CVE-ID}.log(workspace 不可写时)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: aliyun
- Source: aliyun/alibabacloud-ecs-troubleshoot-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.