xDarkzx/TheLastBastion
GitHub: xDarkzx/TheLastBastion
为自主 AI agent 提供加密身份验证、信任评分、数据完整性校验与区块链审计追踪的安全基础设施平台。
Stars: 1 | Forks: 0
# 最后的堡垒
**为 AI agent 自主运行的世界提供 agent 安全基础设施。**
[](LICENSE)
[](https://www.python.org/)
[](#whats-built)
[](sdk/lastbastion/protocol/)
没有人在验证 agent。The Last Bastion 做到了。
## 问题所在
AI agent 被部署到生产环境时,仅仅配备了一个 API key 和一段系统 prompt。它们调用工具、签署交易、交换数据并做出决策——但目前没有标准化的方法来验证 agent 的身份是否如其声明的那样,或者它携带的数据是否未被篡改。
当前的身份验证(OAuth、JWT、API key)是为点击按钮的人类构建的。它假设有人处于闭环中。Agent 没有这种条件。它们全天候跨系统、跨组织自主运行。
这并非理论上的推测:
- **NIST** 将 agent 身份和信任确定为 AI 安全中尚未解决的关键缺口([NIST AI 600-17](https://csrc.nist.gov/pubs/ai/600/17/final))
- **CSA** 发布了关于 Agentic AI 威胁的指南,包括身份欺骗和数据投毒
- 预计到 2030 年,AI agent 安全市场规模将达到 2360 亿美元(WEF)
还没有人为此构建基础设施。The Last Bastion 是一个致力于解决此问题的原型。
## 解决了什么问题
### Agent 信任验证
一个包含 10 项检查的安全 pipeline,用于回答:*“我应该信任这个 agent 吗?”*
```
Agent arrives → Identity Check → Cryptographic Challenge (Ed25519)
→ Behavioral Analysis → Anti-Sybil Detection → Capability Audit
→ Payload Integrity → Network Reputation → History Analysis
→ Anomaly Detection → Trust Score (0.0 - 1.0)
→ Verdict: TRUSTED / SUSPICIOUS / MALICIOUS
→ Signed Passport (JWT) + Blockchain Stamp
```
Agent 会收到一个**加密 passport**——一个经过签名的 JWT,包含其信任评分、验证结果和防克隆保护。其他系统可以离线验证此 passport,无需调用 The Last Bastion。
### Payload 完整性验证
一个 5 层 pipeline,用于回答:*“我应该信任这些数据吗?”*
```
Data arrives → Schema Gatekeeper (injection detection, type checking)
→ Consistency Analyzer (arithmetic, cross-field logic, anomalies)
→ Forensic Integrity (ELA, noise analysis, copy-move, metadata, PDF forensics)
→ Logic Triangulation (cross-reference, temporal, domain logic)
→ Adversarial Challenge (devil's advocate)
→ Verdict: REJECTED / QUARANTINE / VERIFIED / GOLD
→ Proof Hash → Merkle Chain → Blockchain Anchor
```
每次验证都会生成一条防篡改的证明记录。这些记录通过 Merkle chain 链接在一起——修改任何记录都会破坏所有后续的 hash。可选择上链锚定以进行独立验证。
### Bastion Protocol —— agent 间通信的快速通道
Bastion Protocol 是专为上述第二种情况设计的二进制网络协议——采用 MessagePack 组帧、Ed25519 身份验证、X25519 临时 Diffie-Hellman 握手(提供前向安全性)、NaCl SecretBox 加密会话,以及类似 TLS-1.3 的会话恢复机制,这样重新连接时就不必再次支付完整的握手开销。提供两种身份验证模式,可按部署进行选择,而不是按协议:
- **PASSPORT 模式** —— 签发方签名 passport,绑定到已知的信任权威机构。当验证权威机构(如 The Last Bastion)处于闭环中时使用此模式。
- **DIRECT 模式** —— 无需签发方。两个已经拥有自己 Ed25519 密钥的 agent 通过密钥绑定(即 SSH 用于主机密钥的首次使用信任模型)相互认证——适用于目前尚无第三方权威机构,但仍希望获得快速、加密且双向认证的通信通道这一常见现实场景。
A2A 依然是开放生态系统的“前门”。Bastion Protocol 是那些已经相互识别的 agent 随后会切换到的协议。
### 沙盒
## 自己动手验证
我们不需要您凭信仰接受性能声明——我们发布了用于测量这些性能的工具。
```
# Terminal 1 — 接收 agent
python scripts/bastion_bench.py serve --port 9100
# Terminal 2 — 发送 agent(同一台机器,或者将 --host 指向完全不同的机器)
python scripts/bastion_bench.py bench --host 127.0.0.1 --port 9100
```
它会启动两个真实的 agent,执行真实的握手,并通过真实的 TCP 连接交换真实的加密帧——没有 mock,也没有模拟数字。它会从该次运行中报告:
- 全新握手延迟与恢复握手延迟的对比(会话恢复会跳过完整的密钥交换)
- 吞吐量(消息数/秒、MB/秒)以及往返延迟百分位
- 运行期间的 CPU/内存使用情况
- 在同一台机器、相同 payload 和同一次运行中,与普通的 JSON-over-TCP 进行的并行对比
该工具不需要任何外部基础设施——没有 Postgres,没有 Redis,没有 Docker。只需这个仓库的 SDK。
我们不会在这里给出一个数字并要求您相信它。在您自己的硬件上、您自己的网络中运行它。如果数据结果不理想,这对我们来说也是有用的信息——[请参阅下方未解决的事项](#whats-built)。
## 架构
```
┌───────────────────────────────────┐
│ THE LAST BASTION │
│ │
Agent arrives ────────►│ M2M / REST API (Ed25519 + Nonce) │
│ │ │
│ ┌────▼─────┐ │
│ │ Agent │ 10-check trust │
│ │ Verifier │ pipeline │
│ └────┬─────┘ │
│ │ │
│ ┌────▼─────┐ │
│ │ Passport │ Ed25519-signed │
│ │ Issuer │ JWT + blockchain│
│ └────┬─────┘ │
│ │ │
Data arrives ─────────►│ ┌─────▼──────┐ │
│ │ 5-Layer │ │
│ │Verification│ │
│ │ Pipeline │ │
│ └─────┬──────┘ │
│ │ │
│ ┌────▼─────┐ │
│ │ Proof │ Merkle chain │
│ │ Ledger │ + blockchain │
│ └──────────┘ │
└───────────────────────────────────┘
▲
│ binary, encrypted, resumable
┌─────────────┴─────────────┐
│ Bastion Protocol │
│ PASSPORT mode / DIRECT mode│
└─────────────────────────────┘
▲ ▲
Agent A (your stack) Agent B (their stack)
```
## 已构建功能
下面列出的所有内容均已实现,并由自动化测试套件覆盖。这里没有任何关于 roadmap 项目的营销文案——如果它被列为已构建,`pytest` 会在每次更改时证明这一点。
### 安全基础设施
- **10 项检查的 agent 验证 pipeline** —— 身份、加密挑战、行为、防 Sybil、payload、网络、历史、异常
- **Ed25519 挑战-响应身份验证** —— agent 证明密钥所有权,而不仅仅是密钥占有
- **加密 passport** —— 带有防克隆保护的签名 JWT(运行时指纹、IP 白名单 hash)
- **M2M 协议** —— 消息新鲜度(300秒窗口)、nonce 防重放、速率限制、RBAC
- **Bastion Protocol** —— 二进制 agent 间网络协议;PASSPORT 模式(由签发方验证)和 DIRECT 模式(密钥绑定,无需签发方);具备单次轮换票据和前向保密性的会话恢复
### 验证栈
- **Schema Gatekeeper** —— 结构化验证,SQL/XSS/代码注入检测
- **Consistency Analyzer** —— 算术交叉校验,统计异常检测
- **7 个取证分析器** —— 错误级别分析 (ELA)、噪声模式、复制-移动检测、光照分析、元数据取证、文件结构、PDF 取证
- **Logic Triangulation** —— 交叉引用、时间、特定领域逻辑校验
- **Adversarial Challenge** —— 5 种策略:矛盾搜寻、边界测试、来源怀疑、模式注入、置信度校准
### 审计与区块链
- **Merkle-chain 证明账本** —— 仅追加,防篡改,每条记录都链接到前一条
- **Proof-of-Task** —— SHA-256 不可否认性(证明哪个 agent 在何时产生了什么数据)
- **Polygon Amoy 上的智能合约:**
- `SwarmProofRegistry` —— 链上证明锚定([0x110a...e946](https://amoy.polygonscan.com/address/0x110affBAC98FCC6b86Da499550B1fC0aCA22e946))
- `SwarmAgentRegistry` —— agent 身份、信誉、服务市场 ([0xc917...0D7D](https://amoy.polygonscan.com/address/0xc9177baBF86FF16794AABd1a2169f898986a0D7D))
### Agent 网络
- **A2A Protocol**(Linux Foundation 标准) —— 面向外部发现的 layer,适用于此生态系统之外的 agent
- **Bastion Protocol** —— 一旦双方都能使用即可切换的快速内部通道(见上文)
- **4 个演示 agent** —— Producer、Compliance、Logistics、Buyer —— 演示供应链验证工作流
- **Agent Cards** —— 标准化发现 (`/.well-known/agent-card.json`)
### 平台
- **FastAPI 后端**,在 `/docs` 提供完整的 API 文档
- **React 仪表盘** —— 监控、协议数据流、沙箱控制
- **Python SDK** —— 客户端、网关中间件、协议库、MCP 工具
- **Docker 编排** —— 一条命令即可启动
### 已知未决事项
我们宁愿列出目前还不完善的地方,也不愿让您通过艰难的方式发现它们:
- 在同一台机器上,对于小型且高频的消息,Bastion Protocol 的 DATA-frame 吞吐量目前*尚未*快于普通的 JSON-over-TCP —— 会话恢复显示出真实的、可测量的加速效果,但原始吞吐量仍有待进一步优化。请运行上方的基准测试工具获取当前数据。
- `core/database.py` 的大部分查询层目前仍是同步的,这在少数老旧 endpoint 的并发负载下可能会阻塞事件循环 —— 目前正在逐步解决。
- DIRECT 模式 + 会话恢复已在协议层实现并经过测试,但尚未连接到高级的 `AgentSocket` 便捷 API —— 目前可以通过 `DirectAgentSocket` 直接使用。
## 快速开始
**要求:** Docker + 免费的 Groq API key。仅此而已。
```
# 1. Clone
git clone https://github.com/xDarkzx/TheLastBastion.git
cd TheLastBastion
# 2. Configure
cp .env.example .env
# 编辑 .env — 从 https://console.groq.com 添加你的 Groq key
# 3. Launch(构建所有内容,不需要在你的系统上安装)
docker-compose up --build
```
| 服务 | URL |
|---------|-----|
| **仪表盘** | [http://localhost:5173](http://localhost:5173) |
| **API** | [http://localhost:8000](http://localhost:8000) |
| **API 文档** | [http://localhost:8000/docs](http://localhost:8000/docs) |
只想看看两个 agent 互相交谈,不需要 Docker?请参阅上方的[自己动手验证](#prove-it-yourself)。
包含故障排除的完整设置指南:**[SETUP.md](SETUP.md)**
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| **API** | FastAPI, Uvicorn, SQLAlchemy |
| **数据库** | PostgreSQL(持久化), Redis(队列 + 发布/订阅) |
| **前端** | React, Vite, Axios |
| **密码学** | Ed25519, X25519 (PyNaCl / libsodium), SHA-256, HMAC, JWT |
| **序列化** | MessagePack (Bastion Protocol), JSON (REST/A2A) |
| **区块链** | Solidity, Hardhat, Web3.py, Polygon Amoy |
| **LLM** | Groq (Llama 3.3 70B), Ollama(本地,可选) |
| **Agent 协议** | A2A (Linux Foundation), Bastion Protocol(本仓库), MCP |
| **容器化** | Docker, Docker Compose |
| **取证** | PIL/Pillow, NumPy (ELA, 噪声, 复制-移动, 光照) |
## 智能合约
两个合约均已部署并在 Polygon Amoy 测试网上验证通过。
### SwarmProofRegistry
在链上存储验证证明 hash。对源数据的任何修改都会使证明失效。查询免费(无 gas 费用)。
- **地址:** [`0x110affBAC98FCC6b86Da499550B1fC0aCA22e946`](https://amoy.polygonscan.com/address/0x110affBAC98FCC6b86Da499550B1fC0aCA22e946)
- **功能:** `anchorProof()`, `anchorBatch()`, `verifyProof()`(免费)
### SwarmAgentRegistry
链上 agent 身份、信誉评分(0-100)、服务列表和任务收据。所有查询均免费。
- **地址:** [`0xc9177baBF86FF16794AABd1a2169f898986a0D7D`](https://amoy.polygonscan.com/address/0xc9177baBF86FF16794AABd1a2169f898986a0D7D)
- **功能:** `registerAgent()`, `updateReputation()`, `registerService()`, `recordTaskReceipt()`
## SDK
Python SDK 允许任何 agent 与 The Last Bastion 交互 —— 注册、获取验证、提交数据、保护 endpoint,或直接使用 Bastion Protocol 通信。
```
from lastbastion import LastBastionClient
async with LastBastionClient(base_url="http://localhost:8000") as client:
# Generate Ed25519 keypair
public_key, private_key = client.generate_keypair()
# Register → verify → get passport (one call)
passport = await client.register_and_verify(
agent_id="my-agent",
public_key=public_key,
private_key=private_key,
)
# passport contains: trust_score, jwt_token, verification_checks
# Submit data for verification
result = await client.submit_payload({"invoice": {"total": 1500}})
# result = {"verdict": "VERIFIED", "score": 0.82, "proof_hash": "abc123..."}
```
无需验证权威机构,直接通过 Bastion Protocol 与另一个 agent 对话:
```
from lastbastion.crypto import generate_keypair
from lastbastion.protocol import DirectAgentSocket, PeerTrustStore
pub, priv = generate_keypair()
trust_store = PeerTrustStore(".my_agent_trust.json")
conn, ticket, secret = await DirectAgentSocket.connect(
"peer-host:9100", agent_id="my-agent", public_key=pub,
signing_key=priv, trust_store=trust_store,
)
await conn.send({"task": "verify", "payload": {...}})
result = await conn.recv()
```
完整的 SDK 文档:**[sdk/README.md](sdk/README.md)**
## 为什么这很重要
Agent 经济正建立在缺乏安全基础设施之上。每一个主流框架(LangChain、CrewAI、AutoGen)都允许您构建 agent,但它们都不验证与其交互的 agent。
**目前存在的东西:**
- API key(共享密钥,无身份验证)
- OAuth(需要人工介入)
- JWT(没有针对 agent 间信任的标准)
- 对 agent 生成的数据几乎没有任何取证验证
**需要什么:**
- agent 身份的加密证明(不仅仅是“拥有有效的密钥”)
- 行为验证(这个 agent 行为正常吗?)
- 数据完整性验证(这些数据是真实的还是伪造的?)
- 防篡改的审计跟踪(我们能证明发生了什么吗?)
- 跨平台信任(适用于任何 agent 框架)
这些就是 NIST、CSA 和 WEF 认定的关键缺口。The Last Bastion 是一个正在致力于解决这些问题的原型实现。
## 研究与参考
安全模型基于真实的研究:
- [NIST AI 600-17](https://csrc.nist.gov/pubs/ai/600/17/final) —— AI agent 身份与授权缺口
- [CSA AI Safety Initiative](https://cloudsecurityalliance.org/) —— Agentic AI 威胁建模
- [A2A Protocol](https://github.com/google/A2A) —— Linux Foundation 的 agent 间通信标准
- [MCP Protocol](https://modelcontextprotocol.io/) —— 工具集成标准
[`/documents`](documents/) 中的架构文档:
- `BASTION_PROTOCOL_SPEC.md` —— Bastion Protocol 规范
- `SYSTEM_ARCHITECTURE.md` —— 完整系统设计
- `SANDBOX_BLUEPRINT.md` —— Sandbox 架构
- `NIST_RESEARCH.md` —— NIST 缺口分析
- `M2M_SIM_BLUEPRINT.md` —— M2M 模拟生态系统设计
## 许可证
Apache 2.0 —— 见 [LICENSE](LICENSE) 和 [NOTICE](NOTICE)。
如果您使用、fork 或基于此代码进行构建——必须注明出处。
## 联系方式
**Daniel Hodgetts** —— DK Studios NZ
Email: [dkstudiosnz@gmail.com](mailto:dkstudiosnz@gmail.com)
*独立开发者。正在构建 agent 生态系统中其他人尚未触及的安全层——通过一次又一次经过验证的 commit。*
标签:AI智能体, CIDR输入, Python, 人工智能安全, 合规性, 审计追踪, 密码学, 手动系统调用, 无后门, 请求拦截