sec-kernel

SkillSecurity

This skill checks Linux systems for known kernel vulnerabilities, covering 88 kernel CVEs from 2003 to 2026 across subsystems like Netfilter, eBPF, TLS, io_uring, and xfrm. Once added, your AI can scan a machine for local privilege escalation flaws and verify whether each one is actually exploitable. It confirms a vulnerability works by testing whether an unprivileged user can use it to read or write root-owned files.

Available today. Use it from your connected AI after setup.

Add the skill and ask your AI to scan a Linux machine for kernel vulnerabilities. The checks need root (sudo) access to run, so make sure that is available on the target system.

Then ask your AI: use the sec-kernel skill

What your AI can do with it

  • Detect 88 known Linux kernel CVEs from 2003 to 2026
  • Find privilege escalation flaws in subsystems like Netfilter, eBPF, TLS, io_uring, and xfrm
  • Verify whether a vulnerability is actually exploitable, not just present
  • Compile proof-of-concept tests from source on demand, with no prebuilt binaries needed
  • Pair with user-space intrusion detection for a fuller security assessment

What this skill tells your AI

The instructions your AI receives, as published by aliyun/alibabacloud-ecs-troubleshoot-skills in skills/alibabacloud-ecs-sec-kernel/SKILL.md and read by ahel’s review.

Linux 内核 CVE 漏洞检测与 PoC 验证工具。88 个内核漏洞检测器,CTF 挑战模式验证。

Version: 1.4.1 (JSON-driven architecture)

触发场景

当以下场景出现时,务必主动调用此技能:

  • 检测 Linux 内核漏洞
  • 验证特定 CVE 是否可利用
  • 执行 PoC 三阶段验证(Prepare → Run → Post)
  • 内核安全评估或审计
  • 用户提到 "内核安全"、"CVE"、"提权漏洞"、"PoC" 等关键词
  • 需要判断当前内核版本是否存在已知漏洞
  • 执行本地提权(LPE)路径验证

⚠️ 安全声明

PoC 验证可能导致 kernel crash (panic/hang/deadlock),建议在隔离的虚拟机/可快照环境中运行。 PoC 不会永久改写系统文件,不会进行持久化提权。所有临时修改均在 Post 阶段完整恢复。 使用本工具即表示您同意遵守 完整安全声明 中的所有条款。 违规使用需承担全部法律责任。

快速使用

# 从 skill 根目录执行:

# 需要 root 权限(sudo)

# 首次运行:编译 PoC 二进制 + 全量检测(推荐)
sudo python3 -m scripts --compile-poc --verbose

# 全量检测与 PoC 验证(poc-bin 已编译后)
sudo python3 -m scripts --verbose

# 单 CVE 验证
sudo python3 -m scripts --cve-id CVE-2026-31431 -v

# 列出所有检测器(无需 root)
python3 -m scripts --list-detectors

# 输出 JSON 格式报告
sudo python3 -m scripts --format json -v

CLI 参数

参数类型默认值说明
--modechoicehost运行模式(仅 host,Linux 服务器环境)
--poc-outputpath./workspacePoC 证据输出目录
--poc-timeoutint30PoC 执行超时时间(秒)
--no-prepareflagoff跳过 Prepare 阶段
--no-postflagoff跳过 Post 阶段
--poc-userstringnobodyRun 阶段执行用户(降权执行)
--no-force-demoteflagoff不强制降权到非特权用户
--compile-pocflagoff自动编译缺失的 PoC 二进制文件(plain 模式)
--output-dirpath./workspace报告输出目录
--formatchoicemarkdown报告格式(markdown / json
--cve-idstring-仅检测指定 CVE
--configpath-配置文件路径
--verbose / -vflagoff详细输出
--list-detectorsflagoff列出所有检测器(无需 root)

关键参数说明

默认行为: 所有在 kernel_cves.yamlenabled: true 的 CVE 都会自动执行 PoC 验证,无需额外参数。唯一跳过 PoC 的条件是将 CVE 设置为 enabled: false

--compile-poc: 当 poc-bin/ 目录下缺少对应 ELF binary 时,自动调用 poc-src/build.sh 编译。首次运行时必须使用此参数(poc-bin/ 不再随仓库分发,需从源码动态编译)。

Why: PoC 二进制从源码动态编译,避免在 git 中存储大量 ELF 文件。编译采用静态链接 + strip,确保跨发行版兼容。

--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_aeadmodprobe 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
write_root_file 模式84
read_root_file 模式24
uaf 模式5

新增功能 (v1.2.0)

PoC 执行统计模块

每次执行完成后自动输出详细统计报表,包含:

  • SUCCESS(EXPLOITABLE / NOT_EXPLOITABLE)分类统计
  • FAILED(TIMEOUT / CRASH / MISSING_BIN / PARSE_ERROR / PERMISSION)细分
  • SKIPPED(NO_MODULE)
  • 失败分析(root cause + recommendation + 是否为 PoC 实现问题)

三种 PoC 模式标准化

模式目标文件权限验证方式数量
write_root_fileroot:root 0644nobody 通过内核漏洞写入 root 文件86
read_root_fileroot:root 0400nobody 通过内核漏洞读取 root 文件24
uafN/AUse-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当前内核存在可利用漏洞立即升级内核
NOT_EXPLOITABLE漏洞条件不满足或已修复无需操作
DETECTION_ONLY版本匹配但未执行 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(88 个内核漏洞检测器,全部启用 CTF 挑战模式验证)。

覆盖子系统:Netfilter/nf_tables (18) | eBPF/BPF (8) | Network/Socket (12) | TLS (7) | io_uring (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 不可写时)

Signals

GitHub stars
147
Forks
11
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
alibabacloud-ecs-sec-kernel
Source
github.com/aliyun/alibabacloud-ecs-troubleshoot-skills