feat(validator): add extended evidence compliance rules, duplicate hash detection, and risk index calculator
MoonBit 公证材料清单与校验工具面向电子材料公证、证据提交、档案归集场景的一体化材料清单生成、哈希校验、数字防篡改与合规审查工具。开源创新大赛 (OSC 2026) 参赛作品
在电子证据提交、网络侵权取证、商业合同争议、企业档案归集等法律与合规场景中,电子材料具有易篡改、易伪造、数量庞大、格式多样的特点。传统手段缺乏标准化且高效的材料清单管理和哈希指纹防篡改校验。
moonbit-notary 专为 MoonBit 生态打造,提供从目录批量扫描、类型自动识别、算法哈希计算(FNV1a/CRC32/Murmur3/SHA256/MD5)、Merkle Tree 根哈希封存、规则审查、防篡改审计链、多格式导出(Markdown/JSON/CSV/HTML)到 CLI 命令行的完整技术支撑。
moonbit-notary
📦 核心数据模型 (src/core)支持 NotaryManifest、EvidenceItem、Digest、SourceNote、Category 等类型,提供 Fluent Builder API 与强类型索引与检索。
src/core
NotaryManifest
EvidenceItem
Digest
SourceNote
Category
🔒 纯 MoonBit 哈希指纹与 Merkle 树签名引擎 (src/digest)内置 FNV1a-32、CRC32、MurmurHash3、SHA256 算法及 Merkle Tree 树状根哈希计算,实现材料包全量哈希封存与篡改校验。
src/digest
📁 智能目录扫描与路径分类器 (src/scanner)自动扫描材料目录,识别扩展名(网页截图、聊天记录导出、合同扫描件、音视频、PDF、元数据),自动推导材料标题与生成元数据。
src/scanner
⚖️ 法律证据合规审查规则引擎 (src/validator)自动审查空清单、重复序号、无效哈希、缺失来源说明、禁止可执行扩展名、封存状态及 Merkle Root 防篡改比对,输出 0-100 分的合规报告。
src/validator
📜 防篡改区块链式审计追踪链 (src/audit)记录材料全生命周期操作事件(Init、Add、Scan、Verify、Seal、Export),基于 Hash Chain 链接保障日志不可伪造。
src/audit
Init
Add
Scan
Verify
Seal
Export
✍️ 数字签名与时间戳戳记认证 (src/crypto)支持公钥证书 PublicKeyCert、数字签名 DigitalSignature 与时间戳服务机构 TimeStampToken (TSA) 验证。
src/crypto
PublicKeyCert
DigitalSignature
TimeStampToken
🔄 清单版本对比与 Diff 引擎 (src/report)对比不同版本的材料清单,直观标识新增(Added)、删除(Removed)、哈希变更(ModifiedHash)及未变项。
src/report
📄 多格式导出器 (src/formatter)一键生成带样式印章的 Markdown 报告、API 兼容 JSON、Excel 兼容 CSV 以及独立 HTML 网页报告。
src/formatter
💻 CLI 命令行终端 (src/cli & cmd/main)支持 init、scan、verify、export、seal、audit 等终端指令。
src/cli
cmd/main
init
scan
verify
export
seal
audit
moonbit-notary/ ├── moon.mod # MoonBit 模块配置文件 ├── LICENSE # Apache 2.0 开源协议 ├── README.md # 项目主文档 ├── .github/ │ └── workflows/ │ ├── test.yml # GitHub Actions 自动化构建与测试 CI │ └── ci.yml # 校验与代码规范 CI ├── src/ │ ├── core/ # 核心数据模型与查询引擎 (NotaryManifest, EvidenceItem, Digest) │ ├── digest/ # 哈希算法与 Merkle Root 签名引擎 (FNV1a, CRC32, Murmur3, SHA256) │ ├── scanner/ # 目录扫描与扩展名分类器 (Classifier & ScanEngine) │ ├── formatter/ # Markdown / JSON / CSV / HTML 导出器 │ ├── validator/ # 证据合规审查规则引擎与报告生成 │ ├── audit/ # 防篡改防伪造 Hash-Chained 审计日志 │ ├── crypto/ # 数字签名与时间戳 (TSA) 验证引擎 │ ├── report/ # 清单版本 Diff 比对引擎 │ ├── config/ # 预设法律模板 (著作权/合同/电商/劳动争议) │ └── cli/ # CLI 终端命令解析器与调度器 ├── cmd/ │ └── main/ # CLI 可执行文件主入口 └── examples/ # 真实场景材料包 (网页截图、聊天记录、合同扫描件)
使用最新版 MoonBit 工具链 (0.10.3 / 2026):
moon check moon test
# 查看帮助 moon run cmd/main -- help # 初始化公证清单 moon run cmd/main -- init MAN-2026-001 # 扫描目录 moon run cmd/main -- scan ./evidence_folder # 校验材料包合规性 moon run cmd/main -- verify manifest.json # 导出为 Markdown / HTML / CSV moon run cmd/main -- export manifest.json markdown moon run cmd/main -- export manifest.json html # 封存材料清单并生成 Merkle Root moon run cmd/main -- seal manifest.json # 查看防篡改审计日志 moon run cmd/main -- audit MAN-2026-001
// 构造公证清单 let manifest = @core.ManifestBuilder::new() .set_id("MAN-2026-COPYRIGHT") .set_title("互联网著作权侵权材料清单") .set_org("北京市南方公证处") .set_applicant("张三") .add_evidence_simple(1, "侵权网页截图", "screenshots/page1.png", Screenshot, "sha256_hash...", "md5_hash...", 520000L, "Inspector-01") .build() // 封存材料包 @digest.seal_manifest(manifest) // 合规审查 let report = @validator.validate_manifest(manifest) // 导出 Markdown 报告 let md_output = @formatter.export_markdown(manifest)
moon fmt
pkg.generated.mbti
moon check
本仓库 hcjbat/moonbit-notary 属于 100% 独立原创作品,专门为 开源创新大赛 (OSC 2026) 研发设计。所有 MoonBit 源码、算法实现、规则引擎与测试用例均由提交者 hcjbat 原创编写,未使用、复制或重合 MoonBit 生态中已有的其他成熟库。
hcjbat/moonbit-notary
hcjbat
本项目采用 Apache License 2.0 协议开源。
面向电子材料公证、证据提交、档案归集场景,提供材料目录、编号、哈希、来源、时间戳、说明文本的一体化清单生成与校验。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MoonBit Notary (moonbit-notary)
📌 项目背景与核心价值
在电子证据提交、网络侵权取证、商业合同争议、企业档案归集等法律与合规场景中,电子材料具有易篡改、易伪造、数量庞大、格式多样的特点。传统手段缺乏标准化且高效的材料清单管理和哈希指纹防篡改校验。
moonbit-notary专为 MoonBit 生态打造,提供从目录批量扫描、类型自动识别、算法哈希计算(FNV1a/CRC32/Murmur3/SHA256/MD5)、Merkle Tree 根哈希封存、规则审查、防篡改审计链、多格式导出(Markdown/JSON/CSV/HTML)到 CLI 命令行的完整技术支撑。🌟 核心特性
📦 核心数据模型 (
src/core)支持
NotaryManifest、EvidenceItem、Digest、SourceNote、Category等类型,提供 Fluent Builder API 与强类型索引与检索。🔒 纯 MoonBit 哈希指纹与 Merkle 树签名引擎 (
src/digest)内置 FNV1a-32、CRC32、MurmurHash3、SHA256 算法及 Merkle Tree 树状根哈希计算,实现材料包全量哈希封存与篡改校验。
📁 智能目录扫描与路径分类器 (
src/scanner)自动扫描材料目录,识别扩展名(网页截图、聊天记录导出、合同扫描件、音视频、PDF、元数据),自动推导材料标题与生成元数据。
⚖️ 法律证据合规审查规则引擎 (
src/validator)自动审查空清单、重复序号、无效哈希、缺失来源说明、禁止可执行扩展名、封存状态及 Merkle Root 防篡改比对,输出 0-100 分的合规报告。
📜 防篡改区块链式审计追踪链 (
src/audit)记录材料全生命周期操作事件(
Init、Add、Scan、Verify、Seal、Export),基于 Hash Chain 链接保障日志不可伪造。✍️ 数字签名与时间戳戳记认证 (
src/crypto)支持公钥证书
PublicKeyCert、数字签名DigitalSignature与时间戳服务机构TimeStampToken(TSA) 验证。🔄 清单版本对比与 Diff 引擎 (
src/report)对比不同版本的材料清单,直观标识新增(Added)、删除(Removed)、哈希变更(ModifiedHash)及未变项。
📄 多格式导出器 (
src/formatter)一键生成带样式印章的 Markdown 报告、API 兼容 JSON、Excel 兼容 CSV 以及独立 HTML 网页报告。
💻 CLI 命令行终端 (
src/cli&cmd/main)支持
init、scan、verify、export、seal、audit等终端指令。🛠️ 项目架构
🚀 快速开始
1. 环境准备
使用最新版 MoonBit 工具链 (0.10.3 / 2026):
2. 命令行使用示例
3. 代码 API 使用示例 (MoonBit)
📊 MoonBit 源码规模与测试覆盖
moon fmt规范校验。pkg.generated.mbti接口规格文件。moon check0 警告 0 错误。📜 来源与原创声明
本仓库
hcjbat/moonbit-notary属于 100% 独立原创作品,专门为 开源创新大赛 (OSC 2026) 研发设计。所有 MoonBit 源码、算法实现、规则引擎与测试用例均由提交者hcjbat原创编写,未使用、复制或重合 MoonBit 生态中已有的其他成熟库。⚖️ 开源协议
本项目采用 Apache License 2.0 协议开源。