返回更新列表
新发布Sep 20, 2026

kontext-cli v1.8.1

在数秒内保护代理安全,并在运行时强制执行权限。

分享
Kontext 动态字标

在 AI 代理执行高风险操作之前将其阻止

AI 代理不仅仅提供代码建议。它们会运行 shell 命令、读取文件、调用服务、更改基础设施,并与生产系统交互。

Kontext 在 AI 代理与其调用的工具之间放置本地策略。 它观察受支持的操作,在具有后果的操作运行之前评估策略,并将决策和结果记录到授权账本中。

从观察模式开始。查看策略会阻止哪些操作。当你准备好时,将受支持的边界转为强制执行。

策略评估错误会允许工具调用,包括在强制执行模式下,并会作为失败记录在活动记录中可见。已完成的策略拒绝和不可用的必需审批仍会阻止操作。当守护进程不可用或强制执行没有可用策略时,此错误回退不会改变行为。

  • 本地决策: 策略评估与代理并行进行。
  • 操作前强制执行: 匹配的操作可以在受支持的同步钩子处被拒绝。
  • 无需包装命令: 安装一次 Kontext,然后照常继续使用你的代理。
  • 可归因证据: 保留代理、会话、操作、策略决策和结果。
  • 托管式部署: 在整个组织中分发策略并审查脱敏记录。

Kontext 目前支持 Claude Code、Claude Cowork 和 Codex。确切的事件和强制执行覆盖范围因代理而异——请参阅代理支持矩阵

托管式 Claude 钩子可识别完整或缩短会话目录名称的 Cowork 会话,并在活动记录中保留其 Cowork 身份。


快速开始

安装 Kontext

brew install kontext-security/tap/kontext

连接此 Mac

Kontext 控制面板中创建安装令牌,然后运行:

kontext setup

安装程序会:

  • 将安装令牌存储在 macOS 登录钥匙串中;
  • 为受支持的代理安装钩子;
  • 启动本地 Kontext 守护进程;
  • 将安装连接到你的 Kontext 组织。

验证安装:

kontext doctor

然后照常继续使用 Claude Code 或 Codex。你无需通过单独的包装器启动代理。

自助式安装目前支持 macOS。托管和云环境在提供受支持的钩子契约、存储和守护进程生命周期时,可以运行相同的本地运行时。


安装后有什么变化?

如果没有操作前策略,代理操作会在安全团队审查其日志之前执行:

agent requests an action
        |
        v
action executes
        |
        v
activity appears in a log

使用 Kontext 后:

agent requests an action
        |
        v
Kontext receives it through a supported hook
        |
        v
local policy evaluates the action
        |
        +---- allow ----------> action continues
        |
        +---- would deny -----> action continues and evidence is recorded
        |                       (observe mode)
        |
        +---- deny -----------> action is stopped before execution
                                (enforce mode)
        |
        v
decision and outcome enter the authorization ledger

这在操作之前创建了一个决策点,而不仅仅是操作之后的记录。


先观察。准备好后再强制执行。

在第一天就阻止所有不熟悉的操作会产生噪音并打断开发者。无限期地允许所有操作则会使策略沦为被动监控。

Kontext 将部署分为两种模式:

观察模式

观察模式记录策略决策,但不打断代理。

用它来回答:

  • 代理正在调用哪些工具?
  • 当前策略会拒绝哪些操作?
  • 涉及哪些仓库、文件和系统?
  • 强制执行会在哪里打断合法工作?
  • 哪些事件表面实际上可以阻止操作?

强制执行模式

当确定性策略在受支持的同步操作前钩子处匹配时,强制执行模式会返回真正的拒绝。

策略可以围绕以下操作定义边界:

  • 破坏性命令;
  • 敏感文件访问;
  • 生产系统操作;
  • 凭据访问;
  • 数据导出。

强制执行有意限制在代理会等待 Kontext 后再继续的事件表面上。Kontext 并不声称接收事件就意味着它可以阻止来自该代理的每一个操作。


了解发生了什么——以及为什么

每个到达 Kontext 的受支持事件都可以为本地授权账本贡献证据。

一条记录可以包括:

  • 代理和会话;
  • 生命周期或工具事件;
  • 工具名称和可用输入;
  • 本地策略决策;
  • 负责该决策的策略;
  • 可用的操作结果;
  • 供后续审查的脱敏证据。

Kontext 记录工具活动和决策证据。它不会捕获模型推理或重建完整对话历史。

托管部署可以将脱敏记录导出到 Kontext 控制面板,以便进行组织范围的审查、保留和调查。


策略位于代理运行的位置

决策路径保持在本地:

Claude Code / Cowork / Codex
              |
              v
        supported hook
              |
              v
     local Kontext runtime
              |
        +-----+------+
        |            |
        v            v
  policy decision   local ledger
        |
        v
 allow / would deny / deny

托管服务无需响应每一次工具调用。

托管部署会增加组织配置、策略部署、记录导出、身份和保留。它们不会将同步决策路径移出代理环境。


受支持的代理

“受支持”不仅仅意味着接受事件。Kontext 记录了它接收哪些事件、哪些事件可以阻止,以及每个集成如何安装。

代理Kontext 记录的内容操作前阻止安装
Claude Code会话生命周期、工具使用前、工具使用成功和失败后工具使用前kontext setup 安装
Codex会话开始、工具使用前、工具使用后、提示提交、停止工具使用前kontext setup 安装;钩子必须在 Codex 中被信任
Claude Cowork与 Claude Code 兼容的会话和工具事件工具使用前在 Cowork 环境中配置钩子

有关确切行为、部署范围和已知缺口,请参阅代理支持矩阵。它是强制执行覆盖范围的权威来源。


Kontext 和沙箱解决的是不同的问题

进程沙箱会问:

此进程可以访问哪些文件、网络目标、凭据和操作系统资源?

Kontext 会问:

哪个代理正在尝试哪个操作,适用什么策略,该操作是否应继续,以及什么证据可以证明该决策?

内核沙箱是强大的隔离边界。Kontext 在受支持的代理和工具钩子处提供语义策略和归因。

它们是互补的:

Kontext
  decides whether the action is authorized
              |
              v
sandbox
  constrains what the process can physically access

Kontext 并不声称提供内核级隔离。当威胁模型需要进程、文件系统或网络隔离时,请使用适当的沙箱。


为什么不直接收集代理日志?

日志告诉你代理在事件之后报告了什么。

Kontext 在受支持的具有后果的操作执行之前创建授权决策,然后将该决策与可用的结果关联起来。

这种区别在以下情况下很重要:

  • 策略部署;
  • 事件调查;
  • 生产访问审查;
  • 开发者例外处理;
  • 合规和审计审查。

结果不仅仅是“代理调用了一个工具”。它是关于请求了什么、适用了哪个策略、是否被允许以及接下来发生了什么的证据。


在整个组织中运行 Kontext

托管部署会增加:

  • 集中管理的确定性策略;
  • 企业身份和组织控制;
  • 从观察到强制执行的部署;
  • 托管式代理和云部署支持;
  • 脱敏证据导出;
  • 审计保留;
  • 部署健康和积压监控;
  • 面向安全和平台团队的入门引导。

有关部署规划和组织入门引导,请联系 [email protected]预约交流


诊断安装

kontext doctor

doctor 会检查:

  • 已安装的代理钩子;
  • 守护进程健康和版本;
  • 托管导出健康;
  • 待处理的导出积压。

当已配置的安装不健康时,它会以非零状态退出。

当自助式守护进程过期时:

kontext doctor --fix

通过再次运行 setup 来轮换安装令牌:

kontext setup

移除自助式安装:

kontext setup --uninstall

数据处理

  • 策略决策在本地进行。
  • 工具活动和决策证据存储在本地。
  • 敏感值在本地存储和托管导出之前会被脱敏。
  • Kontext 不存储模型推理或完整对话历史。
  • 托管部署可以将脱敏记录导出到组织控制面板。

有关运行时和数据边界,请参阅 Guard 文档


开发

go build -o bin/kontext ./cmd/kontext
go test ./...
go test -race ./...
go vet ./...

社区

权限报告

kontext report 会显示云上次接受的已发现代理和权限。使用 kontext report --json 获取原始负载。在首次成功发送之前,它报告无数据。

在守护进程环境中设置 KONTEXT_AUTHORITY_SCAN=off,以在此 Mac 上禁用权限收集和传输。

分类