weggli C/C++ 代码库语义搜索工具开源项目

我要开发同款
白开水不加糖2021年10月12日
141阅读
开发技术Rust
所属分类代码管理分析/审查/优化、开发工具
授权协议Apache-2.0

作品详情

weggli是一个快速且强大的C和C++代码库语义搜索工具,旨在帮助安全研究人员识别大型代码库中的有趣功能。

weggli根据用户提供的查询对抽象语法树执行模式匹配。它的查询语言类似于C和C++代码,可以轻松将有趣的代码模式转换为查询。

weggli受到 Semgrep、Coccinelle、joern 和 CodeQL 等工具的启发,但做出了一些不同的设计决策:

C++支持:weggli对现代C++构造提供一流的支持,例如lambda表达式、基于范围的for循环和constexprs。

Minimalsetup:weggli应该对你会遇到的大多数软件开箱即用。weggli不需要构建软件的能力,并且可以使用不完整的源或缺少的依赖项。

Interactive :weggli是为交互式使用和快速查询性能而设计的。大多数情况下,weggli查询会比grep搜索快。目标是启用交互式工作流,可以在代码审查和查询创建/改进之间快速切换。

Greedy:weggli的模式匹配旨在为特定查询找到尽可能多的(有用的)匹配项。虽然这会增加误报的风险,但它简化了查询创建。例如,查询 $x=10;将匹配赋值表达式( foo=10;)和声明( intbar=10;)。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论