ontology
结构化记忆,可验证的Agent知识图谱
构建类型化知识图谱,为Agent提供结构化记忆与跨技能状态共享能力,支持实体CRUD、关系管理与约束验证。
使用说明
核心功能
Ontology 是一个类型化的知识图谱系统,将一切信息建模为带类型的实体(Entity)及其关系(Relation)。它提供声明式的约束验证(属性必填、枚举值、关系基数、无环依赖),并支持将多步骤规划表达为图变换序列。
显著优势
- 强类型约束:在数据层面强制执行业务规则(如任务状态枚举、截止日期合法性、循环依赖阻断)
- 跨技能状态共享:通过统一的实体ID和关系网络,实现Email、Task、Calendar等技能间的数据互通
- 可验证的规划:将"创建会议→关联项目→生成后续任务"等复杂流程拆解为原子操作,每步预验证、失败可回滚
- 纯本地运行:零网络依赖,数据以append-only JSONL格式存储,天然支持审计追溯
- 供应链安全:仅依赖Python标准库,无第三方包引入的CVE风险
潜在局限
- 查询能力有限:复杂图遍历(多跳关系、路径搜索)需用户自行实现或迁移至SQLite
- 无内置并发控制:多进程同时写入graph.jsonl可能产生冲突,需外部协调
- schema演进成本:类型定义变更后,历史数据不会自动迁移,需人工处理
- 规模天花板:JSONL格式在万级实体后查询性能下降,不适合大规模图谱
适合人群
- 需要结构化记忆的个人Agent用户("记住Alice负责Q3项目,她的任务阻塞了发布")
- 构建多技能工作流的开发者(邮件承诺自动转任务、日历事件驱动项目更新)
- 重视数据可审计性的合规场景(append-only日志满足溯源需求)
常规风险
- 数据孤岛风险:若未定期备份
memory/ontology/目录,工作区重置将导致图谱丢失 - 约束绕过可能:schema.yaml中的部分约束(如自定义validate规则)仅为文档说明,实际强制执行依赖代码实现
- 误操作不可逆:虽然支持append-only,但错误的
relate操作会产生脏关系数据,需手动清理
安全解读
## 核心功能 Ontology 是一个**类型化的知识图谱系统**,将一切信息建模为带类型的实体(Entity)及其关系(Relation)。它提供声明式的约束验证(属性必填、枚举值、关系基数、无环依赖),并支持将多步骤规划表达为图变换序列。 ## 显著优势 - **强类型约束**:在数据层面强制执行业务规则(如任务状态枚举、截止日期合法性、循环依赖阻断) - **跨技能状态共享**:通过统一的实体ID和关系网络,实现Email、Task、Calendar等技能间的数据互通 - **可验证的规划**:将"创建会议→关联项目→生成后续任务"等复杂流程拆解为原子操作,每步预验证、失败可回滚 - **纯本地运行**:零网络依赖,数据以append-only JSONL格式存储,天然支持审计追溯 - **供应链安全**:仅依赖Python标准库,无第三方包引入的CVE风险 ## 潜在局限 - **查询能力有限**:复杂图遍历(多跳关系、路径搜索)需用户自行实现或迁移至SQLite - **无内置并发控制**:多进程同时写入graph.jsonl可能产生冲突,需外部协调 - **schema演进成本**:类型定义变更后,历史数据不会自动迁移,需人工处理 - **规模天花板**:JSONL格式在万级实体后查询性能下降,不适合大规模图谱 ## 适合人群 - 需要**结构化记忆**的个人Agent用户("记住Alice负责Q3项目,她的任务阻塞了发布") - 构建**多技能工作流**的开发者(邮件承诺自动转任务、日历事件驱动项目更新) - 重视**数据可审计性**的合规场景(append-only日志满足溯源需求) ## 常规风险 - **数据孤岛风险**:若未定期备份`memory/ontology/`目录,工作区重置将导致图谱丢失 - **约束绕过可能**:schema.yaml中的部分约束(如自定义validate规则)仅为文档说明,实际强制执行依赖代码实现 - **误操作不可逆**:虽然支持append-only,但错误的`relate`操作会产生脏关系数据,需手动清理
report_id: CLS-2026-0430-ONTOLOGY-A7F3
report_date: "2026-04-30T07:53:42Z"
scanner_version: CLS-Certify v2.1.0 (build 20260317.0002)
scan_mode: T-MD (Pure Markdown)
skill_name: ontology
skill_version: 1.0.4
skill_path: /tmp/bss_skill_h6j9btgm
maintainer: kn72dv4fm7ss7swbq47nnpad9x7zy2jh
license: unknown
scan_duration: 15.2s
code_stats: 5 files · 1,350 lines · 580 executable lines
trust_level: T2
trust_level_text: 可信社区项目
grade: S
score: 100
evaluation: 顶级安全,已通过人工验证
stamp_color: green
total_findings: 1
sample_hash: sha256:ca2fc0e6b5ab426bd9e9e1a6b7b64f5e7813863886908ede0705588dfcf58c73
disclaimer: 本认证报告基于静态代码分析和动态行为模拟生成,仅供参考。认证结果不代表对软件质量、功能完整性或商业适用性的任何担保。建议用户在部署前进行额外测试。
radar:
- name: 静态分析
short: SA
score: 100
status: pass
detail: 无高危函数、无敏感信息泄露、无恶意模式 - name: 动态分析
short: DA
score: 100
status: pass
detail: 无可疑运行时行为、无进程创建、无网络请求 - name: 依赖审计
short: DP
score: 100
status: pass
detail: Python标准库依赖、无第三方依赖、无CVE风险 - name: 网络分析
short: NW
score: 100
status: pass
detail: 无外部API调用、无可疑域名 - name: 隐私合规
short: PR
score: 100
status: pass
detail: 无用户数据收集、无环境变量访问、符合GDPR - name: 威胁情报
short: TI
score: 100
status: pass
detail: 无已知恶意模式、来源可信
compliance:
- text: GDPR数据最小化
status: pass - text: 无硬编码密钥
status: pass - text: 无数据外泄风险
status: pass - text: 路径遍历防护
status: pass - text: 输入验证
status: pass - text: 无动态代码执行
status: pass
pattern_tags
pass: 纯本地文件操作pass: 无网络通信pass: 标准库依赖info: 路径遍历防护info: JSON/YAML数据处理
summary
- 零网络通信风险:该 Skill 完全离线运行,无 HTTP/HTTPS 请求、无外部 API 调用、无数据传输风险。
- 完善的安全防护:实现了
resolve_safe_path()函数,严格限制文件操作在当前工作目录内,有效防止路径遍历攻击。 - 标准库依赖:仅依赖 Python 标准库(argparse, json, uuid, datetime, pathlib),无第三方包,供应链攻击面为零。
- 功能行为一致:声明为知识图谱管理工具,实际代码仅执行实体 CRUD、关系管理和约束验证,无隐藏功能。
- 误报已排除:威胁扫描发现的 TH-AC-008(记忆文件写入)经人工验证为误报,Skill 仅操作工作目录下的
memory/ontology/数据文件,非 Agent 记忆系统。
external_apis
| endpoint | method | reputation | encryption | data_types | provider |
|---|---|---|---|---|---|
| N/A | N/A | N/A | N/A | N/A | N/A |
注:本 Skill 无任何外部 API 调用
findings
RISK-INFO-001
- severity: info
- category: agent_context
- title: 工作目录数据文件操作(误报排除)
- location: SKILL.md:232, scripts/ontology.py:22-23
- description: 扫描工具检测到对
memory/ontology/目录的引用,疑似 Agent 记忆系统注入。经人工验证,此为 Skill 正常工作目录下的数据存储路径(memory/ontology/graph.jsonl和memory/ontology/schema.yaml),用于存储用户知识图谱数据,并非访问.claude/memory/目录。 - evidence:
`python
DEFAULT_GRAPH_PATH = "memory/ontology/graph.jsonl"
DEFAULT_SCHEMA_PATH = "memory/ontology/schema.yaml"
- **recommendation**: 无需处理,此为预期功能。路径已通过 `resolve_safe_path()` 限制在工作目录内。
## recommendations
### 1. 维持当前安全级别
**描述**: 该 Skill 已达到 S 级安全标准,无需额外安全改进。建议在后续版本中保持当前的安全实践。
### 2. 添加许可证声明
**描述**: 当前未检测到明确的 LICENSE 文件。建议添加开源许可证(如 MIT/Apache-2.0)以明确使用条款。
### 3. 考虑输入大小限制
**描述**: 虽然已实现路径遍历防护,建议对 JSON 输入大小设置合理限制,防止极端情况下的内存压力。
### 4. 文档补充安全说明
**描述**: 建议在 SKILL.md 中明确说明数据文件存储位置为工作目录下的 `memory/ontology/`,避免用户误解为 Agent 记忆系统。
---
**来源可信度评估**: T2 - 可信社区项目
ontology 内容
正在加载代码…