Li CodeQL LLM: AI 驱动的安全分析 - Openclaw Skills

作者:互联网

2026-04-11

AI教程

什么是 Li CodeQL LLM 安全扫描器?

Li CodeQL LLM 技能通过将 GitHub CodeQL 引擎的精确性与大语言模型 (LLM) 的上下文智能相结合,代表了自动化安全审计的一次重大飞跃。该工具专为 Openclaw Skills 框架构建,使安全扫描的繁琐生命周期自动化——从环境搭建和数据库创建到最终报告生成。它超越了简单的模式匹配,通过使用 LLM 解析原始 SARIF 数据,识别误报,并根据特定的代码上下文提供人类可读的修复建议。

下载入口:https://github.com/openclaw/skills/tree/main/skills/43622283/li-codeql-llm

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install li-codeql-llm

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 li-codeql-llm。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Li CodeQL LLM 安全扫描器 应用场景

  • 针对 Python、JavaScript、Java 和 Go 项目的自动化安全审计,以识别 OWASP Top 10 漏洞。
  • 通过提供 LLM 总结的安全见解而非仅仅是原始日志文件,来增强 DevSecOps 流程。
  • 为安全专业人员和渗透测试人员提供快速的漏洞研究和漏洞利用验证。
  • 生成可执行的验证清单,帮助开发人员有效地确认并修复安全漏洞。
Li CodeQL LLM 安全扫描器 工作原理
  1. 环境验证:技能检查 CodeQL CLI 以及所需的语言运行时(如 Python 或 Java)。
  2. 数据库构建:构建目标源代码的关系表示,确保所有依赖项都已考虑在内。
  3. 深度查询执行:针对数据库运行专门的安全查询套件,以识别复杂的数据流问题和漏洞。
  4. 智能分析:技能从 SARIF 结果中提取发现,并利用 LLM 评估每个问题的严重程度和可利用性。
  5. 产物生成:生成标准化的 SARIF 文件,以及以人为中心的 Markdown 报告和可操作的验证清单。

Li CodeQL LLM 安全扫描器 配置指南

要开始使用此 Openclaw Skills 库的新成员,请确保您已安装 CodeQL CLI。

# Download and install CodeQL CLI
wget https://github.com/github/codeql-cli-binaries/releases/latest/download/codeql-linux64.zip
unzip codeql-linux64.zip -d /opt/codeql
ln -s /opt/codeql/codeql/codeql /usr/local/bin/codeql

# Verify installation
codeql --version

安装完成后,您可以通过向 AI 代理提供项目路径来触发扫描。

Li CodeQL LLM 安全扫描器 数据架构与分类体系

Li CodeQL LLM 技能将其输出组织为结构化报告和标准化格式,以确保在 Openclaw Skills 工作流中的互操作性:

输出文件 描述
CODEQL_SECURITY_REPORT.md 一份综合执行摘要,包括严重性分布和代码级修复建议。
Vulnerability_Checklist.md 一份供安全测试人员使用的可操作清单,包括 payload、预期结果和验证步骤。
codeql-results.sarif 标准化的静态分析结果交换格式 (SARIF),用于 IDE 或 CI/CD 仪表板。
name: Li_codeql_LLM
description: "CodeQL 安全扫描与 LLM 智能分析融合工具。自动检测 CodeQL 安装、扫描指定目录、生成漏洞报告、LLM 分析、Jenkins 集成、输出验证 Checklist。"
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["codeql"] },
        "install":
          [
            {
              "id": "codeql",
              "kind": "manual",
              "label": "安装 CodeQL CLI",
              "instructions": "从 https://github.com/github/codeql-cli-binaries 下载或使用系统包管理器安装"
            }
          ],
      }
  }

CodeQL + LLM 融合安全扫描 Skill

?? 核心功能

本 Skill 实现 CodeQL 扫描与 LLM 智能分析的完整自动化流程:

  1. 自动检测 - 检查 CodeQL 是否安装及版本
  2. 安全扫描 - 扫描指定目录或靶机项目
  3. 报告生成 - 生成 SARIF 格式和 Markdown 格式报告
  4. LLM 分析 - 智能分析扫描结果,识别误报,给出优先级
  5. 验证清单 - 生成可执行的漏洞验证 Checklist

?? 前置要求

必需

  • CodeQL CLI (v2.10.0+)
  • Python 3.11+ (用于创建数据库)
  • uvpip (Python 包管理)

可选

  • Node.js (用于某些语言的分析)
  • Java JDK (用于 Java 项目分析)

?? 快速开始

1. 检查环境

# 检查 CodeQL 是否安装
codeql --version

# 如果未安装,下载并解压
wget https://github.com/github/codeql-cli-binaries/releases/latest/download/codeql-linux64.zip
unzip codeql-linux64.zip -d /opt/codeql
ln -s /opt/codeql/codeql/codeql /usr/local/bin/codeql

2. 使用 Skill

在对话中直接请求:

扫描 /path/to/project 的安全漏洞

或指定靶机目录:

扫描 /root/devsecops-python-web 靶机,生成验证清单

?? 命令参考

基础扫描

# 扫描当前目录
codeql database create codeql-db --language=python --source-root=.
codeql database analyze codeql-db python-security-extended.qls r
  --format=sarif-latest --output=results.sarif

通过 Skill 调用

在 OpenClaw 会话中:

/codeql_scan /path/to/project

或直接描述需求:

帮我扫描这个项目,用 CodeQL 分析安全问题,然后生成报告

?? 工作流程

Step 1: 环境检测

# 检查 CodeQL
which codeql && codeql --version

# 检查支持的語言
codeql resolve languages

Step 2: 创建数据库

# Python 项目
codeql database create codeql-db r
  --language=python r
  --source-root=/path/to/project r
  --overwrite

Step 3: 运行分析

# 下载查询包
codeql pack download codeql/python-queries

# 运行分析
codeql database analyze codeql-db r
  /root/.codeql/packages/codeql/python-queries/*/codeql-suites/python-security-extended.qls r
  --format=sarif-latest r
  --output=codeql-results.sarif

Step 4: LLM 分析

将 SARIF 结果发送给 LLM:

import json

with open('codeql-results.sarif') as f:
    data = json.load(f)

# 提取关键信息
results = data['runs'][0]['results']
for r in results:
    print(f"规则:{r['ruleId']}")
    print(f"描述:{r['message']['text']}")
    print(f"位置:{r['locations'][0]['physicalLocation']['artifactLocation']['path']}")

LLM 分析内容:

  • 漏洞严重程度排序
  • 误报识别
  • 修复建议
  • 利用难度评估

Step 5: 生成报告

生成以下文件:

  1. CODEQL_SECURITY_REPORT.md - 完整扫描报告
  2. 漏洞验证_Checklist.md - 可执行的验证清单
  3. codeql-results.sarif - 原始结果(可上传 GitHub Security)

?? 使用场景

场景 1: 靶机漏洞分析

扫描 /root/devsecops-python-web 靶机
- 识别所有安全漏洞
- 按 OWASP Top 10 分类
- 生成利用 payload
- 输出验证 Checklist

场景 2: 项目安全审计

扫描 /path/to/my-project
- 检测严重和高危漏洞
- 给出修复优先级
- 生成审计报告

场景 3: CI/CD 集成

# .github/workflows/security.yml
- name: CodeQL Scan
  run: |
    codeql database create db --language=python
    codeql database analyze db python-security-extended.qls r
      --format=sarif-latest --output=results.sarif

- name: LLM Analysis
  run: |
    # 调用 LLM 分析 results.sarif
    # 生成修复建议

?? 输出文件说明

1. CODEQL_SECURITY_REPORT.md

包含:

  • 执行摘要(漏洞总数、分布)
  • 按严重程度分类的详细信息
  • 每个漏洞的代码位置、描述、修复建议
  • 统计图表

2. 漏洞验证_Checklist.md

包含:

  • 可打印的检查清单
  • 每个漏洞的验证步骤
  • 测试 payload 和命令
  • 预期结果
  • 截图/日志记录项

3. codeql-results.sarif

  • 标准 SARIF 格式
  • 可上传到 GitHub Security
  • 可用 VS Code SARIF Viewer 查看

?? 配置选项

扫描语言

# Python
--language=python

# JavaScript
--language=javascript

# Java
--language=java

# Go
--language=go

# 多语言
--language=python,javascript

查询套件

# 安全扩展(推荐)
python-security-extended.qls

# 代码质量
python-code-quality.qls

# 安全与质量
python-security-and-quality.qls

# 代码扫描(默认)
python-code-scanning.qls

输出格式

# SARIF(推荐)
--format=sarif-latest

# CSV
--format=csv

# JSON
--format=json

?? 常见问题

Q: CodeQL 数据库创建失败?

A: 确保项目可以正常构建:

# Python 项目
python -m pip install -r requirements.txt

# 然后创建数据库
codeql database create db --language=python

Q: 扫描结果太多?

A: 使用过滤:

# 只看严重和高危
codeql database analyze db python-security-extended.qls r
  --rerun --checkout=latest r
  --sarif-category=severity r
  --output=results.sarif

Q: 如何减少误报?

A:

  1. 使用 python-security-extended.qls 而非 python-code-scanning.qls
  2. 让 LLM 分析识别误报
  3. 手动验证关键漏洞

?? 相关资源

  • CodeQL 官方文档
  • CodeQL 查询套件
  • SARIF 格式规范
  • OWASP Top 10

?? 示例会话

完整流程示例

用户: 扫描 /root/devsecops-python-web 靶机

助手:

  1. ? 检测 CodeQL 已安装 (v2.22.1)
  2. ? 创建数据库 (13 个 Python 文件)
  3. ? 运行 52 条安全查询
  4. ? 发现 30 个漏洞
  5. ? 生成报告:
    • CODEQL_SECURITY_REPORT.md
    • 漏洞验证_Checklist.md
    • codeql-results.sarif

用户: 分析最严重的 3 个漏洞

助手:

  1. SQL 注入 - 行 44 - 利用:' OR '1'='1
  2. 代码注入 - 行 138 - 利用:__import__('os').system('id')
  3. 命令注入 - 行 88 - 利用:; cat /etc/passwd

详细利用方法见报告...


版本: 1.0.0
作者: OpenClaw Community
许可: MIT

相关推荐