[Learning CodeQL] [CodeQL queries][Creating path queries]

Overview

source:起點(diǎn)
sink:終點(diǎn)

Constructing a path query

針對(duì)C/C++, C#, Java, 和JavaScript的常用模板如下:

/**
 * ...
 * @kind path-problem
 * ...
 */

import <language>
import DataFlow::PathGraph
...

from Configuration config, DataFlow::PathNode source, DataFlow::PathNode sink
where config.hasFlowPath(source, sink)
select sink.getNode(), source, sink, "<message>"

其中:
DataFlow::PathGraph表示需要引入的CodeQL path graph module的標(biāo)準(zhǔn)類庫(kù)
sourcesink表示path graph上的節(jié)點(diǎn),DataFlow::PathNode是他們的類型。
Configuration是一個(gè)類,其中包括定義了data如何從source流向sink的predicates。

針對(duì)python需要使用一個(gè)不同的模板:

/**
 * ...
 * @kind path-problem
 * ...
 */

import python
import semmle.python.security.Paths
...

from TaintedPathSource source, TaintedPathSink sink
where source.flowsTo(sink)
select sink.getNode(), source, sink, "<message>"

semmle.python.security.Paths表示從CodeQL標(biāo)準(zhǔn)類庫(kù)中引入的path graph模塊。
sourcesink是path graph上的節(jié)點(diǎn), TaintedPathSource和TaintedPathSink分別表示他們的類型。
在python中不需要聲明一個(gè)配置類。

References

https://help.semmle.com/QL/learn-ql/writing-queries/path-queries.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Astronomygonova - A wrapper for libnova -- Celestial Mech...
    JumboWu閱讀 9,389評(píng)論 0 41
  • CodeQL查詢用于分析代碼以發(fā)現(xiàn)安全性、正確性、可維護(hù)性及可讀性相關(guān)的問(wèn)題。 概述 針對(duì)每種支持的語(yǔ)言,Code...
    growing27閱讀 359評(píng)論 0 0
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,787評(píng)論 16 22
  • 創(chuàng)業(yè)是很多人的夢(mèng)想,多少人為了理想和不甘選擇了創(chuàng)業(yè)來(lái)實(shí)現(xiàn)自我價(jià)值,我就是其中一個(gè)。 創(chuàng)業(yè)后,我由女人變成了超人,什...
    亦寶寶閱讀 1,982評(píng)論 4 1
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開(kāi)了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽(tīng)閱讀 10,798評(píng)論 0 11

友情鏈接更多精彩內(nèi)容