Production SecOps agents, built as configuration — on Amazon Bedrock AgentCore Harness
你声明 agent(模型·提示·工具·技能·记忆·限额),AWS 跑完整个 agent loop。零编排代码。
SecOps agent 为何难落地:编排代码税
agent = 配置,不是代码
两平面 API + 托管 harness + 三层
agent 造 agent 自迭代闭环
Registry 双闸门 DRAFT→PENDING_APPROVAL
全 EXTERNAL 实盘 · 每条挂 evidence
一键拉起 · CLI · Makefile · 无锁定
15 个可跑 scenario 串联
解决什么问题 × 怎么解决 × 优势
M0–M12 + 诚实边界 + 已发布 aws-samples
成熟的安全团队通常已经拥有:
Bedrock 上的基础模型
内部工具与数据接口
一堆 SOP / SKILL.md
缺的不是零件,而是一个让它们流转起来的框架 —— 让「一个分析师会的,全团队都会」。
托管 agent loop + 一组原语。你只写声明,平台跑运行。
托管语义/摘要记忆,actorId 多租户
内部 MCP 工具,allowedTools 显式白名单
内建浏览器 + 确定性计算沙箱
高风险动作暂停等人批准
默认拒绝出网
并行与角色分解的官方形态
每个会话跑在独立的 Firecracker microVM —— 隔离、用完即弃。
30 份 evidence,M0–M12,全 EXTERNAL 能力 实盘验证。每一条都能对上一个 evidence/*.json。
零编排代码:确定性计算 + HITL 门 + 记忆
2.64× 实测加速
closed_hitl_loop: true
GUARDRAIL_INTERVENED 遮蔽假 key
default-deny,无 IGW/NAT
HTTP 200 · 真 Bedrock 模型 · CVSS 10.0
账号 id 在所有 evidence 中脱敏为 000000000000。
sentinel create <harness.yaml>
sentinel invoke / list / delete
sentinel cleanup # 拆掉本 repo 建的所有 harness
sentinel run-scenario <name>
make test # 1742 离线测试 · 91% 覆盖
make deploy # free-tier 4 栈
make seed-registry # 双闸门治理检查
make create-harnesses # DRY_RUN 默认
make smoke # 验收
name: alert-triage
model: ${SENTINEL_MODEL}
systemPrompt: system_prompt.md
allowedTools: [siem_query, enrich_ioc, create_ticket]
memory: [SEMANTIC, SUMMARIZATION]
inlineGates: [request_containment_approval]
${ENV} 展开、system_prompt.md 解析、inline HITL 门自动注入。改一行 = 换模型/加工具/换技能。
把 harness 配置导出成可编辑的 Strands agent 代码 —— 迁到 Runtime / 自托管,随时带走
一键拆掉全部 CDK 栈(确认账号+region)
Registry / ECR / role / Runtime 的完整清单在 deploy/README
配置不够用时,导出代码;用完,一键清干净。不锁定、可复现。
python scenarios/scenario_cve_asset_triage.py —— 离线、秒级、确定性。
CVE-2021-44228 (Log4Shell)
nvd_lookup + epss_kev / KEV
asset_lookup → 谁暴露了该服务
reachable hosts + internet-exposed
结构化裁决:CVSS / KEV / affected
分析师签核后才可行动
结果落 evidence/cve_asset_triage_result.json(closed:true)。
python scenarios/scenario_feedback_loop.py —— 处置结果自动反哺策略。
噪声规则积累 4 条 FP 处置
detect_triggers 按 fp_rate 触发 whitelist 优化
whitelist_optimizer 可证明不误杀 Log4Shell TP
生成 rule_regeneration 任务交回 M1/M2 引擎
只有经 request_publish_approval 才发布
closed:true —— 处置 → 策略改进
三层 + 自迭代 + 质量门 + 可观测性 + 北极星安全
JWT 网关 · Evaluate(按需+在线) · 闭环 closed · Memory recall · A2A Runtime
SBOM · SLSA provenance · PyPI OIDC · 实时 API 文档站
trusted-publisher 需在 PyPI 侧一次性配置
接客户 SIEM/asset/工单需客户账号
代码级 span 发射待做(在线评估路径已实盘)
github.com/aws-samples/sample-sentinel-harness —— 进入 AWS 官方 aws-samples 组织
git clone → pip install -e '.[test]' → make test(1742 测试,零 AWS)
v0.3.0 · GitHub Release 附 wheel + sdist + CycloneDX SBOM + SLSA 溯源
neosun100.github.io/sentinel-harness(pdoc → GitHub Pages)
MIT-0 —— 可自由采用、修改、内嵌进你的 SecOps 平台
QUICKSTART · ARCHITECTURE · OBSERVABILITY · RELEASING · THREAT-MODEL · COOKBOOK
扫码直达官方样例库 · github.com/aws-samples/sample-sentinel-harness
公开仓库 · 零客户名/账号/密钥(CI 强制扫描) · 全部 evidence 已 scrub · 可复现
make test1742 离线测试 · 91% 覆盖 · 零 AWSmake demo平台叙事巡演,看 evidencemake deployfree-tier 上 AWS,一键拆agent = 配置,不是代码 · 治理与安全默认内建 · 无锁定 · 可复现