LexAll·律师工具|智能脱敏
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-ir814tjo--lexall-mask.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-ir814tjo/lexall-mask。面向律师与法律工作者的智能文件脱敏工具。支持 .txt/.docx/.xlsx/.pdf 格式的敏感信息检测与可逆脱敏。AES-256-GCM 加密映射表存储,口令保护。标准/强脱敏双模式。
阅读全文 (展开查看完整说明)
概述
⚠️ AI 辅助生成 | 仅供参考 | 主办律师已核实 □
一、技能概述
LexAll·律师工具|智能脱敏提供文件级敏感信息检测与可逆脱敏服务。支持 .txt、.docx、.xlsx、.pdf 四种常用法律文件格式,采用标准/强脱敏双模式,AES-256-GCM 加密映射表存储,口令保护。
核心价值:律师向 AI 投喂案件材料前的一键脱敏——自动检测身份证号、手机号、银行账号、详细地址、企业名称、个人姓名等敏感信息,加密存储映射表,解密需口令验证。全流程本地执行,零网络调用,材料不出本机。
不负责:不处理图像文件(.jpg/.png)内的文本脱敏(需 OCR 支持),不提供文件格式转换(请使用办公软件),不保证扫描件 PDF 的文本检测准确性。
二、触发方式
用户说出以下任意关键词即可触发:
| 触发词 | 触发功能 |
|---|---|
| 文件脱敏 / 智能脱敏 / 脱敏工具 | 完整脱敏流程:检测→预览→执行脱敏 |
| 敏感信息处理 / 隐私保护 | 文件敏感信息检测与脱敏 |
| 脱敏预览 / 文件扫描 | 仅检测不执行脱敏 |
| 恢复脱敏 / 还原文件 / 解除脱敏 | 解密映射表,输出恢复对照 |
| 脱敏对照表 | 生成脱敏值→原始类型对照表 |
| 强脱敏 | 强脱敏模式(C级涉密强制) |
| 批量脱敏 | 多文件批量处理 |
| 律师工具 / 法律工具 / 案件材料脱敏 | 面向律师场景的脱敏请求 |
三、核心工作流
通用前置处理(文件投喂自动触发)
用户投喂文件
↓
第一步:文件类型检测
├── .txt / .docx / .xlsx / .pdf → 进入脱敏检测
└── 其他格式 → 提示格式不支持,跳过脱敏
↓
第二步:调用 python scripts/mask_cli.py preview <文件路径>
↓
第三步:分析预览结果
├── 检测到敏感信息 → 展示摘要 → 询问用户是否执行脱敏
├── 无敏感信息 → 直接进入后续处理
└── CLI不可用 → 提供人工脱敏指南
↓
第四步:根据用户选择
└── 执行脱敏 → 走标准脱敏流程步骤 1:敏感信息检测与预览
当用户投喂文件时自动执行,通过 CLI 检测文件中的敏感信息:
调用: python scripts/mask_cli.py preview <文件路径> [--level P0|P1|P2|all]
输出示例:
──────────── 脱敏预览 ────────────
📄 文件: 证据材料.pdf
📏 大小: 245.78 KB
📍 路径: /path/to/证据材料.pdf
📐 格式: .pdf 🔎 级别: all
🔍 敏感信息检出结果(共 22 项):
[P0] 身份证号: 3 处
示例: 350102********1234, ...
[P0] 手机号: 2 处
[P0] 银行卡号: 1 处
[P1] 地址: 1 处
[P2] 姓名: 8 处
[P2] 企业名称: 3 处
────────────────────────────────
⚠️ 该文件含 22 处敏感信息,建议脱敏后使用。
请选择:
[1] 执行脱敏(推荐)
[2] 仅预览,暂时不处理
[3] 跳过脱敏📌
preview与mask共用同一条文本抽取路径(v1.0.4 修复)。此前
preview会把.docx/.xlsx/.pdf当纯文本读,结果是乱码、检出恒为 0 项—— 用户据此判断"文件干净"其实完全没脱敏。凡预览显示 0 项而文件明显含当事人信息,请先怀疑本工具,而不是文件。
批量文件处理(多文件同时投喂):
📋 文件总览:5个文件,检出敏感信息:3个
[1] 证据材料.pdf → 身份证号×2, 电话×1
[2] 合同扫描件.pdf → 身份证号×1, 地址×1
[3] 当事人信息.xlsx → 无敏感信息
[4] 现场照片.jpg → 图像文件,需OCR(可选安装PaddleOCR)
[5] 律师工作笔记.docx → 无敏感信息
请选择:
[1] 全部脱敏(推荐)
[2] 仅脱敏含敏感信息的文件
[3] 全部跳过步骤 2:执行脱敏
用户确认执行脱敏后:
- 询问脱敏模式和级别:
- 脱敏模式:
[1] 标准模式(推荐)/[2] 强脱敏模式(C级强制) - 脱敏级别:
[1] 全部类型/[2] P0级别/[3] 自定义
- 脱敏模式:
- 设置恢复口令(至少8位,脱敏前必须设置)
- 执行脱敏:
调用: python scripts/mask_cli.py mask <文件路径> --mode <模式> --level <级别>- 输出结果:
──────────── 脱敏完成 ────────────
✅ 脱敏文件: /path/to/证据材料_脱敏.pdf
📋 映射表: /path/to/.mask/<内容指纹>.mask
📊 脱敏摘要:
- 身份证号: 3处 → [已脱敏]
- 手机号: 2处 → [已脱敏]
- 银行卡号: 1处 → [已脱敏]
- 地址: 1处 → [已脱敏]
- 姓名: 8处 → [已脱敏]
- 企业名称: 3处 → [已脱敏]
⚠️ 安全提醒:
1. 恢复口令请妥善保管,丢失后无法恢复
2. .mask 映射表不要随意外传
3. 脱敏文件与映射表分开存储更安全
脱敏后文件已就绪,可以进入后续法律分析流程。步骤 3:解密映射表(手动触发)
⚠️ 语义说明(v1.0.4 起本文档与实现对齐)
本步骤不还原原文档。输出的是「脱敏值 → 原始值」的映射对照表(.txt),
由你按需手工比对或还原。
.docx/.xlsx/.pdf的原位还原(在文档内把占位符替换回原值)计划在 v1.1 提供。
触发: "恢复脱敏" / "还原文件"
调用: python scripts/mask_cli.py recover <脱敏文件路径> [--mask-file <映射表路径>]
# .txt 会自动读取内嵌恢复标记;
# .docx/.xlsx/.pdf 的映射键存在文件内部结构中,本版本不自动解析,请显式指定:
python scripts/mask_cli.py recover "证据材料_脱敏.docx" --mask-file ".mask/<指纹>.mask"
输出:
──────────── 恢复完成 ────────────
✅ 口令验证通过!
🔐 已解密 22 项映射
📁 恢复文件: /path/to/证据材料_脱敏_恢复.txt
⚠️ 安全提醒: 恢复文件含原始敏感信息,使用后建议:
[1] 24小时后自动清除
[2] 阅后即焚(关闭对话后删除)
[3] 保留文件(不推荐)步骤 4:生成脱敏对照表(手动触发)
⚠️ 当前版本
mapping-table为占位实现:仅输出提示语,不含实际对照内容(v1.1 补齐)。如需核对原文,请改用步骤 3 的
recover解密映射表,或直接打开本地原文件比对。
触发: "脱敏对照表"
调用: python scripts/mask_cli.py mapping-table <文件路径>四、脱敏能力总览
支持的敏感信息类型(与代码实现一一对应)
| 优先级 | 类型 | 标准脱敏 | 强脱敏 |
|---|---|---|---|
| P0 | 身份证号 | 保留前 6 + 后 4 位 | [已隐藏] |
| P0 | 手机号 | 保留前 3 + 后 4 位(138****8000) | [已隐藏] |
| P0 | 银行卡号 | 保留前 4 + 后 4 位;容忍空格/短横线分组(2306 0105 0910 0037 953 也可检出) | [银行卡号已隐藏] |
| P0 | 统一社会信用代码 | 保留前 8 + 后 2 位 | [统一社会信用代码已隐藏] |
| P1 | 详细地址 | [海南某地址](整条地址链整体遮蔽) | [详细地址已隐藏] |
| P1 | 固定电话 / 税务登记号 / 组织机构代码 / 工商注册号 / 不动产证号 / 邮箱 / 车牌号 | 保留部分字符或整体替换 | 完全替换 |
| P2 | 姓名 | [当事人A] / [当事人B](按文档顺序编号) | 同左 |
| P2 | 企业名称 | [海南某公司](保留前 2 字以区分甲/乙方) | [某企业] |
| P2 | 护照号 / 军官证号 / 港澳通行证号 / 专利号 / 案件编号 / 金额 | 见 masker.py 的 FORMAT_RULES | 完全替换 |
关于「企业名称保留前 2 字」:若统一塌缩为
[某公司],则甲方与乙方全部变成同一占位符,合同审查场景下完全不可用。保留前 2 字后得到
[海南某公司]/[乐山某公司],主体仍可区分。
⚠️ 已知边界(请务必知晓,本工具不是万能的)
| # | 边界 | 说明 |
|---|---|---|
| 1 | 姓名识别为「上下文引导式」 | 仅识别 「字段名/角色名 + 分隔符 + 2-4 字」 形态,如 原告:雷铭福、法定代表人:韦长卿、甲方:张三。无上下文的裸姓名不会检出;Excel/Word 表格中「表头行 + 数据行」上下分行的姓名也不保证检出。 |
| 2 | 不处理图片型扫描件 | 无文本层的 PDF(扫描件)读不到内容,须先 OCR;.jpg/.png 一律不处理。 |
| 3 | recover 不还原原文档 | 输出映射对照表;原位还原见 v1.1。 |
| 4 | mapping-table 为占位 | 当前仅输出提示语,无实际对照内容(v1.1 补齐)。 |
| 5 | 脱敏不是万能的 | 建议脱敏后人工复核,尤其注意表格、图注、页眉页脚、批注、文本框等区域。 |
文件命名规则
| 产物 | 命名与位置 | 说明 |
|---|---|---|
| 脱敏文件 | {原文件名}_脱敏.{扩展名} | 与原文件同目录 |
| 映射表 | {原文件所在目录}/.mask/{内容指纹}.mask | 隐藏目录 .mask/;文件名为内容指纹,不是原文件名 |
| 恢复文件 | {原文件名}_脱敏_恢复.txt | 与脱敏文件同目录 |
映射表记录了恢复所需的加密数据,必须与脱敏文件配套保管(分开存放更安全,但两者缺一不可)。
映射表放在脱敏文件所在目录的
.mask/下(v1.0.4 起):此前mask写在"当前工作目录"、而
recover去"文件所在目录"找,只要不是在文件目录里执行 CLI 就对不上。
支持的文件格式
| 格式 | 处理方式 | 保留结构 |
|---|---|---|
| .txt | 纯文本逐行处理 | ✅ 全文结构 |
| .docx | 段落/表格/页眉页脚/文本框/脚注尾注/修订痕迹 | ✅ 完整排版 |
| .xlsx | 单元格级逐格处理 | ✅ 表格结构 |
PyMuPDF 真修订(apply_redactions) | ✅ 页面布局 |
安全机制
| 机制 | 说明 |
|---|---|
| 加密算法 | AES-256-GCM(军用级) |
| 密钥衍生 | PBKDF2-HMAC-SHA256,60万次迭代 |
| 内存安全 | 敏感数据使用 SecureBuffer,用完即擦除 |
| 口令保护 | ≥8位,3次错误递增延迟(5秒/30秒/30分钟) |
| 数据边界 | 全流程本地执行,零网络调用——这是本技能可安全用于未脱敏文书的依据 |
| 映射表 | .mask 文件加密存储,与脱敏文件分离 |
五、使用示例
示例 1:文件投喂自动脱敏
用户:[上传文件:委托代理合同.docx]
LexAll:
📄 检测到文件投喂:委托代理合同.docx
──────────── 脱敏预览 ────────────
📏 大小: 156.32 KB
🔍 敏感信息检出结果(共 7 项):
[P0] 身份证号: 1 处
[P2] 姓名: 3 处
[P2] 企业名称: 2 处
[P1] 地址: 1 处
────────────────────────────────
⚠️ 该文件含 7 处敏感信息,建议脱敏后分析。
是否执行脱敏?
[1] ✅ 执行脱敏(推荐)
[2] 🔍 仅预览,暂不处理
[3] ⏭️ 跳过脱敏用户:1
LexAll:
请选择脱敏模式:
[1] 标准模式(保留可读性,推荐)
[2] 强脱敏模式(完全替换,C级涉密强制)
请设置恢复口令(至少8位):用户:标准模式,口令:LexAll2026
LexAll:
──────────── 脱敏完成 ────────────
✅ 脱敏文件: /path/to/委托代理合同_脱敏.docx
📋 映射表: /path/to/.mask/<内容指纹>.mask
📊 脱敏摘要:
- 身份证号: 1处 → 已脱敏
- 姓名: 3处 → 已脱敏
- 企业名称: 2处 → 已脱敏
- 地址: 1处 → 已脱敏
⚠️ 安全提醒:
1. 恢复口令请妥善保管,丢失后无法恢复
2. 映射表不要随意外传
脱敏版文件已就绪,可以开始法律分析。映射表可随时用口令解密。示例 2:批量文件脱敏
用户:这批5个证据文件都做脱敏
LexAll:
📋 文件总览:5个文件,检出敏感信息:4个
[1] 证据1_合同.pdf → 身份证×2, 姓名×5, 地址×3
[2] 证据2_转账凭证.xlsx → 银行账号×4, 姓名×2
[3] 证据3_聊天记录.pdf → 手机号×3, 姓名×6
[4] 证据4_营业执照.pdf → 统一信用代码×2, 企业名称×1
[5] 证据5_说明.docx → 无敏感信息
请选择:
[1] 全部脱敏(推荐)→ 4个文件一次性处理
[2] 仅脱敏含敏感信息的文件
[3] 全部跳过用户:2
LexAll:
请设置统一的恢复口令(至少8位):
执行批量脱敏(4个文件)...示例 3:解密映射表
用户:恢复脱敏,我上次脱敏的那个委托代理合同
LexAll:
定位到映射表:/path/to/.mask/<内容指纹>.mask
📋 文件摘要:
原始文件:委托代理合同.docx
脱敏时间:2026-09-29 12:30:00
脱敏数量:7处
脱敏模式:标准模式
请输入恢复口令:用户:LexAll2026
LexAll:
──────────── 恢复完成 ────────────
✅ 口令验证通过!已解密 7 项映射
📁 恢复文件: /path/to/委托代理合同_脱敏_恢复.txt
ℹ️ 注意:输出为**映射对照表**(脱敏值 → 原始值),
.docx/.xlsx/.pdf 的原位还原计划在 v1.1 提供。
⚠️ 安全提醒: 恢复文件含原始敏感信息
[1] 24小时后自动清除(推荐)
[2] 阅后即焚(关闭对话后删除)
[3] 保留文件示例 4:CLI 不可用时的降级方案
用户:[上传文件:起诉状.docx]
LexAll:
⚠️ mask_cli 当前不可用(Python 环境未就绪),以下为人工脱敏指南:
📋 标准脱敏规则:
1. 身份证号:保留前6位+后4位,中间替换为********
示例:350102199001011234 → 350102********1234
2. 手机号码:保留前3位+后4位,中间替换为****
示例:13800138000 → 138****8000
3. 银行账号:保留前4位+后4位
4. 地址信息:整条地址链替换为 [××省某地址]
5. 企业名称:用「[××某公司]」替代(保留前 2 字以区分甲乙方)
6. 个人姓名:用「[当事人A]/[当事人B]」顺序替代
处理完成后,将脱敏版文件投喂给本技能,并标注 [已手工脱敏] 跳过自动检测。六、技术依赖
6.1 必需依赖(未安装则所有命令均报错)
| 依赖类型 | 名称 | 用途 |
|---|---|---|
| Python | >=3.10 | 运行脱敏引擎(推荐 3.13.x) |
| Python库 | cryptography | AES-256-GCM 加密 + PBKDF2 密钥衍生 —— 任何操作都需要 |
pip install cryptography6.2 按需依赖(仅处理对应格式时需要)
| 格式 | 依赖 | 安装 |
|---|---|---|
| .txt | 无 | — |
| .docx | python-docx(自动带 lxml) | pip install python-docx |
| .xlsx | openpyxl | pip install openpyxl |
| pymupdf | pip install pymupdf |
一次装齐:pip install cryptography python-docx openpyxl pymupdf
依赖缺失时,
scripts/mask_cli.py会输出明确的安装指引,而不是抛出裸 traceback。
6.3 随包内置(无需安装)
| 本地文件 | 说明 |
|---|---|
mask_engine/ | 脱敏核心引擎(加密 / 检测 / 脱敏 / 格式处理) |
scripts/mask_cli.py | CLI 统一入口 |
七、降级策略
7.1 CLI 不可用时的处理
当 scripts/mask_cli.py 调用失败时:
- 输出人工脱敏指南(见示例4),包含标准脱敏规则
- 用户按指南手动脱敏后,发回脱敏版文件
- 用户在对话中标注
[已手工脱敏],后续不再触发自动检测
7.2 格式不支持时的处理
| 格式 | 处理方式 |
|---|---|
| .txt/.docx/.xlsx/.pdf | 正常处理 |
| .jpg/.jpeg/.png | 标注为图像文件,提示需要 OCR |
| 其他格式 | 跳过脱敏,提示格式不支持 |
7.3 口令管理降级
| 场景 | 处理方式 |
|---|---|
| 用户忘记口令 | 映射表不可解密,脱敏文件永久不可恢复 |
| 口令错误 3 次 | 递增强制延迟(5秒→30秒→30分钟) |
| 映射表丢失 | 无法恢复,需重新上传原始文件 |
八、输出规范
- 首行:
⚠️ AI 辅助生成 | 仅供参考 | 主办律师已核实 □ - 脱敏摘要:列出每种敏感信息类型的检出数量和脱敏状态
- 路径标注:脱敏文件、映射表的完整路径
- 安全提醒:每次脱敏/恢复后附带安全提醒
- 末行:反馈机制 + 版本信息
━━━━━━━━━━━━━━━━━━━━━━━━━━━━📊 这个结果对您有帮助吗?👍 有帮助 👎 需要改进
━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LexAll v1.0.4 | 脱敏引擎 2026.09
📌 前置集成:本技能作为 LexAll 全能力的前置过滤器,建议在处理案件材料前首先使用。
后续可串联 LexAll·类案智能检索(S24)、LexAll·法规智能检索(S25) 进行脱敏后的法律分析。