SENTINEL-HARNESS · v0.5.1 · AMAZON BEDROCK AGENTCORE HARNESS

生产级 SecOps Agent,
写成配置,而不是代码。

声明一个安全运营 Agent(模型 · 提示词 · 工具 · 技能 · 记忆 · 限额),AWS 托管整个 Agent 循环。换模型、加工具、改技能 = 改一行配置,不重写系统。

pip install sentinel-harness · 2501 测试全绿 · M0–M17 全部交付 · PyPI + GitHub Pages 已上线
01 / 14
为什么做这件事

SecOps 团队的三个真实困境

01

编排代码泥潭

每个 Agent 都要手写循环、重试、会话、工具调用。换个模型 = 重写;加个工具 = 发版。安全团队在写基础设施,而不是安全逻辑。

02

能力孤岛

一个分析师的技能、一套内部 MCP 工具、一批检测规则——散落各处,无法流通。「一个人会的,全团队都该会」缺一个框架来实现。

03

不可控 + 不可证

Agent 自主执行安全操作,谁批准的?分数是真的吗?没有人机门禁、没有证据链的 Agent,安全团队不敢让它碰生产。

sentinel-harness 是这三个问题的参考答案——构建在 Amazon Bedrock AgentCore Harness(2026-06 GA)之上。

02 / 14
核心主张

Agent 即配置(Agent as Configuration)

# harnesses/alert-triage/harness.yaml — 这就是一个完整的生产 Agent harnessName: sentinel_alert_triage model: global.anthropic.claude-* # 换模型 = 改这一行 systemPrompt: system_prompt.md tools: [siem_query, enrich_ioc, create_ticket] # 加工具 = 加一项 allowedTools: 显式白名单,永不 '*' memory: SEMANTIC + SUMMARIZATION # 跨会话记忆,actorId 多租户隔离 maxIterations: 15 timeoutSeconds: 120 # 硬限额,Agent 永不失控

AWS 跑循环

每会话一个 Firecracker microVM,托管 Agent 循环、流式输出、记忆、工具网关——零编排代码。

配置即变更

loader 读 YAML → create_harness。dry-run 本地预检,fleet 幂等供给,跨环境 tag 防护。

无锁定

sentinel export 一键导出 Strands 代码,随时离开托管方案自己跑。

03 / 14
系统架构

双平面 API × 三层 SecOps

L1 策略层 · Strategy 告警研判 · CVE 情报 · 检测生成 · 反馈闭环 · Meta-Agent · 自改进循环 HITL 门禁 · 托管记忆 · Supervisor 编排 · Managed Evaluate · 回归护栏 + 安全否决 L2 攻击验证层 · Attack Validation BAS 盲区回放 · Sigma 匹配器(8 修饰符)· 攻击路径推理 · 威胁狩猎 · 引爆沙箱(诚实模拟) Play Mode 每一步 HITL 门禁 · Sandbox Hooks · 检测工程 7 件套(确定性 · 零 LLM · 离线) L3 基础层 · Foundation Gateway(CUSTOM_JWT)· Registry 双门治理 · 私有 VPC 默认拒绝出网 · Guardrail · 可观测 CDK + Terraform 双轨 IaC · Cognito 身份 · PrivateLink · CloudWatch 指标 + Budgets 告警 · 溯源账本 Amazon Bedrock AgentCore Harness(托管循环 · microVM · Memory · Gateway · 控制面 + 流式数据面)
04 / 14
北极星 · 已实证交付

Agent 构建 Agent,自我迭代闭环

自然语言需求 「做一个告警研判 Agent」 Meta-Agent 产出合法 harness 规格 真实构建 create → READY → invoke 独立评审 LLM-judge · 0.0 → 1.0 人类批准 HITL inline gate 晋升上线 endpoint 幂等晋升 低于阈值 → 带归因重试(最多 3 轮,硬上限)

真机实证:弱 Agent 判 0.0 → 全量替换更新 → 复评 1.0 → 过安全否决 + 回归护栏 → 人批 → CreateHarnessEndpoint 上线;拒绝路径不晋升。evidence/closed_loop_result.json, closed: true

05 / 14
M16/M17 · 信任模型创新

Agent 自主编排,但晋升由「见证」守门

v0.5 起,自改进 Agent 通过自己的 tool_use 流驱动整个循环——但 driver 只分发和守卫,提示词是建议,driver 是执法

✓ 见证门(witness gate)

晋升只在 driver 亲眼见到:① 评分 handler 实际返回通过所有机器门的分数 ② 人类在 HITL 门真实批准 ③ 被评分的 harness == 被晋升的 harness(主体绑定)。Agent「声称」分数无效——driver 只信 handler 返回值。

✗ 已封死的攻击路径

评分 A 晋升 B(confused-deputy)→ 拒绝;跳过评分直接晋升 → 拒绝;安全维度不过 → 否决;旋转刷调用 → 硬上限终止;未知工具 → 结构化拒绝。全部有对抗测试证明。

# 每次拒绝都进审计 trace,Agent 可见、可纠正、不可绕过 {"outcome": "refused_promotion", "detail": "no witnessed passing evaluation for subject 'harness_B'"}
06 / 14
检测工程 · 确定性 · 零 LLM · 离线

7 件套流水线 + 一条命令的 CI 门

lint translateYARA·Suricata·SPL·EQL dedup coverageATT&CK 盲区 audit0-100 健康分 navigator热力图导出 baseline回归门

v0.5 新增:8 个 Sigma 修饰符

cidr / base64+offset / windash / gt-lte / exists / cased / null 语义——之前静默错误的匹配,现在要么正确、要么诚实报 caveat(不支持的修饰符绝不假装匹配)。

v0.5 新增:FP 噪声启发式

结构完美但会淹没 SOC 的规则(contains:'temp' + critical 级 + 无过滤器)——5 个确定性指标识别,健康分封顶扣 10 分。

一条命令 CI 门

sentinel detection ci rules/ --min-score 90 --against baseline.json——健康分不达标或相对基线回归,即刻非零退出。

07 / 14
M15 · 平台分发

MCP Server:任何 AI Agent 直连 20 个工具

# Claude Code / Cursor / Windsurf / 自研 Agent — 零集成代码 $ pip install sentinel-harness[mcp] $ sentinel mcp serve # settings.json: {"mcpServers": {"sentinel": {"command":"sentinel", "args":["mcp","serve"]}}}

治理门内建

registry 双门(approved ∧ code-mapped)在 MCP 面同样生效:pending 工具默认隐藏,控制面工具(花钱/危险)需显式环境变量开启。默认暴露 17 个安全工具。

协议级测试

用真实 MCP SDK 内存传输测完整协议:initialize → list_tools → call_tool,治理过滤、未知工具结构化报错——SDK 变更不再静默破坏。

打包修复

v0.4 wheel 曾漏打 tools/ 目录(pip 用户全挂)。v0.5 修复 + 10 条 tripwire 测试永久防回归。诚实披露,不装无事。

08 / 14
质量方法论 · 不是测出来的,是攻出来的

对抗审计:敌意找茬 → 独立否决 → 只修实锤

100+

实锤缺陷修复
每个都带回归测试

8+1

轮敌意审计
+ 45-agent 深扫(M17)

40-68%

否决率
验证者不是橡皮图章

12/12

M17 深挖项
全部交付合并

服务模型漂移扫描

拿真实 botocore 服务模型离线校验每个 AWS 载荷——抓到 5 个「离线全绿、上线必炸」的形状缺陷(clientToken 正则、memory 包裹、Create/Update 不对称),全部真机验证修复。

典型实锤(M17 轮)

MCP 绕过治理门暴露全部工具 → 修;wheel 漏打 tools/ 全体 pip 用户挂 → 修 + tripwire;见证门可被 confused-deputy 绕过 → 主体绑定;分页只读第一页孤儿化计费资源 → 全量 drain。

09 / 14
不是 Mock · 真实 AWS 账号跑过再拆干净

关键能力全部真机实证

✓ Runtime A2A

CreateAgentRuntime → 真实 arm64 microVM → A2A message/send HTTP 200 → 真实 Bedrock 模型出 Log4Shell 研判 → 拆除。

✓ 自改进闭环 closed:true

弱 Agent 0.0 → 改进 → 复评 1.0 → 安全否决 + 回归护栏 → 人批 → endpoint 晋升;拒绝路径不晋升。

✓ CUSTOM_JWT 网关

Cognito OIDC M2M 真 token 过(200),无 token / 假 token 拒(401)——身份是执法的,不是纸面的。

✓ 跨会话记忆 + 租户隔离

tenant-1 四个会话语义抽取后跨会话召回;tenant-2 召回为 0——多租户隔离是硬的。

✓ Guardrail 真拦截

工具响应里注入的假 AWS 密钥被 GUARDRAIL_INTERVENED 真实掩码。

✓ 默认拒绝出网

私有 VPC:无 IGW、无 NAT、无 0.0.0.0/0,PrivateLink-only 拓扑真机验证。

36+ 份证据 JSON 入库(账号 ID 全部脱敏为 000000000000)。诚实边界同样写明:引爆沙箱是诚实模拟、真实数据面对接需客户账号。

10 / 14
供应链 · 全自动发布

一个 tag,从测试门到 PyPI 全自动

git tag v0.5.1唯一人工动作 质量门lint + 2501 测试 + 覆盖率 88% 构建 + 供应链SBOM (CycloneDX) + SLSA 溯源签名 GitHub Releasewheel + tarball + SBOM PyPI 上线pip install 即用

📦 PyPI

pypi.org/project/sentinel-harness — v0.4.0 → v0.5.1 三个版本已上线,链路端到端验证。

🌐 项目主页

neosun100.github.io/sentinel-harness — 深色主题 landing + pdoc API 文档(/api/)自动部署。

🔒 CI 安全栈

CodeQL 双语言 · pip-audit 阻断 · bandit · secret 扫描 · Dependabot · Scorecard · py3.10-3.13 矩阵。

11 / 14
v0.5.1 · 数字说话

工程密度一览

2501

离线测试全绿
确定性 · 零 AWS · 秒级

M0-M17

18 个里程碑
全部交付

20

工具(7 检测件套
+ 数据面 + 平台运维)

21

可跑场景
每个落证据 JSON

36+

证据集
真机运行落盘

9+4

技能 + 专家容器
(A2A 真机验证)

2×IaC

CDK 9 stacks
+ Terraform 镜像

0

客户数据 / 真实恶意样本
全部通用内容 + 脱敏

12 / 14
上手 · 60 秒离线路径 → 一条命令上云

三种姿势进入

① 评估(零 AWS)

pip install sentinel-harness make test # 2501 绿 make demo # 21 场景

② 接入你的 AI 工具链

pip install sentinel-harness[mcp] sentinel mcp serve # Claude Code 直接用 17 个工具

③ 部署到你的账号

make deploy # CDK 一键 make create-harnesses make smoke  make destroy

接你自己的 SIEM / 工单 / 资产系统:8 个 SIEM 连接器(Splunk / Elastic / QRadar / Microsoft Sentinel…)+ 3 个工单连接器,纯翻译零网络,*_LIVE 环境变量一开即连——配置变更,不是重构。

13 / 14
SENTINEL-HARNESS v0.5.1

安全 Agent 的未来是
配置驱动、证据说话、见证守门。

github.com/aws-samples/sample-sentinel-harness · pip install sentinel-harness
neosun100.github.io/sentinel-harness

MIT-0 开源 · 拿走 · 改造 · 部署,无锁定
14 / 14