数据模型与安全机制
数据存储
SQLite 数据库
Stratagem.php 优先使用轻量级本地存储:
| 数据库 | 用途 |
|---|
| stratagems.db | 锦囊元数据与 FTS5 全文索引 |
| a2a/*.db | A2A Agent 注册表与任务存储 |
| cache/* | 缓存数据 |
FTS5 全文搜索
支持智能锦囊搜索:
安全机制
路径遍历防护
严格的路径校验,防止越权访问:
// 白名单机制
$allowedPaths = ['/allowed/dir1', '/allowed/dir2'];
操作白名单
文件操作仅限特定目录:
- 读取:仅允许白名单目录
- 写入:严格限制目标路径
- 执行:禁止任意命令注入
SSL 证书验证
网络请求启用完整 SSL 验证:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
输入验证
InputValidator 提供多层验证:
- JSON 格式验证
- 深度限制(防止嵌套攻击)
- 大小限制(防止内存溢出)
速率限制
防止单个客户端过度使用:
- 默认:每 60 秒最多 100 请求
- 可通过环境变量配置
来源:Stratagem.php 安全机制文档