Um agente que pode instalar qualquer coisa, chamar qualquer coisa e escrever em qualquer lugar só é seguro se as barreiras forem reais. Na Kortix, elas ficam abaixo do agente, na plataforma, onde um prompt não consegue convencê-la a deixá-lo passar.
Uma sessão não é uma aba em um runtime compartilhado. É uma máquina própria, e o banco de dados não permite que duas sessões tenham a mesma. Separar duas sessões suas usa o mesmo mecanismo que separar dois clientes diferentes.
dentro de uma sessão
nunca entra
Uma ferramenta precisa de uma credencial real para realizar trabalho real, então a pergunta honesta não é se a máquina algum dia a armazena. É qual máquina armazena qual chave, quem decidiu isso e o que nunca entra nela.
01
Criptografado com AES-256-GCM usando uma chave derivada por projeto.
02
A função da pessoa e a permissão declarada do agente precisam autorizar a ação.
03
Inserido na sessão durante a inicialização, por nome, em tmpfs com modo 0600.
04
A ferramenta o lê do ambiente. Ele não é gravado no prompt.
05
O arquivo é apagado no desligamento, e a máquina é destruída junto com ele.
A maioria das ferramentas de IA dá ao agente acesso a tudo que a pessoa que o iniciou consegue alcançar. A Kortix não. Uma identidade de agente carrega suas próprias políticas, avaliadas separadamente, e não pode herdá-las para alcançar algo que você nunca concedeu.
principal
tipo de recurso
As permissões são vinculadas a um principal, para uma ação, em um tipo de recurso.
Funções integradas — em todos os planos
account
project
Enterprise
Available on Enterprise, and on a self-hosted instance with an Enterprise license. The built-in roles above are free on every plan.
Uma conta de serviço é uma identidade de máquina de primeira classe pertencente à conta, não um token humano usando disfarce. As políticas são vinculadas diretamente a ela, e uma solicitação feita por ela é avaliada exclusivamente com base em suas próprias políticas — nunca herda o alcance de quem a criou.
Uma pessoa ou grupo pode ser limitado a agentes e habilidades nomeados dentro de um projeto: o marketing pode usar este agente e esta habilidade, e nada mais. Tudo que não for limitado permanece válido em todo o projeto, então limitar é algo que você escolhe fazer, não algo que precisa desfazer.
A aprovação não é uma configuração escondida em um painel administrativo. É um bloco em kortix.yaml, versionado com todo o resto, que define quais chamadas de ferramentas são executadas, quais param para uma pessoa e quais são recusadas imediatamente.
# reads run; writes and destructive calls stop for a humanpolicy: default_mode: risk policies: # a name-only rule cannot gate the target — conditions can - match: gmail.send_email action: require_approval conditions: - arg: to match: /@example\.com$/ # anything else through this tool is refused outright - match: gmail.send_email action: block # whole connectors can be gated with one glob - match: stripe.* action: require_approvalTrês ações
always_run, require_approval, block. Uma regra corresponde a um glob sobre caminhos de ferramentas totalmente qualificados, então uma linha pode abranger uma única chamada ou um conector inteiro.
Proteja o destino, não apenas a ferramenta
"O agente pode enviar email" não é uma proteção. As condições correspondem aos argumentos, então a regra pode ser "somente para estes endereços". Um argumento que não possa ser avaliado falha de forma segura.
Nenhum "permitir sempre" abrangente
Cada chamada protegida é aprovada individualmente, com seus argumentos diante de você. Não existe uma concessão para toda a sessão atrás da qual uma chamada posterior, com argumentos diferentes, possa se esconder — esse atalho foi removido no ponto de aplicação, não apenas da UI.
Defina o padrão desejado
default_mode: risk faz as leituras serem executadas e encaminha gravações e chamadas destrutivas para uma pessoa. Um projeto sem bloco de políticas mantém o padrão legado permissivo; portanto, defina isso explicitamente.
Um agente pode escrever o quanto quiser em sua própria branch. Levar esse trabalho para a branch principal é uma capacidade separada que ele não possui, a menos que você a conceda deliberadamente — e concedê-la também é uma alteração que alguém precisa aprovar.
Toda edição vai para a branch criada para essa sessão. Nada que o agente faça fica visível para outra sessão ou para a branch principal.
Quando o agente quer que algo sobreviva à máquina, ele faz commit e abre uma solicitação de alteração direcionada à branch principal. Essa é a única porta.
Uma solicitação de alteração é um diff. Um agente que reescreve o próprio prompt é revisado da mesma forma que uma alteração de código — porque é uma. Uma solicitação de alteração cujo manifesto não valida não pode fazer merge de jeito nenhum.
Merge é uma capacidade própria, recusada a todos os agentes, a menos que um administrador a conceda. Essa concessão fica em kortix.yaml — portanto, um agente não pode ampliar o próprio alcance sem uma solicitação de alteração aprovada por outra pessoa.
Toda ação de conta e toda ação de agente são registradas em todos os planos. O plano define quem pode ler, exportar ou transmitir esse registro — não se ele existe.
O mesmo produto é oferecido como nuvem gerenciada, como uma stack dentro da sua própria rede e como uma implantação isolada. É open source, então aquilo em que você confia é código que pode ler.
O serviço gerenciado. Nós executamos o control plane e a computação; você administra a empresa.
Uma stack Docker Compose na sua máquina, usando as mesmas imagens da nuvem gerenciada. Seu banco de dados e seus arquivos ficam em um disco sob seu controle.
A single-tenant deployment inside your own network. Isolated topologies are scoped with us rather than self-served.
Onde realmente estamos
Não temos ISO 27001 nem HIPAA e não insinuamos que temos. Quando um relatório for publicado, esta linha mudará naquele dia, e não antes.
Não abra uma issue pública para uma vulnerabilidade. Envie um email ao contato de segurança com a versão ou commit afetado, a reprodução e o impacto.
contato de segurança
security@kortix.comAgradecemos aos pesquisadores que desejarem ser mencionados, assim que a correção for publicada.
Comece com uma tarefa e cresça a partir daí.