ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Guardian如何评估自己的AI:evals三层评估体系(解析器/工作流/Agent)完整拆解

Guardian如何评估自己的AI:evals三层评估体系(解析器/工作流/Agent)完整拆解 【免费下载链接】guardian-cliGuardian is a production-ready AI-powered penetration testing automation CLI tool that leverages Google Gemini and LangChain to orchestrate intelligent, step-by-step penetration testing workflows while maintaining ethical hacking standards.项目地址https://gitcode.com/gh_mirrors/gu/guardian-cli点击查看免费下载Guardian是一个生产级的 AI 驱动渗透测试自动化 CLI 工具它用大模型编排一步步的渗透测试工作流。但 AI 工具最大的隐忧是它到底靠不靠谱——今天答得对换了提示词或升级知识库后可能就答错。Guardian 的答案是一套名为evals 评估体系的三层测试框架免费的解析器测试、Docker 工作流集成测试、花钱的 Agent 幻觉率测试。本文带你完整拆解这套体系的设计思路、运行方式和扩展方法让你看懂开源 AI 项目是如何给自己做体检的。一图看懂evals 三层评估体系对比 Guardian 把评估分成三个独立层级Tier成本从低到高覆盖范围从单个工具的输出解析到AI 判断质量层级衡量什么成本pytest 标记Tier 1 解析器各工具parse_output对黄金样例的解析正确性免费默认无需标记Tier 2 工作流端到端跑完工作流后产出的发现findings需要 DockerintegrationTier 3 AgentLLM 幻觉率、发现精确率/召回率、CVSS 合法性、成本消耗 API Tokenagent_eval整个体系位于 evals/ 目录官方说明见 docs/EVAL_GUIDE.md。Tier 1解析器评估——用黄金样例回放工具输出工作原理渗透测试工具nuclei、httpx、trivy……输出的是一大段原始文本Guardian 的每个工具封装见 tools/nuclei.py都有parse_output把原始输出解析成结构化数据。解析错了后面 AI 分析再强也是垃圾进垃圾出。所以 Tier 1 的做法很简单把某次真实工具运行的原始输出存成.input.txt人工写下期望解析结果的子集存成.expected.json测试框架自动回放把原始输出喂给解析器断言结果包含期望字段以 nuclei 为例输入样例 evals/fixtures/nuclei/two_findings.input.txt 是两条 JSON 扫描结果含一条 Log4Shell CVE-2021-44228期望输出 evals/fixtures/nuclei/two_findings.expected.json 只声明必须匹配的键值漏洞列表、count: 2、按严重度统计{critical: 1, medium: 1}。两个精巧设计零代码扩展evals/fixtures_loader.py 的discover_fixtures函数会递归扫描evals/fixtures/工具名/下所有*.input.txt并自动配对期望文件。新增一个样例只需放两个文件测试代码一行都不用改发现逻辑见 evals/fixtures_loader.py#L40-L61。子集匹配forward-compatibleassert_subsetevals/fixtures_loader.py#L64-L91只校验你声明过的键。未来工具解析结果新增字段老样例不会因此挂掉——这在长期维护中非常实用。目前内置了 httpx、nuclei、subfinder、trivy 四组黄金样例如 evals/fixtures/httpx/three_urls.input.txt覆盖 URL 探测、子域名爆破、CVE 发现等典型场景。Tier 2工作流集成评估——真实靶场上的端到端测试这一层回答的问题是Guardian 完整跑一遍web_pentest工作流能不能真的把目标上的漏洞挖出来用例即声明核心文件 evals/test_workflow_integration.py 中每个用例是一个WorkflowEvalCase数据类声明四样东西工作流名称、目标地址Docker 起漏洞应用、必须发现的漏洞标识列表、发现数量下限。内置种子用例包括dvwa_web_pentest对 DVWA 跑web_pentest工作流必须挖出 SQL 注入、反射型 XSS、CSRF且发现数 ≥3juiceshop_web_full对 Juice Shop 跑web_full_assessment要求发现 ≥5 条dvga_graphql对 GraphQL 靶场跑graphql_pentest工作流一个值得学习的边界设计评估框架刻意不管理 Docker 生命周期启停容器由你的自动化负责——它只负责测量 Guardian 产出了什么。用例通过score_binary打分见下文保证不同运行之间可横向对比。默认跳过需显式加-m integration且环境有 Docker 才会执行。Tier 3Agent 评估——量化的 AI 幻觉率测试 这是最贵也最有价值的一层前两层测的是确定性的解析逻辑第三层测的是大模型判断质量。数据驱动JSONL 标注语料测试入口 evals/test_analyst_grounding.py 会从 evals/datasets/ 自动加载所有*.jsonl文件每行一条标注记录。种子语料 evals/datasets/analyst_grounding_seed.jsonl 的格式是{tool: nuclei, raw_output: {\template-id\:\CVE-2021-44228\,...}, expected_cves: [CVE-2021-44228], expected_severities: [critical], notes: Log4Shell}注意它连没有 CVE 的场景如.git暴露都标注了——这类样本专门考验模型会不会凭空捏造 CVE 编号幻觉。扩展基准集就是往文件里追加行同样零代码改动。四个核心度量指标指标说明幻觉率Agent 引用的 CVE/CWE 中有多少在工具输出或知识库RAG中找不到依据发现精确率/召回率/F1相对expected_cves标签的二分类打分CVSS 合法性输出的 CVSS 向量有多少能通过 core/cvss_calculator.py 校验单发现成本总 Token 花费 ÷ 有效发现数衡量每个漏洞值多少钱该层由agent_eval标记门控默认跳过因为真实 API 调用会花钱设计目标还包括等 Ollama 本地模型接入后CI 上可用免费本地模型跑同等评估。评分原语让不同层、不同版本的结果可比较三层共用一套评分原语 evals/scoring.py这是整个体系的一致性基石score_binary→BinaryClassificationScore由预测集与标签集算出 TP/FP/FN再导出 precision/recall/F1。去重、顺序无关evals/scoring.py#L93-L109score_hallucinations→HallucinationScore引用列表与有据集合比对得到幻觉率与 grounded 率score_cost→CostEfficiencyScore单发现成本发现数为 0 时返回无穷大避免除零掩盖问题RankingScore给 A5学习型工具选择器用的 Top-1/Top-3 命中率关键约定评分器只返回 dataclass绝不打印——断言交给测试层数据可以直接 JSON 序列化进指标系统。这层原语本身也有单测保护tests/test_eval_scoring.py。如何运行与扩展 Guardian 的评估常用运行命令pytest evals/ # 仅免费的 Tier 1 pytest evals/ -m integration # 加上 Tier 2 工作流集成 pytest evals/ -m agent_eval # 加上 Tier 3 Agent花钱 pytest tests/ evals/ # 所有免费测试一次跑完各层扩展速查想做的事操作步骤新增解析器样例在evals/fixtures/工具/下放一对case.input.txtcase.expected.json自动生效新增工作流用例编辑 evals/test_workflow_integration.py 中的EVAL_CASES列表新增 Agent 标注向 evals/datasets/ 中任一.jsonl追加一行 JSON注意脱敏去掉内网 IP/凭据验收门槛Acceptance Gatesdocs/EVAL_GUIDE.md 还定义了各研发项的量化验收线例如RAG 知识库的 CVE 匹配率需 ≥85%、辩论分诊Red/Blue/Judge 多 Agent的 F1 需比单 Agent 基线高 5 个百分点、Judge 路由成本需 ≤ 同等质量下第 N 轮的 30%。这些门槛让AI 有没有变好变成一个可以打勾的清单而不是感觉。总结这套体系对开发者的启示Guardian 的 evals 三层评估体系值得所有做 AI 应用的团队借鉴分层设防免费的确定性测试兜底日常回归昂贵的模型质量测试按需触发成本与覆盖范围正交分离数据即代码新增评估用例 放文件/加一行 JSONL不用改代码贡献门槛极低子集匹配 黄金样例既锁住关键行为又给实现演进留余地统一评分原语所有指标用同一套 dataclass 打分跨版本、跨层可比较幻觉率是一级指标对安全类 AI 工具不编造 CVE比多发现一个漏洞更重要如果你正在评估或二次开发 Guardian建议先跑一遍pytest evals/建立信心基线再按需叠加 integration 与 agent_eval 两层。体系全貌可继续阅读 docs/EVAL_GUIDE.md 与 CHANGELOG.md 中的 A6 条目。赞分享【免费下载链接】guardian-cliGuardian is a production-ready AI-powered penetration testing automation CLI tool that leverages Google Gemini and LangChain to orchestrate intelligent, step-by-step penetration testing workflows while maintaining ethical hacking standards.项目地址https://gitcode.com/gh_mirrors/gu/guardian-cli点击查看免费下载相关推荐AXLearn评估器系统如何构建高效的模型评估流水线AXLearn评估器系统如何构建高效的模型评估流水线 AXLearn评估器系统是深度学习框架中用于构建高效模型评估流水线的核心组件。这个强大的评估框架提供了灵ImageNet-1k训练秘籍RepGhostNet-130.in1k的数据集处理与性能优化ImageNet 1k训练秘籍RepGhostNet 130.in1k的数据集处理与性能优化 RepGhostNet 130.in1k是一款基于RepGhosToolEval评估框架深度剖析如何构建可信的机器自动评估系统ToolEval评估框架深度剖析如何构建可信的机器自动评估系统 在AI快速发展的今天 ToolEval评估框架 为大型语言模型的工具学习能力提供了全面的自动AI Agent大模型微调模型评测数据工程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进