Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pigeon — Aplique delegação de privilégio mínimo para agentes de IA com credenciais assinadas e com escopo. Conceda aos subagentes capacidades e recursos limitados, verifique as ações antes da execução e evite a escalada de privilégios. | Kitploit
Ferramentas/GitHubGitHub/pigeonlabshq/pigeon
Autenticação e AutorizaçãoSegurança na NuvemDevSecOpsGerenciamento de Identidade e Acesso (IAM)Segurança de APISegurança de IA
GitHubpigeonlabshq/pigeon

pigeon

Aplique delegação de privilégio mínimo para agentes de IA com credenciais assinadas e com escopo. Conceda aos subagentes capacidades e recursos limitados, verifique as ações antes da execução e evite a escalada de privilégios.

Ver Repositório
44216há 20 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Pigeon

O seu agente gerou um sub-agente e entregou-lhe a mesma chave de API. Esse sub-agente pode agora fazer deploy para produção, ler a base de dados de pagamentos e fazer merge para a main.

A Pigeon impede isso. Você entrega ao filho um Pigeon Pass: uma credencial restrita e assinada para o que ele pode fazer, não uma cópia de tudo o que você pode fazer.

Instalação

Python 3.12 ou mais recente.

root@kitploit:~
git clone https://github.com/pigeonlabsHQ/pigeon.git
cd pigeon
pip install .

A ideia principal, em 20 linhas

root@kitploit:~
from pigeon import grant, verify

authority = grant(
    subject="agent:deployer",
    capabilities=["deploy"],
    resources=["environment:staging"],
)

allowed = verify(authority, action="deploy", resource="environment:staging")
assert allowed.allowed

denied = verify(authority, action="deploy", resource="environment:production")
assert not denied.allowed
assert denied.reason_code == "RESOURCE_NOT_ALLOWED"
print(denied.reason_code, denied.message, denied.details)

verify nunca retorna um booleano simples. Uma negação inclui um código de motivo, uma mensagem e a comparação que falhou (requested vs allowed).

Experimente sem escrever isso você mesmo:

root@kitploit:~
python examples/01_infrastructure.py
python demo/agent.py

Onde entra num agente

Não existe um servidor Pigeon ao qual se conectar. Você altera dois lugares que já possui:

  1. Spawn. Onde você copiaria uma chave de API para um sub-agente, chame delegate(...) e dê um Pass ao filho.
  2. Ferramenta. Onde o efeito colateral acontece (deploy, query, ferramenta MCP), chame verify(...) e não execute a ferramenta se for negado.

Mantenha o segredo real no runner. O filho carrega o Pass.

root@kitploit:~
from pigeon import delegate, grant, verify, DelegationError

parent = grant(
    subject="agent:orchestrator",
    capabilities=["deploy", "open_pr"],
    resources=["environment:staging", "repo:acme/api"],
    constraints={"max_deploys_per_hour": 3},
)

worker = delegate(
    parent,
    subject="agent:pr-bot",
    capabilities=["open_pr"],
    resources=["repo:acme/api"],
    constraints={"max_deploys_per_hour": 3},  # cannot drop a parent constraint
)

result = verify(worker, action="open_pr", resource="repo:acme/api")
assert result.allowed

denied = verify(worker, action="deploy", resource="environment:staging")
assert denied.reason_code == "CAPABILITY_NOT_GRANTED"

try:
    delegate(worker, "agent:rogue", ["open_pr", "deploy"], ["repo:acme/api"])
except DelegationError as exc:
    assert exc.reason_code == "PRIVILEGE_ESCALATION"

Um filho não pode adicionar capacidades, alargar recursos, aumentar um limite ou remover uma restrição do pai. Se a Pigeon não conseguir provar que o filho é mais restrito, ela rejeita.

Se o runner nunca chamar verify, o Pass é apenas decoração.

Middleware MCP

Este é um ponto de aplicação, não parte do protocolo. O cliente cunha um Pass mais restrito por chamada de ferramenta. O servidor verifica-o antes de a ferramenta ser executada.

root@kitploit:~
from pigeon import grant
from pigeon.integrations.mcp import execute_tool, pass_for_tool

parent = grant(
    subject="agent:github",
    capabilities=["create_issue", "merge_pr"],
    resources=["mcp:github"],
)

tool_pass = pass_for_tool(parent, "create_issue", "mcp:github")

def create_issue(*, title, body):
    return {"created": True, "title": title}

ok = execute_tool(tool_pass, "create_issue", "mcp:github",
                  {"title": "bump deps", "body": "automated"}, create_issue)
assert ok["allowed"]

no = execute_tool(tool_pass, "merge_pr", "mcp:github",
                  {"title": "nope", "body": "nope"}, create_issue)
assert no["reason_code"] == "CAPABILITY_NOT_GRANTED"

A identidade diz-lhe quem é o agente. A autoridade diz-lhe o que ele pode fazer.

CLI

root@kitploit:~
pigeon keygen
pigeon inspect pass.json

O que isto não é

A Pigeon é um primitivo pequeno. Não é uma plataforma, um motor de políticas, um fornecedor de identidade ou um guardião de chaves. Não impede injeção de prompts. Limita o raio de explosão ao longo das dimensões que você coloca no Pass, e apenas essas.

  • Protocolo: SPEC.md
  • Limites: SECURITY.md
  • Mais scripts: examples/ (infraestrutura, dados, código e depois pagamentos)
Baixar ferramenta