xDarkzx/TheLastBastion

GitHub: xDarkzx/TheLastBastion

为自主 AI agent 提供加密身份验证、信任评分、数据完整性校验与区块链审计追踪的安全基础设施平台。

Stars: 1 | Forks: 0

# 最后的堡垒 **为 AI agent 自主运行的世界提供 agent 安全基础设施。** [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/) [![Status: Prototype](https://img.shields.io/badge/status-prototype-orange.svg)](#whats-built) [![Protocol: Ed25519](https://img.shields.io/badge/crypto-Ed25519%20%2F%20X25519-informational.svg)](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, 人工智能安全, 合规性, 审计追踪, 密码学, 手动系统调用, 无后门, 请求拦截