用途:讲解 Yakit 插件体系中的“原生插件”(保存为 YakScript,有独立执行页与参数表单)与“热加载”(MITM/Fuzzer Tab 内联代码)的区别,重点说明原生插件的 cli 参数体系。主要能力:cli.* 调用在模块加载时写在顶层,Yakit 静态扫描后渲染为表单控件,运行时把用户填写的值注入回脚本。控件对照包括 cli.String(单行文本)、cli.Text(多行文本)、cli.Int/cli.Float(数字)、cli.Bool(开关)、cli.Urls(URL 列表,自动补 http(s)://)、cli.Ports(端口,支持 80,443,8000-8010)、cli.Hosts(网络目标,支持 CIDR)、cli.StringSlice(下拉/多选,配 setSelectOption/setMultipleSelect)、cli.File、cli.FileOrContent、cli.LineDict(按行切分)、cli.YakitPlugin、cli.Json(配 setJsonSchema)。选项函数有 setRequired、setDefault、setVerboseName、setHelp、setCliGroup 等;收尾必须调用 cli.check() 校验必填并打印 Usage。使用方式:yak 类型插件顶层语句直接执行(不自动调用 func main),mitm 类型注册 hook(与热加载共用 hijackHTTPRequest/mirror*/hijackSaveHTTPFlow 等契约),可叠加 cli 参数表单作为成品保存分发。提供的示例包括 examples/yak-cli-input.yak、examples/mitm-passive-scan.yak、examples/mitm-cli-interactive.yak。可用 YAK_MAIN 全局布尔守卫自测块,用 cli.Args() 长度区分自测与带参运行。验证可执行 yak <file>,或用 yak hotpatch-mitm 喂真实请求。适用场景:需要给团队复用、带参数表单的成品安全测试工具,以及基于 MITM 的被动扫描插件。限制:资料未提供具体收费、价格与平台信息;规则表应放顶层只读常量,避免并发 hook 修改全局导致 data race;自测应避免调用 risk 写库。
yakit-native-plugin
通用与其它
更新于 10-16 01:27