• 2024-10-29CodeQL学习笔记(3)-QL语法(模块、变量、表达式、公式和注解)
    最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于
  • 2024-10-28CodeQL学习笔记(2)-QL语法(递归)
    最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于
  • 2024-10-25CodeQL学习笔记(1)-QL语法(逻辑连接词、量词、聚合词、谓词和类)
    最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于
  • 2024-10-23CodeQL和数据流分析的简介
    文章目录前言一、CodeQL简介二、编写污点跟踪查询扩展传播功能总结前言最近,CodeQL使用非常广泛(GitHub开发的一种强大的静态分析工具)来将代码扫描作为CI/CD管道的一部分。其核心是QL语言,它用于编写对代码进行推理的查询。与竞争对手相比,CodeQL擅长污点跟踪
  • 2024-08-08CodeQL安装及使用
    一、关于CodeQL1.CodeQL简介CodeQL是一种将查询语言的概念引入源代码分析的工具,为开发者提供了全新的方式来发现和理解代码中的潜在问题。自2019年GitHub收购Semmle并将CodeQL集成到其平台以来,CodeQL已成为GitHubAdvancedSecurity功能的一部分,通过GitHub的CodeScanning功能,用
  • 2024-03-20CodeQL基础
    CodeQL基础及语法安装及环境codeql解析引擎:https://github.com/github/codeql-cli-binaries/releases(可以添加环境变量)SDK:https://github.com/github/codeqlmkdir~/codeql&&cd~/codeqlwgethttps://github.com/github/codeql-cli-binaries/releases/download/v2.8.4/cod
  • 2024-01-11CodeQL基本使用
    0x01安装codeql去github下载一个对应版本的codeql捆绑包。https://github.com/github/codeql-action/releases然后解压,这里我是解压到桌面然后用添加到环境变量中然后在任意位置输入codeql命令,如果能有以下提示就表示安装成功然后下载vscode,并且给vscode安装codeql扩展0x02创
  • 2024-01-11CodeQL基本使用
    0x01安装codeql去github下载一个对应版本的codeql捆绑包。https://github.com/github/codeql-action/releases然后解压,这里我是解压到桌面然后用添加到环境变量中然后在任意位置输入codeql命令,如果能有以下提示就表示安装成功然后下载vscode,并且给vscode安装codeql扩
  • 2023-12-01CodeQL初探
    一、CodeQL的研发背景最早期,安全人员会通过人工审计的方式来审计项目代码,查找危险函数,并跟进危险函数的参数是否可控,如果可控,说明存在安全漏洞。但是随着项目数量的增加,以上的纯靠人工的方式很难实现所有项目漏洞的覆盖测试。所以出现了一些辅助人工审计的工具,比如前几年比较火
  • 2023-07-24codeQL 笔记
    codeQLCodeQL是一种代码分析引擎,通过CodeQL可以根据已知的安全漏洞,在其他源代码中查找相似的安全问题。谓词定义方式类似于函数,和Java有点像的是在定义的时候需要指定是否有返回值,如果有返回值则需要以返回类型开头,如果没有返回值,则使用predicate开头predicatesouthern(Perso
  • 2023-07-11CodeQL与AST之间联系
    前言为什么要学习Java抽象语法树呢?在计算机科学中,抽象语法树(abstractsyntaxtree 或者缩写为 AST),或者语法树(syntaxtree),是源代码的抽象语法结构的树状表现形式,这里特指编程语言的源代码。树上的每个节点都表示源代码中的一种结构。先用一个示例来看看AST作用`javapackagec
  • 2023-06-14CodeQL学习实践
    CodeQL简介CodeQL是一个非商业的开源代码自动化审计工具,Github收购后,开源了CodeQL的规则部分,所以收集了大量的规则,安全工程师可以依赖CodeQL的规则实现对多种开发语言项目的代码审计工作CodeQL原理CodeQL将代码转化成可查询数据库,代码被视为数据,漏洞、bug、错误,被建模为可针对
  • 2023-04-23CODEQL使用简介
    codeqlcodeql是一个可以对代码进行分析的引擎,安全人员可以用它作为挖洞的辅助或者直接进行挖掘漏洞,节省进行重复操作的精力下载:解析引擎:https://github.com/github/codeql-cli-binaries/releasesSDK(规则库):https://github.com/github/codeql使用方式简介:1.解压解析引擎,
  • 2023-01-15CodeQL练习1
    CodeQL官方准备了一些无关编程语言的QL语言练习,我这里整理稍许来记录学习一下。QL是一种逻辑编程语言,所以它是由逻辑公式构成的。QL使用常见的逻辑连接词(如and、or、not)、
  • 2023-01-01DevSecOps之静态代码分析(浅)
    什么是静态代码分析静态应用安全测试(SAST)也称静态分析,是一种测试方法,通过分析源代码发现容易让组织的应用受到攻击的安全漏洞。SAST在编译代码之前扫描应用。它也称
  • 2022-12-26CodeQL的自动化代码审计之路(下篇)
    0x01前言在上一篇文章中,我们基于CodeQL官方提供的sdk实现了自动化查询数据库功能,在文章中也提到实现完整的自动化代码审计还缺少“数据库生成”相应的功能,本文主要针对“数
  • 2022-11-14为提高 SDLC 安全,GitHub 发布新功能|GitHub Universe 2022
    GitHubUniverse2022于上周举办。在此次大会上,Github公布了开源软件状态的最新报告,报告中的统计数据显示,90%的公司都在使用开源,现在GitHub上有9400万用户,2022年有高
  • 2022-11-11CodeQL的自动化代码审计之路(上篇)
    0x01前言最近关于CodeQL的概念很火,大家普遍认为这会是下一代的代码审计神器。网上关于CodeQL的文章已经有不少,但是多数文章还是在分析CodeQL的安装和简单使用用例。真正使