Cargo Fuzz

设置并运行 cargo-fuzz,这是基于 Cargo 的 Rust 项目的标准模糊测试工具。涵盖 cargo fuzz init、nightly 工具链要求、fuzz_target! 测试桩、基于 Arbitrary 派生的结构化输入、sanitizer 选项、cargo fuzz coverage 以及复现崩溃工件。适用于对 Rust crate 进行模糊测试、编写 fuzz_target!、测试 Rust 中的 unsafe 块或 FFI,以及排查 cargo fuzz 崩溃问题。

概览

cargo-fuzz 是使用 Cargo 对 Rust 项目进行模糊测试的事实标准。它以 libFuzzer 作为后端,并提供了一个便捷的 Cargo 子命令,可自动为 Rust 项目启用相关的编译标志,包括对 AddressSanitizer 等 sanitizer 的支持。

使用场景

在将 Cargo Fuzz 添加到 AI agent 工作流之前对其进行评估。
将 Cargo Fuzz 作为执行可重复安全任务的起点。
将 Cargo Fuzz 与来自 skills 及其他 GitHub 仓库的相关技能进行对比。

安装说明

# Review source first
open https://github.com/trailofbits/skills/blob/main/plugins/testing-handbook-skills/skills/cargo-fuzz/SKILL.md

在查阅相关说明和脚本后,将技能文件夹复制或克隆到您的 agent skills 目录中。

安全提示

在安装 Cargo Fuzz 之前,请审查源 SKILL.md、引用的脚本、权限和外部服务。请将第三方技能视为代码依赖项,尤其是当它们能够读取文件、调用 API 或运行命令时。

相关 Skills