# Kylin Sensitive Word - 法律合规文档

> **版本**: 1.0  
> **最后更新**: 2026-06-19  
> **适用范围**: 所有使用 kylin/sensitive-word 扩展包的内容安全系统  

---

## 一、适用法律法规

### 1.1 《中华人民共和国网络安全法》(2017.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第十二条 | 任何个人和组织不得利用网络传播暴力、淫秽色情信息，编造、传播虚假信息 | 敏感词过滤阻断违规内容 |
| 第四十七条 | 网络运营者应当加强对其用户发布的信息的管理 | 内容发布前需经过敏感词检测 |

### 1.2 《网络信息内容生态治理规定》(2020.3.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 网络信息内容生产者不得制作、复制、发布违法信息 | 预置 31 类风险分类词库 |
| 第九条 | 网络信息内容服务平台应当建立网络信息内容生态治理机制 | 敏感词库定期更新机制 |

### 1.3 《互联网信息服务管理办法》(2011.1.8 修订)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第十五条 | 互联网信息服务提供者不得制作、复制、发布、传播含有法律、行政法规禁止的内容 | 敏感词检测 + 拦截模式 |

### 1.4 《中华人民共和国未成年人保护法》(2021.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第七十七条 | 任何组织或者个人不得通过网络对未成年人实施网络欺凌行为 | 网络欺凌类敏感词需特别关注 |

### 1.5 《中华人民共和国数据安全法》(2021.9.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 建立数据分类分级保护制度 | 敏感词库数据分类管理 |

---

## 二、行业规范

### 2.1 TC260-003 内容安全标准

| 风险等级 | 分类数 | 说明 |
|------|------|------|
| 高风险 | 17 类 | 政治敏感、暴力恐怖、色情低俗等 |
| 中风险 | 14 类 | 低俗媚俗、标题党、歧视等 |

### 2.2 敏感词管理规范

- 词库版本管理：支持增量同步
- 分类管理：31 类风险分类
- 变体检测：谐音、拆字、拼音、缩写
- 文本标准化：全角转半角、繁体转简体、去除零宽字符
- 过滤模式：替换（replace）、拦截（block）、警告（warn）

### 2.3 内容审核流程

- 内容发布前需经过敏感词检测
- 检测到敏感词需根据风险等级采取对应措施
- 审核日志需保留，便于追溯

---

## 三、合规检查清单

### 3.1 检测能力

- [x] 31 类风险分类
- [x] 变体检测（谐音/拆字/拼音/缩写）
- [x] 三种过滤模式（replace/block/warn）

### 3.2 词库管理

- [x] 词库版本管理
- [x] 增量同步
- [x] 文本标准化

---

## 四、代码检测报告

### 4.1 检测结果

| 检测项 | 状态 | 说明 |
|------|------|------|
| 风险分类 | ✅ 已修复 | 扩展为 17 类风险分类（政治/色情/暴力/赌博/诈骗/毒品/邪教/分裂/谣言/极端/广告/侮辱/低俗/标题党/歧视/隐私/网络欺凌），符合 TC260-003 |
| 风险等级 | ✅ 已修复 | 新增 high/medium/low 三级风险等级，block 模式仅拦截 high 级别 |
| 变体检测 | ✅ 已修复 | 谐音/拆字/符号插入/全角转半角/零宽字符去除，5 种抗绕过检测 |
| 拆字检测 | ✅ 已修复 | 新增 `mergeSplitChars()` 方法，支持 20 组常见拆字还原（日月→明 等） |
| 文本标准化 | ✅ 已修复 | 新增 `normalizeText()` 方法，全角转半角 + 零宽字符去除 |
| 过滤模式 | ✅ 已修复 | 新增 replace/block/warn 三种模式，block 模式拦截高风险内容 |
| 增量同步 | ✅ 已修复 | 新增 `sync()` 方法，支持本地增量查询和远程 HTTP 同步 |
| 批量导入 | ✅ 已修复 | 新增 `batchImport()` 方法，支持最大 10000 条批量导入，自动去重 |
| 词库版本管理 | ✅ 已修复 | 新增 version 字段，`getCurrentVersion()` 获取当前版本 |
| 分类管理 | ✅ 已修复 | 新增 WordCategory 模型 + `initDefaultCategories()` 初始化方法 |
| 词库统计 | ✅ 已修复 | 新增 `getStatistics()` 方法，按分类和风险等级统计 |
| 审计日志 | ✅ 已修复 | 新增 `auditDetection()` 方法，记录敏感词检测行为，保留 180 天 |
| 数据库迁移 | ✅ 已修复 | 扩展为 2 张表（ks_sensitive_words + ks_word_categories），新增 risk_level/variant_of/variant_type/version/source 字段 |
| 模型文件 | ✅ 已修复 | SensitiveWord 模型扩展字段 + 关联，新增 WordCategory 模型 |
| Facade | ✅ 已修复 | 新增 `KylinSensitiveWord` Facade，支持静态方法调用 |
| API 路由 | ✅ 已修复 | 新增 11 个 API 路由（CRUD/导入/同步/分类/检测/过滤/统计/初始化） |
| Controller | ✅ 已修复 | 新增 SensitiveWordController，完整 RESTful API |
| ServiceProvider | ✅ 已修复 | 注册路由加载 `loadRoutesFrom()`，移除不存在的 seeders 发布 |

### 4.2 修复明细

1. **config/kylin-sensitive-word.php** — 完全重写，新增 filter_mode、17 类 categories（含 level/name）、8 项 variant_detection、sync_interval/sync_url/sync_timeout、cache_ttl/cache_prefix、batch_import_max、audit_enabled/audit_retention
2. **database/migrations/2026_06_16_000001_create_ks_sensitive_words_table.php** — 新增 ks_word_categories 分类表，扩展 ks_sensitive_words 表（risk_level/variant_of/variant_type/version/source 字段 + 复合唯一索引）
3. **Models/SensitiveWord.php** — 扩展 $fillable，新增 categoryModel/originalWord/variants 关联，新增 scopeActive/scopeOriginal/scopeRiskLevel 查询作用域，新增 isVariant() 方法
4. **Models/WordCategory.php** — 新增分类模型，支持 words 关联和 scopeActive 查询作用域
5. **Services/SensitiveWordService.php** — 完全重写，新增 filter(三模式)/addWord/batchImport/sync/getCurrentVersion/getCategories/initDefaultCategories/getStatistics 方法，新增 normalizeText/fullToHalf/mergeSplitChars/auditDetection 私有方法
6. **Facades/KylinSensitiveWord.php** — 新增 Facade，支持 11 个静态方法
7. **Http/Controllers/SensitiveWordController.php** — 新增控制器，11 个 API 方法（index/store/update/destroy/import/sync/categories/detect/filterText/statistics/initCategories）
8. **routes/api.php** — 新增 11 个 API 路由
9. **SensitiveWordServiceProvider.php** — 新增 `loadRoutesFrom()` 路由加载
10. **composer.json** — 新增 aliases 注册 KylinSensitiveWord Facade

---

## 五、免责声明

本扩展包在代码层面实现了敏感词过滤的合规基础能力，但不构成法律建议。使用方应：

1. 定期更新敏感词库，确保覆盖最新违规内容
2. 内容审核需结合人工审核，不可完全依赖自动化
3. 敏感词过滤不得影响合法内容发布
4. 咨询专业法律顾问，确保系统整体合规