Cynative 安全代理框架

以只读方式接入你的云与代码环境,用一个 Markdown 文件编写安全代理,自动审计权限提升、公网暴露和凭据泄露。

Star 数
★ 224
最近更新
1 天前
License
Apache-2.0
主语言
Go

30 秒速览

运行形态
命令行工具开发框架
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Anthropic/OpenAI/Bedrock/Vertex/Ollama 或其他 LLM 提供商的 API 密钥shell 中已配置的云凭证(AWS/GCP/Azure/K8s/GitHub/GitLab)Shell / 命令行网络访问本地文件系统
典型场景
安全工程师在 AWS 生产环境排查哪些 IAM 角色可以提权到 admin,并追踪到授予该权限的具体 PR。
不适合
  • 需要开箱即用合规报告、不想自己写 agent 的团队
  • 无法提供云平台只读凭证或不愿让模型接触基础设施数据的团队
  • 需要无人值守大规模扫描却没有 token 预算管理的团队

这个 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,记录代理名称、来源与文件摘要,工具输出中的机密在发送给模型前会被脱敏。

  1. 安全工程师在 AWS 生产环境排查哪些 IAM 角色可以提权到 admin,并追踪到授予该权限的具体 PR。
  2. DevSecOps 团队审计 CI 与云之间的权限提升链路,例如 GitHub/GitLab 凭据在云端的爆炸半径。
  3. 产品安全团队在 GitLab MR 或发布流程中用 --auto-approve 以脚本方式定期扫描公网暴露的 S3、RDS 快照与 EBS 快照。
  4. 云架构师核查与 IaC 不一致的真实云资源漂移,使用交互式会话追问细节。
  5. 受管于主权或合规要求的团队在自己的 VPC 内运行 Cynative,通过 Bedrock 或 Vertex 推理,确保数据不出环境。
  6. 漏洞运营人员将扫描器输出的 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?

FollowAgents 源码审查 · FARS-2.1
存在缺口
74/ 100 五分制 3.7 / 5
本评测基于 2026年9月7日 的源码;此后该项目发布了 10 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 19/29
可靠稳定 11/14
适用触发 14/18
规范维护 15/18
有效结果 10/13
证据核验 5/8
查看各维度的扣分理由
信任安全19 / 29 · 3.3/5

证据显示三层只读强制(网络主机钉扎、IAM action gate、AWS STS 限定 SecurityAudit 策略),least_privilege 满分;扣分点:user_confirmation 仅 2,因 --auto-approve 可完全跳过审批;rollback 仅 1,仓库只说明卸载方式,未说明误操作或异常运行的恢复语义(只读设计部分缓解但未明确);source_attribution 仅 2,审计日志记录 agent 文件摘要,但发布者身份未经核实。

可靠稳定11 / 14 · 3.9/5

failure_messages 满分:文档明确列出退出码 0/1/2/130/143 语义、fail-closed 行为与中止原因提示;依赖可用性仅 2:有 `cynative doctor` 探测连接器就绪,但未执行验证;自一致性 2:README 与 workflow/测试文件描述相互吻合,但均属静态声明。

适用触发14 / 18 · 3.9/5

audience_and_scenarios 满分:快速上手、首个 agent、CI/无人值守、多 provider 示例面向清晰;capability_boundaries 与 trigger_precision 各 2:文档说明了 `--agent` 与 `-p` 的组合语义及 agent 命名遮蔽规则,但未说明 agent 触发误判边界;environment_fit 2:覆盖多平台与多种安装渠道,Windows 细节在折叠区且注明残留限制。

规范维护15 / 18 · 4.2/5

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 天披露承诺,但团队规模与响应历史无证据。

有效结果10 / 13 · 3.8/5

marginal_value 满分:与 coding agent + MCP 的对比表明确给出差异化价值(并发沙箱、验证器、fail-closed 审计);output_usability 2:stdout/stderr 分离、footer 与 exit code 设计合理但未经执行验证;cost_benefit 2:提供 token/迭代/并发上限旋钮,但实际成本数据缺失。

证据核验5 / 8 · 3.1/5

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、成本)未经执行验证。
证据充分度:低 评估于 2026年9月7日 审查版本 8e176759048b 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.14.1
    发布说明摘录
    [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 查看 ↗
  2. v1.14.0
    发布说明摘录
    [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 查看 ↗
  3. v1.13.0
    发布说明摘录
    [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 查看 ↗
在 GitHub 查看 ↗ 安装 ↓

相关 Agents