Cynative 安全代理框架
以只读方式接入你的云与代码环境,用一个 Markdown 文件编写安全代理,自动审计权限提升、公网暴露和凭据泄露。
- Star 数
- ★ 224
- 最近更新
- 1 天前
- License
- Apache-2.0
- 主语言
- Go
- FA 评分
- 74/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 安全工程师在 AWS 生产环境排查哪些 IAM 角色可以提权到 admin,并追踪到授予该权限的具体 PR。
- 不适合
- 需要开箱即用合规报告、不想自己写 agent 的团队
- 无法提供云平台只读凭证或不愿让模型接触基础设施数据的团队
- 需要无人值守大规模扫描却没有 token 预算管理的团队
- 源码审查
- 74/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Cynative 是一个开源(Apache-2.0)的安全代理框架,以单个 Go 静态二进制发布,通过 Homebrew、安装脚本或 Scoop 安装。它以你 Shell 中已有的凭据连接 AWS、GCP、Azure、Kubernetes(EKS/GKE/AKS 及自建)、GitHub 和 GitLab,将整个基础设施当作一个系统来推理。它在临时沙箱中生成并运行 JavaScript 代码,通过 http_request 等异步工具并发调用你的 API,再由内置验证器交叉核实每一条发现。所有调用在附加凭据之前都经过 Action Gate 按 SecurityAudit、roles/viewer、Reader 等只读策略授权,并在网络层将请求主机锁定到映射的服务与区域,属于构造上的只读设计。代理本身就是一个 Markdown 文件,放在 ~/.cynative/agents/ 目录即可运行,每次工具调用都会写入 fail-closed 的 JSONL 审计日志。它通过内嵌的 Bifrost SDK 支持 OpenAI、Anthropic、Bedrock、Vertex、Ollama 等几乎所有主流模型供应商,可完全在你的环境内运行。
安装后通过 cynative "问题" 或 cynative -p "任务" 发起查询,例如 "哪些 IAM 角色可以提升为 admin?"。代理读取 Shell 中已有的云凭据,在沙箱中编写并运行 JavaScript(借助 mapConcurrent 并发遍历 API 分页),查询 AWS/GCP/Azure/K8s/GitHub/GitLab 的实时状态。每个操作先被解析为所需 IAM 动作并对照只读策略(AWS SecurityAudit、GCP roles/viewer、Azure Reader、K8s 运行时获取的 view RBAC)授权,AWS 还通过 STS AssumeRole 重新签发受限于 SecurityAudit 的会话凭据。findings.json 之类的结果可经管道回 cynative -p 做分诊;代理可用 --agent 指定 Markdown 定义的代理(如内置 aws-public-data-stores)。审计日志默认写入 ~/.cynative/audit.log,记录代理名称、来源与文件摘要,工具输出中的机密在发送给模型前会被脱敏。
- 安全工程师在 AWS 生产环境排查哪些 IAM 角色可以提权到 admin,并追踪到授予该权限的具体 PR。
- DevSecOps 团队审计 CI 与云之间的权限提升链路,例如 GitHub/GitLab 凭据在云端的爆炸半径。
- 产品安全团队在 GitLab MR 或发布流程中用 --auto-approve 以脚本方式定期扫描公网暴露的 S3、RDS 快照与 EBS 快照。
- 云架构师核查与 IaC 不一致的真实云资源漂移,使用交互式会话追问细节。
- 受管于主权或合规要求的团队在自己的 VPC 内运行 Cynative,通过 Bedrock 或 Vertex 推理,确保数据不出环境。
- 漏洞运营人员将扫描器输出的 findings.json 管道传入 cynative -p 按可利用性分诊。
如何安装或部署这个 Agent?
macOS/Linux(推荐):brew install cynative/tap/cynative。或脚本安装(校验 SHA-256):curl -fsSL https://raw.githubusercontent.com/cynative/cynative/main/install.sh | sh。Windows:scoop bucket add cynative https://github.com/cynative/scoop-bucket && scoop install cynative。也可从 GitHub releases 页下载已签名的 .pkg(macOS)或静态二进制并用 checksums.txt / Sigstore 验证。安装后需设置至少一个 LLM 供应商,例如 export CYNATIVE_LLM_PROVIDER=anthropic、export CYNATIVE_LLM_MODEL=claude-opus-5、export ANTHROPIC_API_KEY=...。运行 cynative doctor 可验证配置与连接器就绪状态。
如何使用这个 Agent?
Cynative 直接使用 Shell 中已有的云凭据,不维护独立凭据存储,请提供最小权限的只读凭据。常用命令:cynative -p "which IAM roles can escalate to admin?" 单次运行;cynative "问题" 运行后进入交互会话;cynative --agent aws-public-data-stores 以预置代理启动;自定义代理:mkdir -p ~/.cynative/agents 后写入带 description 头部的 Markdown 文件,再用 cynative -p --agent <名称> 运行。每次工具调用可用 y(单次)、a(本会话该工具放行)或其他键拒绝;无终端时用 --auto-approve。无人值守运行可用 CYNATIVE_MAX_TOTAL_TOKENS、CYNATIVE_MAX_ITERATIONS 等变量控制成本。运维日志输出在 stderr,重定向 stdout 即可拿到干净的回答;退出码 0 表示产出报告,2 表示未得出答案。
这个 Agent 有哪些优点和局限?
- 构造上的只读:Action Gate 在附加凭据前解析每个调用所需的 IAM 动作并按 SecurityAudit/roles/viewer/Reader 策略授权,写入类调用默认失败关闭,比 MCP 的可选读过滤更严格。
- AWS 侧通过 STS AssumeRole 重新签发受 SecurityAudit 约束的会话凭据,云平台自身也强制只读边界。
- 沙箱中并发执行生成的代码做批量调研,比逐次工具调用更省 token、更快,只有 console.log 的摘要返回给模型。
- 每个发现由验证器对照实时证据交叉核实,且审计日志记录代理名称、来源与文件摘要,可追溯到确切提示词。
- 支持几乎所有主流 LLM 供应商(含本地 Ollama),单二进制可在被审计的云内运行,数据不出环境。
- 需要用户自行准备目标云/平台的凭据并承担配置责任,README 明确要求最小权限只读凭据,误用高权限凭据有风险。
- 写入 ~/.cynative/audit.log 的内容虽然脱敏工具结果,但审批提示参数按原文保存,日志可能包含敏感值,权限与保留策略需要自行管理。
- 代理编写依赖用户理解各云 API 与 IAM 概念,Markdown 代理的能力上限取决于底层模型与连接器覆盖,非一键合规产品。
- Finding 验证(verify_findings)会产生额外模型调用,无人值守大规模运行需为 token 预算设置上限,否则成本不可控。
- GitHub/GitLab 在只读模式下 secret-scanning 端点与 GraphQL API 被封锁,某些需要更深入密钥扫描的工作流受限。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Cynative 安全代理框架 当前 | 74 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 224 | 1 天前 | Go | OpenAI API · Claude API |
| OptimNow Cloud FinOps 知识库 | 65 · 存在缺口 | Agent 插件 / 技能免费 | ★ 64 | 今天 | Python | Claude Code |
| Cordum Agent Control Plane | 64 · 存在缺口 | 自托管服务免费 | ★ 511 | 5 天前 | Go | Claude Code |
| SkillHub | 56 · 缺口较多 | 自托管服务免费 | ★ 5.3k | 1 天前 | Java | Codex |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示三层只读强制(网络主机钉扎、IAM action gate、AWS STS 限定 SecurityAudit 策略),least_privilege 满分;扣分点:user_confirmation 仅 2,因 --auto-approve 可完全跳过审批;rollback 仅 1,仓库只说明卸载方式,未说明误操作或异常运行的恢复语义(只读设计部分缓解但未明确);source_attribution 仅 2,审计日志记录 agent 文件摘要,但发布者身份未经核实。
failure_messages 满分:文档明确列出退出码 0/1/2/130/143 语义、fail-closed 行为与中止原因提示;依赖可用性仅 2:有 `cynative doctor` 探测连接器就绪,但未执行验证;自一致性 2:README 与 workflow/测试文件描述相互吻合,但均属静态声明。
audience_and_scenarios 满分:快速上手、首个 agent、CI/无人值守、多 provider 示例面向清晰;capability_boundaries 与 trigger_precision 各 2:文档说明了 `--agent` 与 `-p` 的组合语义及 agent 命名遮蔽规则,但未说明 agent 触发误判边界;environment_fit 2:覆盖多平台与多种安装渠道,Windows 细节在折叠区且注明残留限制。
information_architecture、install_notes、examples_and_faq、license 均满分:文档结构完整、安装渠道含签名/校验/更新/卸载、有对比表与示例、LICENSE 全文存在;known_limitations 2:披露了 cosign 网络信任根、GitHub secret 端点封锁等限制,但未集中成 limitation 清单;versioning_changelog 2:有发布/校验和/Sigstore 体系,未见独立 changelog 文件;maintenance_responsibility 2:SECURITY.md 给出 3 天确认/90 天披露承诺,但团队规模与响应历史无证据。
marginal_value 满分:与 coding agent + MCP 的对比表明确给出差异化价值(并发沙箱、验证器、fail-closed 审计);output_usability 2:stdout/stderr 分离、footer 与 exit code 设计合理但未经执行验证;cost_benefit 2:提供 token/迭代/并发上限旋钮,但实际成本数据缺失。
claim_traceability 2:审计日志含 agent 名称、来源与文件摘要,安装链有 checksums + Sigstore + GitHub attestation 三重校验;cross_source_corroboration 2:channel-smoke 与 attestation workflow、archive/unit 测试脚本与 README 声明互相印证,但属静态阅读,未运行;fact_inference_separation 2:多数声明标注来源与限制(如 attestation 异步延迟),少数营销性断言未区分。
- 发布者未经核实:二进制为主发布渠道,建议在可信环境使用 Sigstore/cosign 与 gh release verify 校验后再运行。
- --auto-approve 会跳过逐次审批;在无人值守场景务必设置 max_total_tokens、max_iterations 等上限。
- 审计日志对审批提示参数按原文记录,可能含敏感值;注意其文件权限与保留策略。
- GitHub/GitLab 连接器在配置 permissions 后可允许写操作,生产环境应保持默认只读。
- 本评审为静态源码审查(低置信度),所有运行时声明(权限执行、红action、成本)未经执行验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[1.14.1](https://github.com/cynative/cynative/compare/v1.14.0...v1.14.1) (2026-10-21) Bug Fixes * classify a Cloud Storage object named like a sub-resource as the object read ([#406](https://github.com/cynative/cynative/issues/406)) ([dfd467d](https://github.com/cynative/cynative/commit/dfd467d202980f6644812334bc178a45de6656ee)) …在 GitHub 查看 ↗ -
发布说明摘录
[1.14.0](https://github.com/cynative/cynative/compare/v1.13.0...v1.14.0) (2026-10-13) Features * add api_reference and unmatched hints for the gcp connector ([#378](https://github.com/cynative/cynative/issues/378)) ([2333a03](https://github.com/cynative/cynative/commit/2333a03d91b1ecb52a1d4506de7dcb5b4385ad5a)) * add api_reference and unmatched hints for the gitlab connector ([#370](https://github.com/cynative/cynative/issues/370)) ([0407265](https://github.com/cynative/cynative/commit/0407265a1b5f7fcded08e7cd538dfa497697e2c8)) …在 GitHub 查看 ↗ -
发布说明摘录
[1.13.0](https://github.com/cynative/cynative/compare/v1.12.3...v1.13.0) (2026-10-05) Features * add api_reference lookup and actionable unmatched-request errors ([#360](https://github.com/cynative/cynative/issues/360)) ([4c72d19](https://github.com/cynative/cynative/commit/4c72d19e1e3abdd642c565043524050f27760afd)) Bug Fixes …在 GitHub 查看 ↗