14个版本
0.9.0 | 2024年6月20日 |
---|---|
0.8.1 | 2023年3月21日 |
0.7.2 | 2022年12月1日 |
0.7.1 | 2022年11月29日 |
0.5.6 | 2022年9月12日 |
#100 in 编程语言
每月138 次下载
600KB
14K SLoC
Circomspect 🔎
Circomspect 是 Circom 编程语言的静态分析器和代码检查器。该代码库大量借鉴了由 iden3 开发的 Rust Circom 编译器。
Circomspect 当前实现了一些分析过程,可以识别 Circom 电路中的潜在问题。我们的目标是继续添加新的分析过程,以便未来能够检测到更多问题。
安装 Circomspect
Circomspect 可在 crates.io 上找到,可以通过调用安装。
cargo install circomspect
要从源代码构建 Circomspect,只需克隆仓库,在项目根目录中运行 cargo build
即可。要从源代码安装,请使用
cargo install --path cli
运行 Circomspect
要在一个文件或目录上运行 Circomspect,只需运行
circomspect path/to/circuit
默认情况下,Circomspect 将警告和错误输出到 stdout。要查看信息性结果,您可以使用 --level
选项设置输出级别。要忽略某些类型的输出,您可以使用 --allow
选项与相应的结果 ID 一起使用。(结果 ID 可以通过向 Circomspect 传递 --verbose
标志来获取。)
要将结果输出到 Sarif 文件(可由 VSCode Sarif Viewer 读取),请使用选项 --sarif-file
。
Circomspect 支持Circom相同的曲线:BN254、BLS12-381 和 Goldilocks。如果您使用的是默认曲线(BN254)之外的曲线,您可以使用命令行选项 --curve
设置曲线。
分析过程
Circomspect 实现了针对多种不同类型问题的分析过程。完整列表及其每个问题的概述可以在 此处 找到。
依赖项
~12–22MB
~317K SLoC