vulnmaster/CASE-UCO-SDK
GitHub: vulnmaster/CASE-UCO-SDK
一个支持多语言的 CASE/UCO 数据建模 SDK,用于构建和序列化符合数字取证行业标准的 JSON-LD 图谱。
Stars: 0 | Forks: 0
# CASE/UCO SDK
**v1.2.0** · CASE 1.4.0 · UCO 1.4.0 · [更新日志](CHANGELOG.md)
一个用于数字取证、网络调查和网络可观测数据的多语言数据建模库。如果您的软件生成或消费取证证据,此 SDK 为您提供 **Python**、**C#**、**Java** 和 **Rust** 的类型化、经过验证的构建器——这样您可以用自己的语言对调查数据进行建模,并生成可互操作的 [CASE/UCO](https://caseontology.org/) JSON-LD 输出。
该 SDK 还可与 AI 编程助手(Cursor、Claude Code 等)协同工作——请参阅下方的 [AI 辅助开发](#ai-assisted-development)。
## SDK 的功能
该 SDK 是根据官方 CASE 1.4.0 和 UCO 1.4.0 本体源自动生成的。发布规范中的每个类、属性和词汇表术语在每种语言中都有对应的类型化类。生成的代码为您提供:
- **完整的本体覆盖** —— 涵盖 15 个模块(包括扩展)中的所有 428 个类
- **类型化属性**,具有正确的 JSON-LD 序列化(IRI、类型化字面量、嵌套对象)
- **必填字段验证** —— 在插入图谱之前检查本体强制要求的属性
- **自动 JSON-LD 上下文** —— 内置标准的 18 个 CASE/UCO 命名空间前缀
- **确定性 ID 支持** —— 使用自动生成的 UUID 或提供您自己的稳定 IRI
- **支持往返操作** —— 加载现有 JSON-LD 图谱、添加对象并重新序列化
## 安装
### Python
```
git clone --recurse-submodules https://github.com/vulnmaster/CASE-UCO-SDK.git
cd CASE-UCO-SDK
pip install -e python/
```
### 所有语言 (通过 Makefile)
```
git clone --recurse-submodules https://github.com/vulnmaster/CASE-UCO-SDK.git
cd CASE-UCO-SDK
make init # install generator + fetch submodules
make generate # regenerate all libraries from ontology sources
make build # build Python, C#, Java, Rust
make test # run all test suites
make lint # mypy (Python) + clippy (Rust)
make smoke # run smoke test binaries (C#, Java, Rust)
make check # all of the above in one command
```
### 前置条件
只需根据您的语言安装所需依赖:
| 语言 | 需求 |
|----------|-------------|
| Python | Python 3.9+ |
| C# | .NET SDK 8.0+ |
| Java | JDK 11+ 和 Maven |
| Rust | Rust 工具链 (cargo) |
## 基本用法
每种语言的工作流程都是一样的:创建图谱、添加类型化对象、序列化为 JSON-LD。
### Python
```
from case_uco import CASEGraph
from case_uco.uco.tool import Tool
from case_uco.uco.observable import ObservableObject, ApplicationFacet
graph = CASEGraph(kb_prefix="http://example.org/kb/")
tool = graph.create(Tool, name="My Forensic Tool", version="3.0")
app = graph.create(
ObservableObject,
has_facet=[ApplicationFacet(application_identifier="com.example.app")],
)
print(graph.serialize()) # JSON-LD string
graph.write("output.jsonld")
```
### C\#
```
using CaseUco;
using CaseUco.Uco.Tool;
using CaseUco.Uco.Observable;
var graph = new CaseGraph("http://example.org/kb/");
var tool = new Tool { Name = "My Forensic Tool", Version = "3.0" };
graph.Add(tool);
var app = new ObservableObject();
app.HasFacet = new List
标签:CASE-UCO, CSharp, IPv6支持, JSON-LD, JS文件枚举, MCP, Python, Rust, 互操作性, 人工智能, 可视化界面, 多语言支持, 安全测试框架, 数字取证, 数据序列化, 数据验证, 无后门, 本体论, 标准化, 用户模式Hook绕过, 类型安全, 结构化数据, 网络可观测数据, 网络安全, 网络流量审计, 网络调查, 自动化代码生成, 自动化脚本, 逆向工具, 通知系统, 隐私保护