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 { new ApplicationFacet { ApplicationIdentifier = "com.example.app" } }; graph.Add(app); graph.Write("output.jsonld"); ``` ### Java ``` import org.caseontology.CaseGraph; import org.caseontology.uco.tool.Tool; import org.caseontology.uco.observable.*; CaseGraph graph = new CaseGraph("http://example.org/kb/"); Tool tool = new Tool(); tool.setName("My Forensic Tool"); tool.setVersion("3.0"); graph.add(tool); ApplicationFacet facet = new ApplicationFacet(); facet.setApplicationIdentifier("com.example.app"); ObservableObject app = new ObservableObject(); app.getHasFacet().add(facet); graph.add(app); graph.write("output.jsonld"); ``` ### Rust ``` use case_uco::graph::CaseGraph; use case_uco::uco::tool::Tool; let mut graph = CaseGraph::new("http://example.org/kb/"); let tool = Tool::builder() .version("3.0".to_string()) .build(); let id = graph.create(&tool); let json = graph.serialize().expect("serialization failed"); println!("{json}"); ``` ## 确定性 ID 默认情况下,每个对象都会获得一个基于 UUID 的 `@id`,例如 `kb:Tool-550e8400-...`。对于需要稳定、可复现 IRI 的流水线: ``` # Python — 传递 id= 到 create() 或 add() tool = graph.create(Tool, id="kb:Tool-my-stable-id", name="My Tool") ``` ``` // C# — use AddWithId() graph.AddWithId(tool, "kb:Tool-my-stable-id"); ``` ``` // Java — use addWithId() graph.addWithId(tool, "kb:Tool-my-stable-id"); ``` ``` // Rust — use create_with_id() let id = graph.create_with_id("kb:Tool-my-stable-id", &tool); ``` ## 加载现有图谱 所有运行时都可以加载现有的 JSON-LD 图谱、添加新对象并重新序列化: ``` graph = CASEGraph() graph.load_file("existing-case-bundle.jsonld") # merge context + objects graph.create(Tool, name="New Tool") # add more objects graph.write("enriched-bundle.jsonld") # write combined graph ``` ## 处理大型数据集 CASE/UCO 调查图谱可能会迅速变大——单条 DNS 记录在底层会产生 21 个 RDF 三元组,完整的文件系统提取可能会生成数百万个。该 SDK 提供了相关工具,帮助您在任何计算环境中对图谱大小进行分区、估算和管理。 ### 构建前估算 ``` graph = CASEGraph() # ... 添加对象 ... print(f"~{graph.estimate_triples()} triples") # estimate before serializing ``` ### 构建多个聚焦的图谱 与其构建一个巨大的图谱,不如在源头创建聚焦的图谱。按照自然的取证边界(按应用、按卷、按邮箱)进行分区——而不是按任意对象数量——因为调查对象之间会相互引用,简单的拆分会破坏这些关系。 ``` # 好:从移动设备提取的每个应用一个图 for app_id in discovered_apps: graph = CASEGraph() # ... add all objects for this app (tool, observables, actions) ... graph.write(f"mobile-{app_id}.jsonld") # 然后合并或加载到图数据库以进行综合分析 combined = CASEGraph.merge_files([ "mobile-com.example.messenger.jsonld", "mobile-com.example.browser.jsonld", ]) ``` **何时使用 `split()` 是安全的?** `split()` 辅助函数适用于对象独立的目录式图谱(例如,文件哈希、DNS 记录或 IoC 条目的平铺列表)。对于具有跨对象关系的图谱(例如,引用工具和可观测对象的调查行动),它**并不安全**,因为它是按对象索引进行拆分,而不保留引用完整性。 ### 硬件配置快速参考 | 环境 | RAM | 舒适的最大值 | |-------------|-----|----------------| | 笔记本电脑 (16 GB) | 16 GB | ~32K 对象 (~672K 三元组) | | 工作站 (32 GB) | 32 GB | ~64K 对象 (~1.3M 三元组) | | 工作站 (64 GB) | 64 GB | ~256K 对象 (~5.4M 三元组) | | 图数据库 | 任意 | 无限 (基于磁盘) | 有关详细的基准测试、分区策略、验证工具比较和图数据库集成示例,请参阅 **[docs/PERFORMANCE_GUIDE.md](docs/PERFORMANCE_GUIDE.md)**。 ## 扩展本体 该 SDK 开箱即支持扩展本体。如果 CASE/UCO 未涵盖您的领域,您可以在 OWL Turtle 中定义新类,并将它们与生成的类型一起使用。 ### 步骤 1:定义您的扩展本体 创建一个包含新类和属性的 `.ttl` 文件。每个类都必须是现有 UCO/CASE 类的子类: ``` @prefix myext: . @prefix uco-core: . @prefix owl: . @prefix rdfs: . @prefix xsd: . myext:MyCustomObject a owl:Class ; rdfs:subClassOf uco-core:UcoObject ; rdfs:label "MyCustomObject"@en ; rdfs:comment "A domain-specific object for my use case."@en ; . myext:customProperty a owl:DatatypeProperty ; rdfs:label "customProperty"@en ; rdfs:comment "A property specific to my extension."@en ; rdfs:domain myext:MyCustomObject ; rdfs:range xsd:string ; . ``` ### 步骤 2:脚手架类型化类 使用内置的 scaffold 命令为所有四种语言自动生成起始类: ``` # 从您的扩展 TTL + 验证形状生成入门类 case-uco-generate scaffold \ --extension path/to/myext.ttl path/to/myext-shapes.ttl \ --output-dir my_project/ # 为单一语言生成 case-uco-generate scaffold \ --extension path/to/myext.ttl \ --lang python \ --output-dir my_project/ ``` 这将生成预填好所有属性、基数和 IRI 的类型化数据类、C# 类、Java POJO 和 Rust 结构体。 ### 步骤 3:使用脚手架生成的类 导入生成的类,并像使用任何内置 SDK 类型一样使用它们: ``` from myext_classes import MyCustomObject from case_uco import CASEGraph graph = CASEGraph(extra_context={ "myext": "http://example.org/ontology/myext/", }) graph.add(MyCustomObject(custom_property="my value")) print(graph.serialize()) ``` ### 步骤 4:使用 case_validate 验证 如果您计划与 CDO 社区分享您的扩展,请验证您的示例数据: ``` pip install case-utils case_validate --built-version case-1.4.0 \ --ontology-graph path/to/myext.ttl \ --inference rdfs --allow-info \ path/to/myext-exemplar.ttl ``` 请参阅 [toolcap 扩展](extensions/toolcap/) 以获取此模式的完整、经过验证的示例,以及 [CDO 社区演练场指南](https://docs.google.com/document/d/1EiXQiAeUGk-629xdKx7HZHVn927k891LGkPcQzNLLr8/edit?usp=sharing) 以了解提交要求。 ## 发现类 面对 15 个模块中的 428 多个类,为您的用例找到合适的类可能具有挑战性。SDK 提供了四种浏览本体的方式。 ### CLI 本体浏览器 从您的终端搜索和浏览整个本体: ``` pip install -e generator/ # 按关键字搜索 case-uco-explore search "file" # 获取类的完整详细信息(属性、类型、继承) case-uco-explore class FileFacet # 列出所有模块 case-uco-explore modules # 浏览特定模块 case-uco-explore module observable # 查看继承层次结构 case-uco-explore hierarchy Tool # 按属性类型查找类 case-uco-explore properties --type Tool ``` 浏览器默认包含扩展本体。使用 `--no-extensions` 仅浏览核心 CASE/UCO。 ### 运行时内省(所有语言) SDK 中的每种语言都包含由同一个自动生成的 `_registry.json` 支持的运行时注册表。无需离开 IDE 即可以编程方式搜索、列出和查询可用的对象类型。 **Python:** ``` from case_uco.registry import search, get_class, find_facets, list_modules results = search("browser") for r in results: print(f"{r['name']:30s} {r['module']}") info = get_class("FileFacet") for prop in info["properties"]: print(f" {prop['name']:20s} {prop['type']:15s} required={prop['required']}") ``` **C#:** ``` using CaseUco; var results = OntologyRegistry.Search("browser"); foreach (var r in results) Console.WriteLine($"{r["name"],-30} {r["module"]}"); var info = OntologyRegistry.GetClass("FileFacet"); // Also: ListModules(), ListClasses(), FindFacets(), FindByPropertyType(), ListVocabs() ``` **Java:** ``` import org.caseontology.OntologyRegistry; var results = OntologyRegistry.search("browser"); for (var r : results) System.out.printf("%-30s %s%n", r.get("name"), r.get("module")); var info = OntologyRegistry.getClass("FileFacet"); // Also: listModules(), listClasses(), findFacets(), findByPropertyType(), listVocabs() ``` **Rust:** ``` use case_uco::registry; let results = registry::search("browser"); for cls in &results { println!("{:30} {}", cls.name, cls.module); } let info = registry::get_class("FileFacet").unwrap(); // Also: list_modules(), list_classes(), find_facets(), find_by_property_type(), list_vocabs() ``` ### 本体参考 每个类、属性和词汇表类型的完整自动生成参考: - **[ONTOLOGY_REFERENCE.md](ONTOLOGY_REFERENCE.md)** —— 包含属性表的完整类参考,按模块组织 ### 领域映射指南 不知道哪个 CASE/UCO 类适合您的数据?映射指南按取证领域组织类: - **[docs/MAPPING_GUIDE.md](docs/MAPPING_GUIDE.md)** —— 将常见概念(文件、网络、设备、电子邮件、移动设备等)映射到正确的类,并附带使用示例 ### 配方 (Recipes) 常见取证工作流的分步模式——磁盘映像、文件系统分析、网络痕迹、监管链、移动取证、往返序列化和管理大型数据集: - **[docs/recipes/](docs/recipes/INDEX.md)** —— 包含可复制粘贴示例的实用手册(每个配方一个文件) ## SDK 架构 ``` CASE-UCO-SDK/ ├── generator/ Code generator + CLI explorer + docs generators ├── ontology/ Git submodules: UCO 1.4.0 + CASE 1.4.0 sources ├── python/ Generated Python library (case-uco) + runtime registry │ └── tests/ pytest suite + exhaustive instantiation tests ├── csharp/ Generated C# library (CaseUco, netstandard2.0) │ ├── CaseUco.Tests/ xUnit tests + exhaustive instantiation tests │ └── CaseUco.Smoke/ Smoke test binary (import + serialize) ├── java/ Generated Java library (org.caseontology) │ └── src/test/ JUnit tests + exhaustive instantiation tests ├── rust/ Generated Rust crate (case-uco) │ ├── tests/ Integration + exhaustive instantiation tests │ └── examples/smoke.rs Smoke test binary (import + serialize) ├── extensions/ Extension ontologies (included in explorer + docs) │ └── toolcap/ Forensic tool capability comparison extension ├── mcp_server/ MCP server for AI-assisted development │ ├── server.py FastMCP server wrapping the ontology registry │ └── domain_index.py Task-to-class mappings, recipe index, and proposal triage ├── change_proposals/ Locally-drafted ontology change proposals ├── .cursor/ │ ├── rules/ AI agent guidance (SDK patterns, gap detection) │ └── mcp.json MCP server configuration ├── docs/ │ ├── ECOSYSTEM.md Companion tools, community extensions, ontology sources │ ├── MAPPING_GUIDE.md Domain mapping guide (auto-generated) │ ├── PERFORMANCE_GUIDE.md Engineering tradeoffs and benchmarks │ ├── templates/ Official change proposal template │ └── recipes/ Practical forensic workflow cookbook (one file per recipe) │ ├── INDEX.md Recipe catalog and shared guidance │ ├── chain-of-custody.md │ ├── change-proposal.md │ ├── forensic-tool.md │ └── ... (11 recipe files total) ├── ONTOLOGY_REFERENCE.md Complete class reference (auto-generated) ├── .github/workflows/ CI, CodeQL, dependency review, release workflows └── Makefile Build orchestration (make check for full verification) ``` ## 功能矩阵 | 功能 | Python | C# | Java | Rust | |---------|--------|----|------|------| | 完整类型化类 (428 个类) | Yes | Yes | Yes | Yes | | JSON-LD 序列化 | Yes | Yes | Yes | Yes | | 自定义 / 确定性 ID | `create(id=)` | `AddWithId()` | `addWithId()` | `create_with_id()` | | 加载现有 JSON-LD | `load()` / `load_file()` | `Load()` | `load()` / `loadFile()` | `load()` / `load_file()` | | 必填字段验证 | Yes | Yes | Yes | — | | 静态类型检查 / Linting | mypy (strict) | — | — | clippy | | 穷实例化测试 | Yes | Yes | Yes | Yes | | 冒烟测试二进制文件 | — | `CaseUco.Smoke` | `SmokeTest` | `examples/smoke` | | 对象计数 | `len(graph)` | `Count` | `size()` | `len()` | | 三元组估算 | `estimate_triples()` | `EstimateTriples()` | `estimateTriples()` | `estimate_triples()` | | 图拆分 (仅目录数据) | `split()` | `Split()` | `split()` | `split()` | | 多文件合并 | `merge_files()` | `MergeFiles()` | `mergeFiles()` | `merge_files()` | | 类型化反序列化 | `from_jsonld()` | — | — | — | | 运行时内省 | `case_uco.registry` | `OntologyRegistry` | `OntologyRegistry` | `registry` 模块 | | 来源元数据 | `UCO_VERSION` | `CaseUcoMeta` | `CaseUcoMeta` | `VERSION` | ## 本体版本 | 组件 | 版本 | |-----------|---------| | UCO | 1.4.0 | | CASE | 1.4.0 | 运行时检查: ``` import case_uco print(case_uco.UCO_VERSION) # "1.4.0" print(case_uco.CASE_VERSION) # "1.4.0" ``` ## AI 辅助开发 该 SDK 旨在与 Cursor、Claude Code 等人工智能编程助手配合使用。当您在受支持的 IDE 中打开此项目时,AI 代理会自动了解如何使用 SDK——选择哪些类、如何构建图谱以及如何验证输出。 ### 工作原理 1. **Cursor 规则** (`.cursor/rules/`) 教授 AI 代理核心 SDK 模式、ObservableObject + Facet 建模方法以及常见陷阱——使其能在第一次就编写出正确的代码。 2. **MCP 服务器** (`mcp_server/`) 提供编程式本体发现工具。AI 代理无需阅读文档,而是调用 `search_classes("mobile")` 或 `find_classes_for_domain("email evidence")` 来为您的场景找到精确匹配的类型。 3. **面向领域的任务映射** 将自然语言描述(“对磁盘映像提取进行建模”)转换为所需的特定类,因此您可以描述取证工作流并获得正确的代码。 ### 设置 Cursor 规则会自动包含在内。要启用 MCP 服务器: ``` pip install fastmcp ``` 然后重启 Cursor——将检测到 `.cursor/mcp.json` 配置并启动服务器。打开 Cursor 的 MCP 面板(设置 > 工具与 MCP)并确认 "case-uco" 服务器显示为已连接。 ### MCP 工具参考 MCP 服务器公开了八个工具和三个资源,AI 代理会在后台调用它们: | 工具 | 功能 | |------|-------------| | `search_classes` | 通过名称或描述的关键词匹配查找类 | | `get_class_details` | 类的完整属性表(类型、基数、必填标志) | | `find_classes_for_domain` | 将自然语言取证任务映射到正确的类 | | `list_all_facets` | 用于 ObservableObject + Facet 模式的所有 Facet 类 | | `get_recipe` | 查找与取证工作流场景匹配的代码配方 | | `list_all_vocabs` | 所有词汇表/枚举类型及其有效成员 | | `check_existing_proposals` | 在开放的 UCO/CASE GitHub issues 中搜索先前的变更提案 | | `draft_change_proposal` | 从概念、场景和建议类生成填好的变更提案 | 资源(只读上下文):`case-uco://domains`、`case-uco://modules`、`case-uco://patterns`。 ### 您可以这样提问 用通俗的语言描述您的需求。代理使用 MCP 工具找到正确的类,阅读匹配的配方以获取正确的模式,编写 SDK 代码,并验证输出——一步到位。 - "对来自三星 Galaxy 的 Cellebrite 提取结果进行建模,包含 WhatsApp 消息和 GPS 数据" - "为从外地办事处接收的证据创建监管链记录" - "我在 WiFi 接口上用 Wireshark 捕获了这个 pcapng——对其进行建模" - "对带有 SIM 卡、IMEI 和运营商信息的移动设备进行建模" - "创建一个将文件归类为恶意软件且置信度为 0.92 的取证分析结果" - "我需要对制裁名单上的比特币钱包进行建模——有相应的类吗?" - "起草一份用于建模无人机遥测数据的变更提案" ### 典型代理工作流 当您描述取证场景时,代理遵循以下工作流: ``` 1. find_classes_for_domain("network packet capture") → relevant classes 2. get_class_details("TCPConnection") → property table 3. get_recipe("network investigation") → code pattern 4. Writes Python script using the SDK → output.py 5. Runs the script → output.jsonld 6. Validates with case_validate → Conforms: True ``` 代理还会自动应用配方中的约定——例如,用 `observed`、`inferred` 或 `configuration` 标记 `Relationship` 对象以对证据依据进行分类,并为调查图谱使用三层模型(获取、观测事实、分析)。 ### 缺口检测与变更提案 当您要求对本体尚未涵盖的内容进行建模时,代理会检测到缺口并提议为 UCO 或 CASE体委员会起草正式的变更提案: ``` 1. search_classes("cryptocurrency"), search_classes("wallet") → no matches 2. find_classes_for_domain("blockchain forensics") → no task templates 3. get_class_details("DigitalAddress") → confirm near-miss 4. check_existing_proposals("cryptocurrency wallet") → no prior proposals 5. Agent drafts proposal with proposed classes, SPARQL, JSON-LD examples 6. Writes filled-in template to change_proposals/ → ready for review ``` 代理会自动判断概念属于 UCO(通用网络领域)还是 CASE(调查专用),检查两个 GitHub issue 跟踪器中的现有提案,并生成包含能力问题和示例实例数据的完整提案。详情请参阅 [变更提案配方](docs/recipes/change-proposal.md)。 起草的提案保存在 `change_proposals/` 中,可以作为 GitHub issues 提交给 [UCO](https://github.com/ucoProject/UCO/issues/new) 或 [CASE](https://github.com/casework/CASE/issues/new)。 ### 代理输出示例 `example_agentmcp_outputs/` 目录包含三个完整的演练示例,由 AI 代理使用此 SDK 和 MCP 服务器生成: | 示例 | 演示内容 | |---------|---------------------| | `wifi_capture.py` / `.jsonld` | 三层网络调查——获取(Wireshark 捕获)、观测网络(17 个 TCP 流、DNS 链、IPv6)和分析层(5 个带有置信度的服务归属) | | `cellbrite_samsung_extraction.py` / `.jsonld` | 移动设备取证——Cellebrite 提取,包含 WhatsApp 消息、GPS 位置、应用痕迹和设备元数据 | | `field_office_custody.py` / `.jsonld` | 监管链——来自外地办事处的证据转移,包含来源记录和处理文档 | 每个示例都包含构建图谱的 Python 源代码和经过验证的 JSON-LD 输出。 有关 MCP 服务器的设置详情和故障排除,请参阅 **[mcp_server/README.md](mcp_server/README.md)**。 ## 生态系统与工具 SDK 用于构建图谱。这些配套工具和社区项目构成了完整的图景。 ### 配套工具 - **[case-utils](https://github.com/casework/CASE-Utilities-Python)** —— 用于 SHACL 验证 (`case_validate`)、图谱合并和格式转换的 CLI 工具。通过 `pip install case-utils` 安装。 - **[Apache Jena Fuseki](https://jena.apache.org/documentation/fuseki2/)** —— 免费的支持 SPARQL 的图数据库,用于跨多个图谱文件进行查询。 ### 社区扩展 将 CASE/UCO 扩展到专业领域的项目: - **[CAC Ontology](https://github.com/Project-VIC-International/CAC-Ontology)** —— 用于针对儿童犯罪调查的 35 个以上模块。由 Project VIC International 维护。 - **[SOLVE-IT](https://github.com/SOLVE-IT-DF)** —— 用于数字取证工作流的知识库和扩展框架。 - **[Adversary Engagement Ontology](https://github.com/UNHSAILLab/Adversary-Engagement-Ontology)** —— 用于网络欺骗、蜜罐和对手交战行动的 UCO 子本体。 ### 本体来源 - [UCO Ontology](https://github.com/ucoProject/UCO) —— Unified Cyber Ontology 源码 - [CASE Ontology](https://github.com/casework/CASE) —— Cyber-investigation Analysis Standard Expression 源码 - [CASE Examples](https://github.com/casework/CASE-Examples) —— 经过验证的 CASE/UCO 示例数据 - [CDO Community Playground Guide](https://docs.google.com/document/d/1EiXQiAeUGk-629xdKx7HZHVn927k891LGkPcQzNLLr8/edit?usp=sharing) —— 社区扩展的要求 有关详细描述、安装指南和其他资源,请参阅 **[docs/ECOSYSTEM.md](docs/ECOSYSTEM.md)**。 ## 贡献 有关如何贡献的指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 Apache-2.0
标签:CASE-UCO, CSharp, IPv6支持, JSON-LD, JS文件枚举, MCP, Python, Rust, 互操作性, 人工智能, 可视化界面, 多语言支持, 安全测试框架, 数字取证, 数据序列化, 数据验证, 无后门, 本体论, 标准化, 用户模式Hook绕过, 类型安全, 结构化数据, 网络可观测数据, 网络安全, 网络流量审计, 网络调查, 自动化代码生成, 自动化脚本, 逆向工具, 通知系统, 隐私保护