aion-context/aion-context
GitHub: aion-context/aion-context
aion-context 将 AI agent 的业务规则转化为经过 Ed25519 签名和哈希链保护的防篡改策略文件,让策略变更可验证、可审计且无法被模型悄悄绕过。
Stars: 1 | Forks: 0
# aion-context
[](https://crates.io/crates/aion-context)
[](https://docs.rs/aion-context)
[](#license)
**在线演示:** [demo.aion-context.dev](https://demo.aion-context.dev/) — 在真实的 agent 循环中运行 `.aion` 策略。
## 为什么团队使用它
AI agent 开始接触到各种工作流,在这些工作流中,“直接把它放进 prompt 里”已经不够了:访问规则、退款限制、升级阈值、临床或财务策略、司法管辖区约束以及特定客户的例外情况。这些规则需要在不重新训练模型的情况下进行更新,在模型之外执行,并在几个月后有人询问系统当时被允许做什么时进行解释。
`aion-context` 将业务规则转化为已签名的策略工件。
你的 agent 可以在采取行动之前检查策略。你的操作员可以通过签名版本来更新策略。你的安全、合规或审计团队可以验证发生了什么变更、谁批准了它,以及文件事后是否被篡改过。
当你需要回答以下问题时使用它:
- 当这个 agent 采取行动时,已批准的策略是怎么说的?
- 谁批准了最新的策略变更?
- 这个策略文件是否在已批准的路径之外被编辑过?
- 我们能否在不改变模型或 prompt 的情况下改变 agent 的行为?
- 审计员能否独立验证策略历史?
## 它的作用
在产品层面上,aion-context 为你提供:
| 需求 | aion-context 提供的内容 |
|---|---|
| **模型之外的规则** | 将可执行的策略保存在一个模型可以读取但无法悄悄重写的文件中。 |
| **签名的策略变更** | 每个策略版本都由授权的密钥签名,因此所有权和批准是明确的。 |
| **防篡改证据** | 如果有人改变了哪怕一个字节、删除了历史或重写了以前的版本,验证都会失败。 |
| **随时可审计的历史** | 策略自带其版本轨迹,因此团队可以重现随时间发生的变更。 |
| **本地执行** | CLI 和 Rust 库可离线工作;无需托管服务。 |
在底层,`.aion` 文件将 YAML、Markdown、JSON 或任何其他策略 payload 包装在一个带有完整性检查的版本化签名链中。
技术细节很重要,但结果很简单:策略变更变得可证明,而不是假定如此。
它*不是* sigstore、in-toto 或 SLSA 的替代品。它是这些系统遗留在台面上的、针对策略/文档形态的同级产品——请参阅[对比章节]了解它们之间的差异。
## Hello world
```
use aion_context::crypto::SigningKey;
use aion_context::key_registry::KeyRegistry;
use aion_context::operations::{init_file, verify_file, InitOptions};
use aion_context::types::AuthorId;
use std::path::Path;
fn main() -> anyhow::Result<()> {
let key = SigningKey::generate();
let author = AuthorId::new(1);
let mut registry = KeyRegistry::new();
registry.register_author(author, key.verifying_key(), key.verifying_key(), 0)?;
init_file(
Path::new("/tmp/policy.aion"),
b"allow: read\nallow: write",
&InitOptions { author_id: author, signing_key: &key, message: "v1", timestamp: None },
)?;
let report = verify_file(Path::new("/tmp/policy.aion"), ®istry)?;
assert!(report.is_valid);
Ok(())
}
```
这是一个只有十二行代码的、经过签名和防篡改的策略文件。随便改动文件的一个字节,`report.is_valid` 就会变成 `false` —— 无需进一步配置。
## 安装
```
# CLI:
cargo install aion-context
# Library:
cargo add aion-context
```
或者从源码构建:
```
git clone https://github.com/aion-context/aion-context
cd aion-context
cargo install --path . --bin aion
aion --help
```
## 开箱即用的内容
| 层级 | 你将获得什么 |
|---|---|
| **CLI** (`aion`) | `init` / `commit` / `verify` / `inspect` / `registry rotate \| revoke` / `release seal \| verify` / `archive verify` / `key generate` |
| **库** | `init_file` / `commit_version` / `verify_file` / `KeyRegistry` / `verify_multisig` (RFC-0021) / sealed releases (RFC-0032) / hardware attestation (RFC-0026) / hybrid PQC (RFC-0027) / transparency log (RFC-0025) |
| **格式** | Zero-copy 二进制布局。包含一个 header,一条链式签名历史记录,一个 encrypted_rules 部分,以及一个末尾的完整性哈希。最新的 payload 始终以内联方式存在;历史 payload 通过其 `rules_hash` 进行寻址以供外部归档。 |
| **Tracing** | `AION_LOG=info` 会为每个事件生成结构化的日志行(例如 `event=file_verified`,`event=signature_rejected reason=...` 等)。使用 `AION_LOG_FORMAT=json` 以便日志存储系统摄取。 |
| **示例** | `policy_loop`、`llm_policy_agent`(Claude 作为提议者 + `.aion` 作为网关)、`aegis_consortium`(5 方 PQC 法定人数)、`federation_hw_attest`(跨域 TEE 密钥)、`corpus_to_aion`(任意 git 历史记录 → 签名链) |
## 标准和协议
aion-context 与现有的供应链生态系统进行交互,而不是取代它。Sealed releases (RFC-0032) 会发出由 DSSE 包装的 SLSA Statements,你可以将其交给符合 sigstore 规范的验证器;transparency log (RFC-0025) 兼容 RFC 6962;OCI manifests 允许通过容器 registry 发布版本;JCS 提供确定性 JSON,用于跨实现的哈希处理。
[](https://www.rust-lang.org/)
[](https://crates.io/crates/aion-context)
[](https://www.sigstore.dev/)
[](https://slsa.dev/)
[](https://in-toto.io/)
[](https://opencontainers.org/)
[](https://github.com/secure-systems-lab/dsse)
[](https://datatracker.ietf.org/doc/rfc8785/)
[](https://datatracker.ietf.org/doc/rfc6962/)
[](https://csrc.nist.gov/pubs/fips/204/final)
[](https://ed25519.cr.yp.to/)
[](https://github.com/BLAKE3-team/BLAKE3)
[](https://datatracker.ietf.org/doc/rfc8439/)
请参阅[对比章节]以了解 aion-context 与上述各个相邻项目之间的关系(何时该使用哪一个)。
## 文档
- **[本书](book/src/SUMMARY.md)** — 快速入门、心智模型、
CLI 参考、架构深度剖析、操作手册、
示例说明。使用 `mdbook serve book/` 构建。
- **[产品定位](docs/POSITIONING.md)** — 面向产品、安全、合规和平台受众的简单明了的
信息传达。
- **[更新日志](CHANGELOG.md)** — 你正在运行的版本中有什么。
- **[RFCs](rfcs/)** — 涵盖协议设计的 35 个 RFC,从
威胁模型到 sealed releases。
- **[贡献指南](CONTRIBUTING.md)** — 分支 / 提交 / PR
规范。
- **[安全](SECURITY.md)** — 漏洞披露政策。
## 参考实现
展示 aion-context 端到端接入真实业务领域的、具有生产参考价值的示例:
- **[aion-edu](https://github.com/aion-context/aion-edu)** — 一个合成的、AI 原生的
大学,其中每一个评分标准、证书和认证都是经过签名、哈希链接的
记录。展示了 sealing 和**离线验证**、用于联合学位的 **K-of-N multisig**、**registry-epoch** 委托/撤销,以及机构间的
**federation** —— 这是一个包含 7 个 crate 的 Rust 工作区,附带了一个 axum Web 应用(具有电影质感的首页、实时课堂、federation 控制台)。
## 状态
**1.0.0** — 公共 API、磁盘上的二进制格式、CLI 退出代码
契约、结构化 tracing 事件词汇表以及受限的
`reason` 代码现在已处于 semver(语义化版本控制)的约束之下。完整的书面稳定性
承诺位于 [`book/src/architecture/stability.md`]。
加密原语(Ed25519、BLAKE3、ChaCha20-Poly1305、
HKDF-SHA-256、ML-DSA-65)若没有主版本号的升级以及
RFC,将不会发生变更。破坏性变更会在提交主题中带有 `!`,并且会被记录在 [CHANGELOG.md] 中。
## 次要内容 — 面向当前的贡献者
### 构建
```
cargo build --release
cargo test
cargo clippy --all-targets -- -D warnings
cargo fmt --check
cargo bench # criterion benches
cargo audit && cargo deny check # supply chain
```
### 项目布局
```
src/ library — the public crate
audit.rs append-only hash-chained audit log
crypto.rs Ed25519 + BLAKE3 + ChaCha20-Poly1305 primitives
key_registry.rs RFC-0028 trusted-key registry, rotations, revocations
manifest.rs RFC-0022 external-artifact manifests
multisig.rs RFC-0021 K-of-N quorum
operations.rs init / commit / verify public API
parser.rs zero-copy binary decoder
release.rs RFC-0032 sealed release composer
serializer.rs deterministic binary encoder
signature_chain.rs per-version signing & verification
transparency_log.rs RFC-0025 Merkle log + STH
types.rs FileId, AuthorId, VersionNumber newtypes
bin/aion.rs CLI binary
benches/ criterion perf benches
fuzz/ cargo-fuzz targets (parser totality)
examples/ runnable demos + per-industry rules YAMLs
rfcs/ the protocol specification
book/ mdbook source for the operator manual
.claude/ rules + agents + hooks for agentic contributors
```
### 核心原则
1. **Tiger Style** — 在库代码中杜绝使用 `unwrap()` / `expect()` / `panic!` /
`todo!` / `unreachable!`。每个可能失败的
函数都返回 `Result`。严禁使用 `unsafe_code`。crate 级别的 clippy lints 在编译
时强制执行此规则。
2. **加密至高无上** — 承载核心功能的原语来自于
`ed25519-dalek`、`blake3`、`chacha20poly1305`。绝不手动实现。
3. **关键路径实现 Zero-copy** — 解析器使用 `zerocopy` 以
避免在热路径(hot path)上进行内存分配。
4. **RFC 优先** — 非同寻常的格式 / 加密 / 协议变更
在代码合并之前,需要在 `rfcs/` 下提交一份 RFC。
5. **离线优先** — 该库绝不接触网络。
`aion` CLI 是一个单一静态二进制文件。
## 许可证
采用 [MIT](LICENSE-MIT) **或** [Apache-2.0](LICENSE-APACHE) 双重许可,
由你自行选择。
## 社区
- Bug 报告 → [GitHub Issues](https://github.com/aion-context/aion-context/issues/new/choose)
- 安全报告 → 参阅 [SECURITY.md](SECURITY.md)(仅限私下流程)
- 开放式问题 / 设计讨论 → [讨论区](https://github.com/aion-context/aion-context/discussions)
- 贡献规则 → [CONTRIBUTING.md](CONTRIBUTING.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
标签:AI治理, Rust, 可视化界面, 密码学, 手动系统调用, 网络流量审计, 通知系统