sayfos-labs/sayfos-sdk

GitHub: sayfos-labs/sayfos-sdk

面向 AI agent 的 Python 安全 SDK,通过运行时预算控制、操作溯源、计划预检和意图验证等机制,在自动化操作执行前进行拦截与裁决。

Stars: 1 | Forks: 0

# Sayfos SDK [中文 README](README_zh.md) Sayfos SDK 是一个 AI agent 安全 SDK,用于 runtime guardrails:tool-call 控制、source-chain 溯源、budget 限制、plan preflight、 prompt-injection 隔离以及 adjudication token。 它提供参考数据对象、验证 hook 和框架适配器, 以便在自动化操作到达工具、API、数据系统、 云资源或 embodied endpoint 之前对其进行检查。 本仓库是社区参考实现,而非完整的 企业级 gateway 或托管控制平面。 ## 采用政策 Sayfos SDK 旨在易于采用。 您可以在个人项目、商业产品、内部工具、研究原型、开源 项目和生产应用中使用遵循 Apache 2.0 协议的社区 SDK。无需注册、使用情况汇报、 付费计划、贡献者协议,使用该 SDK 代码也不依赖 Sayfos Cloud。 您还可以 fork、修改、重新分发本 SDK,或在此 SDK 之上 构建应用或服务,前提是您遵循 Apache 2.0 协议并保留 适用的许可和声明文件。 开源许可证不授予使用 Sayfos 商标、 认证标记、官方服务名称的权利,也不允许将 fork 或 衍生项目标榜为官方 Sayfos SDK、Sayfos Enterprise、经认证的 Sayfos gateway 或授权的 Sayfos 服务。 ## 官方上游 本仓库是 Sayfos SDK 的官方上游参考实现: ``` https://github.com/sayfos-labs/sayfos-sdk ``` 欢迎在 Apache 2.0 协议下创建 fork 和衍生项目,但 它们必须保留适用的许可和声明文件,且不得暗示 它们是官方 Sayfos SDK、Sayfos Enterprise、经认证的 Sayfos gateway 或授权的 Sayfos 服务,除非另行获得书面批准。 如果您基于此项目进行构建,请注明您的工作是基于公开的 Sayfos SDK 接口或 与其兼容,而不是官方 上游项目。 ## Sayfos 能帮助解决的问题 | 不使用 Sayfos | 使用 Sayfos | | --- | --- | | Agent 循环在你醒来前一夜耗资 300 美元 | Budget 限制阻止第 51 次调用,硬性止付 5.00 美元 | | “为什么 agent 转账了 5千美元?” - 没人知道 | Source chain 将授权追溯至 `auth://user/cfo` | | Prompt injection 诱骗 agent 执行 `rm -rf` | Intent verification 在操作前检查 runtime 证据 | | 多步 plan 在第 7 步悄然越界 | Plan preflight 在第 1 步之前验证整个 plan | | 机械臂在未确认物理存在的情况下执行命令 | Embodied verification 交叉检查数字与物理状态 | Sayfos SDK 为这些检查提供了通用对象和轻量级参考引擎, 让开发者能够围绕 AI agent、RPA 系统、 工作流引擎、编码 agent、云运维 agent、机器人、车辆 agent 和 IoT agent 添加 runtime guardrails。 ## 安装 ``` pip install sayfos-sdk ``` 使用 LangChain 适配器: ``` pip install sayfos-sdk[langchain] ``` 使用开发 API server: ``` pip install sayfos-sdk[api] ``` ## 快速开始 ``` from sayfos import ( ActionDeclaration, IntentVerificationRequest, SayfosPipeline, Verdict, ) declaration = ActionDeclaration( actor_type="langchain_tool", action_type="send_payment", target="acct_42", parameters={"amount": 150.0, "currency": "CNY"}, root_authorization_ref="auth://user/alice", task_lineage_ref="task://report/step-3", risk_level=5, ) request = IntentVerificationRequest( action=declaration, touch_events=12, screen_on=True, device_held=True, budget_remaining={"amount": 500.0, "tool_calls": 10}, ) pipeline = SayfosPipeline() token = pipeline.evaluate(request) if token.verdict != Verdict.ALLOW: raise RuntimeError(f"Blocked: {token.reason_code}") result = execute_payment(**declaration.parameters) ``` ## 标准对象 社区 SDK 以少量机器可读对象为核心: | 对象 | 角色 | | --- | --- | | ActionDeclaration | 提议的自动化操作 | | IntentVerificationRequest | 操作加上 runtime 证据 | | EmbodiedResponse | 情境或 embodied 一致性结果 | | Budget | 委派的 runtime 权限和配额 | | PreflightPlan | 多步执行 plan | | ExecutionBoundary | 机器可读的 plan 或步骤边界 | | AdjudicationToken | 绑定的判定和约束 | | AuditSummary | 机器可验证的审计摘要 | ## 参考验证维度 | 维度 | 检查内容 | | --- | --- | | Source-chain 完整性 | 操作是否携带所需的溯源引用 | | Budget 治理 | 操作是否在委派的 runtime 权限内 | | Plan preflight | 多步 plan 是否保持在 execution boundary 内 | | Embodied 一致性 | 数字操作证据是否与情境或物理证据匹配 | 内置引擎特意保持轻量级。生产环境部署 应使用持久化存储、经过身份验证的策略管理、运维 监控以及更强大的特定组织决策逻辑。 ## LangChain 适配器 ``` from sayfos.adapters.langchain import SayfosLangChainInterceptor, BlockedActionError interceptor = SayfosLangChainInterceptor() @interceptor.guard @tool def transfer_funds(amount: float, to: str) -> str: return f"Transferred {amount} to {to}" try: transfer_funds(100.0, "acct_evil") except BlockedActionError as e: print(f"Blocked: {e.token.reason_code}") ``` ## CLI ``` sayfos verify --action '{"action_type":"payment","parameters":{"amount":100}}' sayfos budget create --owner agent-1 --quotas '{"amount_cny":5000}' sayfos plan preflight --plan '{"steps":[]}' --budget-id ``` ## 路线图 | 里程碑 | 状态 | | --- | --- | | 核心 SDK(对象、pipeline、CLI、LangChain 适配器) | 已发布 (v0.1.0) | | Budget 治理引擎 | 已发布 | | Source-chain 完整性引擎 | 已发布 | | Plan preflight 引擎 | 已发布 | | Embodied verification 引擎 | 已发布 | | CrewAI / Dify / AutoGen 适配器 | 计划于 2026 年第三季度 | | Sayfos Cloud(托管 gateway + 审计 dashboard) | 计划于 2026 年第四季度 | ## 开源边界 本仓库在 Apache 2.0 协议下提供公共接口、参考对象、轻量级 验证引擎、示例和适配器。 预期的开源边界足够广泛,开发者可以基于该 SDK 构建、 测试、集成并交付真实的应用程序。 企业级 gateway 功能、托管策略引擎、认证 服务、生产环境控制平面和商业支持属于独立的 服务产品,不包含在此社区 SDK 中。 ## 声明 - Apache 2.0 - 见 [LICENSE](LICENSE) - 专利声明 - 见 [PATENT_NOTICE](PATENT_NOTICE.md) - 贡献指南 - 见 [CONTRIBUTING](CONTRIBUTING.md) - 商标声明 - 见 [TRADEMARK](TRADEMARK.md)
标签:AI智能体, 人工智能, 安全SDK, 工具调用控制, 提示词注入防御, 文档结构分析, 用户模式Hook绕过, 运行时防护, 逆向工具