CAI CyberPII-Bench 隐私基准实操:5 分钟跑通 PII 脱敏评估【免费下载链接】caiCybersecurity AI (CAI), the framework for AI Security项目地址: https://gitcode.com/GitHub_Trending/cai3/cai渗透演练导出的报告里,客户 IP 和工程师邮箱还以明文躺在日志中——模型没有遮住,也没有任何机制告诉你它漏了。CAI 仓库里的隐私基准 CyberPII-Bench 就是解决这个问题的:把 78 条真实安全演练日志喂给模型,量化它脱敏 PII 的精确与完整程度。本文走一遍最小运行路径,然后逐字段拆解它产出的报告,再解释匹配与计分规则,最后列出几个会悄悄改变结果数的实现细节。据官方文档与该图,alias1 在 Precision、Recall、F1、F2 四项上均领先 alias0 与 privateAI。最小运行路径:依赖安装与第一条评测命令先让报告跑出来,原理留到后面。CAI 的 Python 依赖在pyproject.toml中,评测脚本直接用到litellm、pandas、requests;官方文档另建议pip install cvss(其他基准的依赖,PII 链路本身不依赖它)。没有本地仓库的先克隆:git clone https://gitcode.com/GitHub_Trending/cai3/cai按后端设置环境变量,alias 后端只需ALIAS_API_KEY,api base 由脚本内置。然后跑第一条评测:python benchmarks/eval.py \ --model alias1 \ # 模型名:同时作为输出 CSV 新列名与报告目录名的依据 --dataset_file benchmarks/cyberPII-bench/memory01_gold.csv \ # 数据集:分号分隔的 CSV,78 条待脱敏文本 --eval cyberpii-bench \ # 评测类型:进入 PII 分支,不做选择题式判分 --backend alias # 后端:决定读取 {BACKEND}_API_KEY 等环境变量换成其他模型同理,例如--model gpt-4o --backend openai,对应OPENAI_API_KEY。控制台会逐条打印[序号/总数]、原始文本、脱敏结果和累计成本,结束后自动落盘四个报告文件。输出报告逐字段解读:metrics、entity、mistakes 怎么读跑完后你要看两处产物。其一是数据集旁新生成的memory01_gold_alias1.csv,多了一列target_text_alias1_sanitized保存模型输出;其二是benchmarks/cyberPII-bench/alias1/output_metrics_YYYYMMDD_序号/目录,目录名带当天日期和自增序号(命名逻辑在benchmarks/cyberPII-bench/annotation_metrics.py的get_output_dir)。metrics.txt:总体指标怎么读ALIAS1: Total Entities in Ground Truth: 200 True Positives: int False Positives: int False Negatives: int Precision: 0-1,4 位小数 Recall: 0-1,4 位小数 F1 Score: 0-1,4 位小数 F2 Score: 0-1,4 位小数Total Entities in Ground Truth是本数据集人工标注标签的总数——memory01_gold.csv的target_text列里共有 200 个,即这个基准的满分盘子。分数在源码中按 4 位小数输出(annotation_metrics.py第 371-374 行),不是百分比。entity_performance.txt:实体级指标怎么读每个实体类型一段,含 Precision、Recall、F1、F2 与 TP/FP/FN(第 304-317 行)。注意不是 24 类都会出现:某类型在真值和预测中都没出现就整段跳过(第 232-233 行)。本数据集真值实际只覆盖 7 类——URL 103、IP_ADDRESS 41、DATE_TIME 20、ORGANIZATION 14、LOCATION 9、CRYPTO 8、PERSON 5。其余类型只有在模型误标时才会以 FP 形式冒出来,这本身就是重要信号。mistakes.txt:错误样本怎么读只收录有差异的样本,结构固定:样本 id、Original text(ground truth 文本)、Annotated text(模型输出),然后分两行列出Missed entities(漏脱敏,带起止位置)与Incorrect anonymizations(误脱敏,第 333-346 行)。以真实样本id_mir100_alarm_2为例,它是 ifconfig 输出,真值把192.168.2.5等 IP 全部标成[IP_ADDRESS];若模型漏掉其中一处,它就会出现为Missed entities下的一行 IP_ADDRESS 及其位置。overall_report.txt 与中间 CSVoverall_report.txt记录输入文件、总行数(78)以及真值与各标注者的逐类型实体计数(第 260-291 行),适合核对模型到底产出了多少标签。中间 CSV 则让你随时用其他工具复查某条脱敏结果。背后是怎么工作的:数据、匹配规则与 F2 指标评分的前提是先搞清楚分数怎么算出来的。数据:memory01_gold.csv共 78 条,source字段显示来自 pentestperf(41 条)与 Hackerone(37 条),others字段记录角色(如{role: user})。评测只取source_text送模型,以target_text为真值。提示词:PII 分支走专用系统提示You are a privacy expert specializing in PII anonymization.,正文列出 24 类占位符映射、IP 优先于 URL 与日期时间拆两个标签的 few-shot 规则,结尾硬性约束JUST RETURN THE TEXT ANONYMIZED(benchmarks/eval.py第 147-188 行)。匹配:不是按文本相似度,而是把真值和预测各自解析成(行号, 实体类型, 起始, 结束)四元组集合,做集合交并——TP 是交集大小,FP、FN 是两边的差集(第 158-209 行)。指标:Precision TP / (TP FP) Recall TP / (TP FN) F2 5 × (Precision × Recall) / (4 × Precision Recall)F2 相当于给漏报(FN)的代价加倍。类比银行保安:错拦一个平民(误报)是小尴尬,放进一个可疑人员(漏报)是大事故——隐私场景显然按后者定价,所以 F2 是首选指标,实现见第 213-214 行。真正影响结果的细节:四个关键实现点主链路清楚了,分数之间的差异大多来自几个不显眼的位置。$10 成本熔断:eval.py第 352-354 行,累计成本超过 $10 直接break,剩余样本不再处理。成本取自运行时从 LiteLLM 公开定价 JSON 拉取的数据(第 85 行);拉取失败则成本按 $0 计(第 112-115 行),熔断随之失效。位置精确匹配:标签类型相同但起止位置不同,照样判 0 分。模型若输出[URL]但把标签放错位置、或把[IP_ADDRESS]写成了别的合法类型,都会整条计为 FPFN。skip_entities 走不了命令行:eval.py第 880 行把跳过列表硬编码为空。想排除某类实体,得直接运行annotation_metrics.py并传--skip_entities EMAIL_ADDRESS,传非法名称会在第 402-404 行抛ValueError。分号分隔与列名规则:CSV 按;解析(第 310 行),多行文本因此合法;新列名由模型名清洗后拼成target_text_{model}_sanitized(第 299、316 行)。同模型重复跑会复用同名列而非报错。常见坑与调优:五种错误场景处理这些细节踩到时会呈现固定模式,按现象→原因→处理对照。RuntimeError: API_BASE or API_KEY not found for backend alias→ 环境变量没导出。export ALIAS_API_KEY...后重跑;alias 后端只读 KEY,base 地址已内置(第 844-853 行),不用配。控制台 Anonymized 字段里混入解释文字→ 提示词虽有硬约束,弱模型仍会输出多余内容,这些多余文本里的合法标签会被直接计入 FP。看mistakes.txt的Incorrect anonymizations确认,换能力更强的模型。DATE_TIME 召回偏低→ 真值把2025-03-11 11:41 UTC拆成两个独立标签(日期、时间各一),模型常只盖一个。mistakes.txt里会看到同一句相邻的两个 Missed DATE_TIME。找不到outputs/cyberpii-bench/目录→ PII 分支不写benchmarks/outputs/(那是选择题基准的目录,第 780 行),报告在数据集同级的{model}/output_metrics_*/下。成本恒为 $0.0000000→ 离线环境拉不到定价 JSON,成本与熔断都失效。长跑前自行估算单条 token 成本,避免意外账单。延伸方向:相关文档隐私基准跑稳之后,自然会想把它放进更大的对比框架里看。docs/benchmarking/privacy_benchmarks.md:隐私基准的完整定义,含官方性能图表与 24 类实体全表,适合作为本文的对照词典。benchmarks/cyberPII-bench/annotation_metrics.py:支持独立命令行,--input_csv_path--annotator--skip_entities,可对已有结果 CSV 免调用模型地重算或改口径评分。docs/benchmarking/running_benchmarks.md:其余基准(CTI-ATE/MCQ/RCM/VSP 等)的环境搭建与运行说明。docs/benchmarking/overview.md:CAIBench 元框架的五大类别与难度分级,看清隐私基准在整体中的位置。拿两个候选模型各跑一遍,把两份mistakes.txt逐行对照——漏报集中在哪类实体,就是选型的直接依据。【免费下载链接】caiCybersecurity AI (CAI), the framework for AI Security项目地址: https://gitcode.com/GitHub_Trending/cai3/cai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
口播视频怎么拍才能又快又自然?我用了这5个方法,新手也能5分种 很多人刚开始拍口播,是不是这样:写稿子背半天,一开拍就忘词卡壳,眼神飘忽像在念课文,拍了几十遍还是不满意,一上午就废了?其实真不是你的问题,是方法错了。我刚开始拍的时候也是这样… · 2026/9/24 16:50:19
coss.com/ui 设计系统完全指南:Cal.com 官方 UI 组件库的架构、环境配置与开发实践 前端UI组件设计系统 【免费下载链接】coss coss.com/ui is the official design system of Cal.com 项目地址: https://gitcode.com/gh_mirrors/or/coss 点击查看 免费下载 本篇技术指南围绕 coss 仓库(GitHub 加速计划 / or / coss)的根 RE… · 2026/9/24 16:50:19
Excel批量生成设备命令总结 一 Excel多列命令合并为一列-中间无连字符
1.默认excel表格如下图: 2.在右侧空白处输入=,然后选择左侧表格内容,然后输入连字符&,再选择右侧表格内容 3.回车后两列内容合并为一列 4.其他行内容直接下来即可 二 Excel多列命令合并为一列-中间有空格
1.默认excel表格如… · 2026/9/24 17:28:10
【股票交易】第 54 章 多时间周期分析 回到目录 文章目录 54.1 为什么不同周期会呈现不同趋势 一、先区分 K 线周期与图表覆盖范围 二、大周期把小周期的细节汇总起来 三、先定义自己要研究的价格变化 54.2 为不同周期安排不同任务 一、先确定主分析周期 二、把背景、机会和执行分开观察 三、周期数量由问题决定 54.… · 2026/9/24 17:28:10
【股票交易】第 52 章 成交量与量价关系 回到目录文章目录52.1 价涨量增:上涨伴随着更活跃的交易先说明 “涨”和“增”相对什么而言放量上涨增加了哪些信息收盘位置与发生位置同样重要52.2 价涨量缩:较少成交也可以形成上涨价格不是由累计成交量机械推动在不同结构中提出不同问题成交量小不代表… · 2026/9/24 17:28:10
那一夜,我差点删库跑路:一名菜鸟工程师的生产库事故与救赎 敬畏之心,是工程师最好的护身符。引言:那个让我冷汗浸透后背的夜晚时光倒流回我职业生涯的第一个年头。空气中还弥漫着刚从校园走出的青涩与对未来的无限憧憬。我坐在宽敞的工位上,双显示器上闪烁着熟悉的IDE和数据库客户端,感觉自… · 2026/9/24 17:28:10
免安装,免注册,免费token,niuma编程工具 本人是claude code重度用户,从中转站购买token,中转站token性价比非常高,但是极其不稳定,在claude code中使用不超过5分钟总是断开,停止执行。如果想要执行一个长时间任务,就不得不守着,在中断执… · 2026/9/24 17:28:04
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44