关于 CWE-022 规则实现与传播建模方式以及是否可用于owasp benchmark测试的咨询
还没有人认领这个 Issue。
评估
调研方向
首先检查 language/java/lib 中的 schemas,尤其是 Callable、CallableBinding 和 CallGraph,以及随附的 TaintPath.gdl、ZipSlip.gdl、TaintedPath.ql 和 ZipSlip.ql 文件。针对生成的 OWASP Benchmark v1.2 coref_java_src 数据库复现空结果行为。完成标准是建立关于 CWE-022 source-to-sink 建模的文档化方法,并确定这些规则是否可以使用 benchmark 进行评估。
由索引模型根据 Issue 内容生成。
描述
您好,开发者团队,我是一名正在学习 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 类漏洞规则检测的一般思路。
非常感谢。
- 主要语言
- Java
- 星标
- 359
- 派生
- 40
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
codefuse-ai/CodeFuse-Query 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 35/100
codefuse-ai/CodeFuse-Query#119 ·
-
java调用链注解分析未关闭
难度 5/5 一周以上 新手友好度 25/100
codefuse-ai/CodeFuse-Query#111 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
codefuse-ai/CodeFuse-Query#110 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 30/100
codefuse-ai/CodeFuse-Query#109 · 1 条评论 ·
-
Python的支持问题,以及 coref 的打印问题可能重新可做 @xiexie 于 618 天前认领,目前没有进行中的 PR。 未关闭
codefuse-ai/CodeFuse-Query#95 · 5 条评论 · 已指派 2 人 ·
查看 codefuse-ai/CodeFuse-Query 的全部 Issue
相似的 Issue
-
code-maintenance
难度 2/5 1-3 小时 新手友好度 77/100
维护者通常 1 天内回复
-
bug priority: medium Review effort [1-5]: 3 status: needs-triage type: bug
难度 2/5 1-3 小时 新手友好度 82/100
carlos-emr/carlos#5258 ·
维护者通常 1 天内回复
-
bug: author create/update with an unknown avatarId returns 404 instead of 400 UNKNOWN_REFERENCE可能已有人在做 @Vinu2111 今天认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 74/100
atomityhq/blog-cms#59 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's Maven可能已有人在做 @kou 今天认领。 未关闭Type: bug
难度 2/5 1-3 小时 新手友好度 72/100
apache/arrow-adbc#4947 ·
维护者通常 1 天内回复