VrtxOmega/veritas-opensearch-incident-proofpack

GitHub: VrtxOmega/veritas-opensearch-incident-proofpack

一个为 OpenSearch Agent Skills 设计的非执行式工作流工具,将遥测数据转化为确定性、可验证的事件证据包,用于事件调查中的证据保全与矛盾检测。

Stars: 0 | Forks: 0

# OpenSearch 事件证明包 一个与 Agent Skills 兼容的非执行式工作流,用于将 OpenSearch 日志、追踪、告警和指标转化为确定性的事件证据包。 它专为以下危险时刻之间的情景而设计: 以及: 该技能会分别保留支持性和反驳性的遥测数据,将相关联的数据源折叠为依赖组,检测过期或超出时间窗口的证据,绑定精确的修复预览,并逐字节地重新计算整个数据包。 ## 它证明了什么 - 数据包与声明的案例相匹配; - 源查询和响应与其记录的摘要相匹配; - 相同的证据产生相同的证据状态; - 修复预览在评估后未发生改变; - 相关联的数据源未被计为独立投票。 ## 它不能证明什么 - 数据源陈述的是真相; - 事件声明在事实上是正确的; - 修复方案是安全或有效的; - 操作员批准了任何事情; - 可以执行任何操作。 每个数据包包含: ``` {"execution_authorized": false} ``` ## 快速演示 ``` uv run python skills/investigate-opensearch-incidents/scripts/incident_proofpack.py \ build \ --case skills/investigate-opensearch-incidents/assets/payment-api-case.json \ --out /tmp/payment-api-proofpack.json uv run python skills/investigate-opensearch-incidents/scripts/incident_proofpack.py \ verify \ --case skills/investigate-opensearch-incidents/assets/payment-api-case.json \ --packet /tmp/payment-api-proofpack.json uv run python skills/investigate-opensearch-incidents/scripts/incident_proofpack.py \ hostile-check \ --case skills/investigate-opensearch-incidents/assets/payment-api-case.json \ --packet /tmp/payment-api-proofpack.json ``` 预期证据状态:`CONFLICTED`。日志和追踪支持数据库连接池饱和的观点,而独立收集的指标源反驳了这一点。修复预览被阻止。 ## 五分钟带字幕演示 [![VERITAS OpenSearch Incident Proof Pack 演示海报](https://static.pigsec.cn/wp-content/uploads/repos/cas/0c/0c10305bd6c34162e4de32a0675833f3b9de0cec9e12d51a6ffd3b1a6c846ea1.png)](https://github.com/VrtxOmega/veritas-opensearch-incident-proofpack/releases/download/v0.1.0/veritas-opensearch-incident-proofpack-demo-v0.1.0.mp4) 这段 4:55 的演示带有完整的字幕,并且是由真实的 `build`、`verify` 和 `hostile-check` 输出生成的。它的[机器可读清单](https://github.com/VrtxOmega/veritas-opensearch-incident-proofpack/releases/download/v0.1.0/veritas-opensearch-incident-proofpack-demo-v0.1.0.manifest.json)记录了测量的持续时间、媒体摘要、确切的包结果、五个被拒绝的变更以及实时 OpenSearch 集成证据。重新构建说明在 [`demo/README.md`](demo/README.md) 中。 ## 为什么选择 OpenSearch OpenSearch 是证据平面: - PPL 和 Query DSL 检索有时间限制的日志和指标; - 追踪索引将 span 连接到同一个事件; - 告警和部署索引提供独立的证伪数据; - 存储的案例和数据包保持可搜索和可重放; - 任何自管理、Docker、Kubernetes 或托管的 OpenSearch 发行版都可以提供证据。 确定性数据包构建器没有专有依赖项,并且可以离线对保存的 OpenSearch 响应进行工作。在进行重放时,实时集群是可选的;仅在收集新证据时,才是强制性的。 ## 从实时集群读取 内置的收集器仅暴露 OpenSearch 读取端点。它要求远程主机使用 HTTPS,仅允许在 loopback 上使用 HTTP,拒绝嵌入在 URL 中的凭据,限制请求和响应大小,并写入规范的 JSON。小数 JSON 数字被解析为精确的小数并保持为数字类型;它们绝不会被静默转换为二进制浮点数或字符串。 ``` export OPENSEARCH_USERNAME='reader' export OPENSEARCH_PASSWORD='...' uv run python skills/investigate-opensearch-incidents/scripts/read_opensearch.py \ --endpoint https://opensearch.example \ --mode search \ --index 'logs-*' \ --query query.json \ --out response.json ``` 该账户应具有只读访问权限。该收集器没有更新、批量、删除、索引管理或任意路径选项。 ## 仓库布局 ``` skills/investigate-opensearch-incidents/ SKILL.md scripts/ references/ assets/ tests/ docs/ ``` ## 测试 ``` uv sync --extra test uv run ruff check . uv run mypy uv run pytest --cov=incident_proofpack --cov=normalize_opensearch --cov=read_opensearch uv run python /home/rage/.codex/skills/.system/skill-creator/scripts/quick_validate.py \ skills/investigate-opensearch-incidents ``` 一个可选的集成测试仅在明确配置的 loopback 集群上创建和删除 `veritas-proofpack-integration`: ``` OPENSEARCH_INTEGRATION_URL=http://127.0.0.1:19200 \ uv run pytest -m integration tests/test_live_opensearch.py ``` 该测试拒绝非 loopback 端点。它插入两个带有小数延迟值的文档,使用内置的限制收集器发出 `POST /veritas-proofpack-integration/_search` 请求,验证这两个精确值,并在 `finally` 块中删除其测试索引。 ## 状态 这是一个公开的比赛候选项目,已发布经过验证的 v0.1.0 版本: - 源码: - 发布: 它尚未提交给比赛,也没有任何独立验证、OpenSearch 验收、奖励、付款或生产授权。它不是经过认证的控制措施、独立审计、生产执行器或已接受的 OpenSearch 贡献。
标签:告警运维, 子域名突变, 安全规则引擎, 确定性工作流, 证据链管理, 请求拦截, 逆向工具