Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pigeon — Обеспечьте делегирование с минимальными привилегиями для ИИ-агентов с помощью подписанных учётных данных с ограниченной областью действия. Предоставляйте субагентам узкие возможности и ресурсы, проверяйте действия перед выполнением и предотвращайте повышение привилегий. | Kitploit
Инструменты/GitHubGitHub/pigeonlabshq/pigeon
Аутентификация и авторизацияБезопасность облачных средDevSecOpsУправление идентификацией и доступом (IAM)Безопасность APIБезопасность ИИ
GitHubpigeonlabshq/pigeon

pigeon

Обеспечьте делегирование с минимальными привилегиями для ИИ-агентов с помощью подписанных учётных данных с ограниченной областью действия. Предоставляйте субагентам узкие возможности и ресурсы, проверяйте действия перед выполнением и предотвращайте повышение привилегий.

Репозиторий
714 ч 1 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Pigeon

Ваш агент породил субагента и передал ему тот же API-ключ. Теперь этот субагент может разворачивать код в продакшене, читать базу данных платежей и делать merge в main.

Pigeon это предотвращает. Вы выдаёте дочернему агенту Pigeon Pass — суженные, подписанные учётные данные для того, что ему разрешено делать, а не копию всего, что можете делать вы.

Установка

Python 3.12 или новее.

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

Вся идея в 20 строках

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 никогда не возвращает простое булево значение. Отказ включает код причины, сообщение и сравнение, которое не прошло (requested против allowed).

Попробуйте, не написав это самостоятельно:

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

Куда это встраивается в агента

Не существует сервера Pigeon, к которому нужно подключаться. Вы меняете два места, которые у вас уже есть:

  1. Порождение (Spawn). Там, где вы копировали API-ключ в субагента, вызовите delegate(...) и выдайте дочернему агенту Pass.
  2. Инструмент (Tool). Там, где происходит побочный эффект (deploy, запрос, MCP-инструмент), вызовите verify(...) и не запускайте инструмент, если доступ запрещён.

Храните настоящий секрет на раннере. Дочерний агент несёт 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"

Дочерний агент не может добавлять возможности, расширять ресурсы, повышать лимиты или сбрасывать ограничения родителя. Если Pigeon не может доказать, что дочерний агент уже, он отклоняет запрос.

Если раннер никогда не вызывает verify, Pass — просто украшение.

MCP-промежуточный слой

Это точка принудительного контроля, а не часть протокола. Клиент создаёт более узкий Pass для каждого вызова инструмента. Сервер проверяет его перед запуском инструмента.

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"

Идентичность говорит вам, кто такой агент. Полномочия говорят вам, что ему разрешено делать.

CLI

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

Чем это не является

Pigeon — это маленький примитив. Это не платформа, не механизм политик, не поставщик идентичности и не хранитель ключей. Он не останавливает prompt injection. Он ограничивает радиус поражения по тем измерениям, которые вы указали в Pass, и только по ним.

  • Протокол: SPEC.md
  • Ограничения: SECURITY.md
  • Дополнительные скрипты: examples/ (инфраструктура, данные, код, затем платежи)
Скачать инструмент