在CentOS 7安装配置CodeQL与运行QL扫描

1. 引言

本文讲解CodeQL在CentOS 7下的环境配置,以及运行CodeQL-CLI扫描django源码的过程。

2. 环境

  1. 为CentOS7安装配置JDK-11

    wget https://mirrors.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_linux-x64_bin.tar.gz
    sudo tar -zxvf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/
    sudo ln -s /usr/local/jdk-11.0.2 /usr/local/jdk11
    echo 'export JAVA_HOME=/usr/local/jdk11' >> ~/.bashrc
    echo 'export PATH=JAVA_HOME/bin:PATH' >> ~/.bashrc
    source ~/.bashrc

配置成功后可以看到:

复制代码
java --version
java 11.0.2 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
  1. 下载安装CodeQL-CLI

下面是下载安装CodeQL-CLI的过程。

复制代码
wget -c  https://github.com/github/codeql-cli-binaries/releases/download/v2.23.8/codeql-linux64.zip
unzip codeql-linux64.zip
echo 'export PATH="$PATH:$HOME/code/codeql"' >> ~/.bashrc
source ~/.bashrc

wget下载不稳定时,-c参数可以做到断点续传。

复制代码
$ codeql version
CodeQL command-line toolchain release 2.23.8.
Copyright (C) 2019-2025 GitHub, Inc.
  1. 下载安装CodeQL-CLI的Pack依赖

    克隆官方 CodeQL 仓库(包含 C/C++、Python 等语言的标准库和查询 Pack)

    git clone https://github.com/github/codeql.git codeql-repo

    进入仓库并拉取最新 Pack

    cd codeql-repo
    git checkout main
    git pull
    cd ..

    安装 C/C++ Pack 依赖(自动下载缺失依赖)

    codeql pack install codeql-repo/cpp/ql/src # 核心分析库

    安装 Python Pack 依赖

    codeql pack install codeql-repo/python/ql/src

最终输入如下命令,运行正常(参考1)则说明配置成功。

复制代码
codeql resolve packs

3. 运行

  1. 下载django源码

    git clone https://github.com/django/django.git

  2. 为django源码创建codeql数据库(参考2)

    codeql database create codeql-django-db --language=python --source-root=django

  3. 运行codeql扫描代码(参考3)

    codeql database analyze codeql-django-db codeql-repo/python/ql/src/Classes/UselessClass.ql --format=sarif-latest --output=log.sarif

4. 参考

  1. https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli
  2. https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis
  3. https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries
相关推荐
谙弆悕博士17 分钟前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
.道阻且长.25 分钟前
Linux基本开发工具:编译器gcc/g++
linux·运维·服务器·职场和发展
Industio_触觉智能29 分钟前
瑞芯微RK系列调试工具与量产测试手册-上|串口日志打通与JTAG兜底调试
linux·sdk·jtag·瑞芯微·调试工具·rk3576·量产调试
Decay__7 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子9 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF9 小时前
Linux
linux·服务器·网络
万联WANFLOW9 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery11 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__12 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
丰锋ff13 小时前
压缩命令笔记
linux