vinayavasu/SAILORS
GitHub: vinayavasu/SAILORS
SAILORS 是一套专注于单个 AI 功能级别的威胁建模框架,帮助团队在设计评审中快速完成发布前的安全检查清单核对。
Stars: 1 | Forks: 0
# SAILORS
**一个面向单个 AI 功能的专家级威胁建模框架。**
STRIDE 是为传统软件系统构建的。MAESTRO 在架构层面解决了 Agentic AI 系统的问题。它们都没有回答当团队决定*“我们要增加这个 AI 功能”*那一刻真正会问的问题:**在发布之前我们需要检查什么?**
SAILORS 填补了这一空白。
## SAILORS 的定位
| 框架 | 范围 | 它回答的问题 |
|---|---|---|
| STRIDE | 传统系统 | 这个系统的数据流可能出什么问题? |
| MAESTRO | Agentic AI 架构 | 这个多 Agent 系统中可能出什么问题? |
| **SAILORS** | **单个 AI 功能** | **在这个特定的 AI 功能发布前我们要检查什么——以及在每次重大变更时还要检查什么?** |
SAILORS 专为在功能级别使用而设计:针对单个 RAG pipeline、单个工具调用能力、单个基于 LLM 的 endpoint,而不是整个系统或整个 Agent 架构。它的目的是提供足够快的运行速度,以便在设计评审中使用,而不仅仅是作为一项合规性审查。
## 框架
| 字母 | 原则 | 检查内容 |
|---|---|---|
| **S** | Sanitize 所有输入 | 用户/工具输入在到达模型之前,是否经过了验证、编码和边界限制? |
| **A** | 检索时的访问控制 | 检索(RAG、工具调用、记忆)是否尊重请求用户的实际权限?如果检索本身是另一个 Agent 的输出,这就变成了一个 MAESTRO 问题——跨 Agent 信任不是单个功能就能解决的。 |
| **I** | 检查并过滤输出 | 模型输出在呈现、执行或传递给下游之前,是否经过了检查? |
| **L** | 工具的 Least privilege | 该功能是否仅持有其所需的权限,仅此而已?包括资源使用范围——token 耗尽和无限制的工具调用属于权限问题,而非输入问题。 |
| **O** | 人工 Override 门禁(操作 + 范围) | 在以下情况发生之前,是否设有人工检查点:(1) 触发重大操作,以及 (2) 在会话期间扩大功能的范围或权限? |
| **R** | 记录所有操作 | 是否有足够的审计追踪来重现发生了什么以及为什么发生?如果由 Agent 自行编写日志,该日志的可信度仅与 Agent 本身一样——在可能的情况下,请通过该功能无法修改的渠道来路由日志。 |
| **S** | 系统提示词加固 | 系统提示词是否能抵御注入、泄露和 Override 尝试? |
## 映射到现有标准
SAILORS 与以下标准进行了交叉对比:
- OWASP LLM 应用程序 Top 10
- OWASP Agentic 应用程序 Top 10(即“Agentic Top 10”)
- MITRE ATLAS 战术(适用于功能级别的部分)
*(完整映射表:参见 `/mapping`)*
## 如何使用
1. 确定要发布的 AI 功能(是一个特性,而不是整个系统)。
2. 针对该功能,将每个 SAILORS 字母作为检查列表项进行逐一核对。
3. 将发现的差距标记为漏洞,并根据可利用性和影响范围进行优先级排序。
4. 在每次重大的功能变更时重新运行,而不是仅仅在发布时运行一次。
`/examples` 中包含了一个完整的示例。
## 状态
SAILORS 是一个早期的开源框架。目前正积极应用于专家级的威胁建模工作中,并不断完善。我们真诚地欢迎任何反馈、批评和真实世界的应用笔记,特别是来自那些目前正在应用 STRIDE 或 MAESTRO,并且遇到了同样功能级别缺口的人。
## 更新日志
**2026 年 7 月**
**在 Harshad Sadashiv Kadam 参与的专家评审之后,修订了两项检查:**
- **O** 现在涵盖两种情况而不是一种:对操作本身设置门禁,以及单独对会话期间功能范围或权限的扩展设置门禁。
- **A** 现在包含一个明确的交接规则:当检索是另一个 Agent 的输出而不是静态查找时,应交由 MAESTRO 处理,而不是勉强扩展 A 来涵盖它。
**在 Shivam Dhar 参与的评审之后,进行了三项改进:**
- L 现在明确涵盖了资源使用范围——token 耗尽和无限制的工具调用属于权限问题,而非输入问题。
- R 现在包含了一条关于 Agent 编写的审计追踪的日志信任说明。
- 框架的核心问题现在反映了持续的重运需求,而不仅仅是发布前的审查。
## 路线图
- 一个轻量级的概念验证扫描器(`/poc`)正在开发中,这是因为有反馈指出该检查列表需要一个可以运行的演示,而不仅仅是文档。
- 正在探索 SAILORS 如何与 AI 材料清单(AIBOM)结合——利用功能发现机制,在有新功能发布时自动触发 SAILORS 审查。
## 作者
**Vinaya Vasudevan**,AI 安全工程师,CAISP,SANS AIS247
作品集:[vinayavasu.github.io](https://vinayavasu.github.io)
博客:[Prompt to Patch](https://prompt-to-patch-vinaya.hashnode.dev)
## 贡献
欢迎提交 Issue 和 PR。如果您正在真实的场景中使用 SAILORS 进行功能评审,那么提供一个示例报告(即使是匿名处理的)也是目前最有用的贡献之一。
## 许可证
MIT
标签:DLL 劫持, 人工智能, 合规与审查, 大语言模型, 威胁建模, 用户模式Hook绕过, 防御加固