关于 CWE-022 规则实现与传播建模方式以及是否可用于owasp benchmark测试的咨询
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece revisando os schemas em language/java/lib, especialmente Callable, CallableBinding e CallGraph, junto com os arquivos anexados TaintPath.gdl, ZipSlip.gdl, TaintedPath.ql e ZipSlip.ql. Reproduza o comportamento de resultado vazio usando o banco de dados gerado OWASP Benchmark v1.2 coref_java_src. Considera-se concluído quando for estabelecida uma abordagem documentada para a modelagem source-to-sink de CWE-022 e se essas regras podem ser avaliadas com o benchmark.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
您好,开发者团队,我是一名正在学习 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 类漏洞规则检测的一般思路。
非常感谢。
- Linguagem predominante
- Java
- Estrelas
- 359
- Forks
- 40
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de codefuse-ai/CodeFuse-Query
-
CodeFuse支持Kotlin语言的代码解析吗?Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
codefuse-ai/CodeFuse-Query#119 ·
-
java调用链注解分析Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
codefuse-ai/CodeFuse-Query#111 · 2 comentários ·
-
java调用链生成如何根据路径过滤Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
codefuse-ai/CodeFuse-Query#110 · 1 comentário ·
-
java调用链分析 如何实现按照部分类过滤Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
codefuse-ai/CodeFuse-Query#109 · 1 comentário ·
-
Python的支持问题,以及 coref 的打印问题Talvez livre de novo @xiexie assumiu há 618 dias e não há nenhum pull request aberto. Aberta
codefuse-ai/CodeFuse-Query#95 · 5 comentários · 2 responsáveis ·
Todas as issues de codefuse-ai/CodeFuse-Query
Issues semelhantes
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's MavenTalvez já em andamento @kou assumiu hoje. AbertaType: bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
apache/arrow-adbc#4947 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
lysine-dev/okhttp#9814 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
1.20.1-FORGE bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
MehVahdJukaar/WoodGood#1348 ·
-
documentation faq
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100