关于 CWE-022 规则实现与传播建模方式以及是否可用于owasp benchmark测试的咨询
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia esaminando gli schemi in language/java/lib, in particolare Callable, CallableBinding e CallGraph, insieme ai file allegati TaintPath.gdl, ZipSlip.gdl, TaintedPath.ql e ZipSlip.ql. Riproduci il comportamento di risultato vuoto rispetto al database generato OWASP Benchmark v1.2 coref_java_src. Il lavoro sarà considerato completato quando sarà stato definito un approccio documentato alla modellazione source-to-sink per CWE-022 e sarà stabilito se queste regole possono essere valutate con il benchmark.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
您好,开发者团队,我是一名正在学习 CodeFuse-Query 的大二学生,目前正在基于 Sparrow 2.1.0 尝试开发漏洞检测规则。
我最近在尝试实现 CWE-022 相关规则(TaintPath 和 ZipSlip),并使用 OWASP Benchmark v1.2 作为测试数据。
目前我已经能够:
正常生成有关benchmark的2740个测试用例的 coref_java_src 数据库
阅读 language/java/lib 中的 schema(Callable、CallableBinding、CallGraph 等)
编写gdl,且排查一定的错误,但是对于schema的应用还是感到非常困惑
我遇到了一个问题:
我尝试通过 CallableBinding 构建 Source 到 Sink 的调用传播关系,例如:
Source:
HttpServletRequest.getParameter / getHeader
Sink:
java.io.File 构造函数、路径操作相关 API
规则可以正常运行,但始终返回空结果。
我目前不确定:
CodeFuse-query 是否推荐通过 Callable 调用图来实现类似污点传播分析?
是否存在官方推荐的漏洞检测规则示例可以参考?如像codeql里面的默认cwe checker(已上传,需要改一下名字)
Sparrow 2.1.0 是否对规则建模方式有新的推荐实践?
我已经编写了两个规则(TaintPath.gdl 和 ZipSlip.gdl),可以作为附件提供。
想请教一下目前实现 CWE 类漏洞规则检测的一般思路。
非常感谢。
- Lingua principale
- Java
- Stelle
- 359
- Fork
- 40
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codefuse-ai/CodeFuse-Query
-
CodeFuse支持Kotlin语言的代码解析吗?Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
codefuse-ai/CodeFuse-Query#119 ·
-
java调用链注解分析Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
codefuse-ai/CodeFuse-Query#111 · 2 commenti ·
-
java调用链生成如何根据路径过滤Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
codefuse-ai/CodeFuse-Query#110 · 1 commento ·
-
java调用链分析 如何实现按照部分类过滤Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
codefuse-ai/CodeFuse-Query#109 · 1 commento ·
-
Python的支持问题,以及 coref 的打印问题Forse di nuovo libera @xiexie l’ha presa 617 giorni fa e non c’è nessuna pull request aperta. Aperta
codefuse-ai/CodeFuse-Query#95 · 5 commenti · 2 assegnatari ·
Tutte le issue di codefuse-ai/CodeFuse-Query
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
checkstyle/checkstyle#22145 ·
I maintainer di solito rispondono entro 1 giorno
-
rset command throws NPE in ResultsFormat.guessSyntaxForse già presa @Ostrzyciel l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
objectionary/eo#9593 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100