К основному содержанию
правило официальный · GitHub

agent-safety — правило для GitHub Copilot: защита ИИ-агентов

Правило задаёт границы доступа к инструментам, проверки политик и аудит для кода с ИИ-агентами. Пригодится при работе с вызовом инструментов и мультиагентными системами.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/instructions/agent-safety.instructions.md
Открыть на GitHub

Что делает agent-safety

Правило охватывает проверки до выполнения действий: агенту задают явный список разрешённых инструментов, аргументы проверяют на чувствительные данные, а для рискованных операций требуют подтверждение человека. Если проверка политики завершилась ошибкой или дала неоднозначный результат, действие следует запретить. Это важно: одних проверок уже сгенерированного ответа недостаточно.

Для политик предлагается использовать YAML или JSON, а не встраивать ограничения в код. Записи аудита должны быть неизменяемыми и содержать сведения о вызовах инструментов и нарушениях; пользовательские промпты в журнал не включают. Для мультиагентной системы нужна отдельная политика для каждого агента, а при передаче задачи применяются более строгие ограничения. Правило также описывает подходы для PydanticAI, CrewAI, OpenAI Agents SDK, LangChain/LangGraph и AutoGen.

Какие задачи решает

  • ограничить инструменты, доступные агенту
  • проверять аргументы инструментов на секреты и инъекции
  • требовать подтверждение перед удалением или отправкой писем
  • сочетать политики вызывающего и вложенного агента
  • вести аудит решений без записи пользовательских промптов

Примеры запросов агенту

  • Добавь к этому агенту явный список разрешённых инструментов и запрети действие при ошибке проверки политики.
  • Проверь аргументы инструментов на API-ключи и SQL-инъекции до вызова.
  • Настрой для мультиагентной системы отдельные политики и применение более строгих ограничений при передаче задачи.

Как установить agent-safety

Вручную: положить файлы

.github/instructions/agent-safety.instructions.md

Поле applyTo задаёт, к каким файлам применять

По шагам, с командами для каждой платформы: AGENTS.md и CLAUDE.md: что это, кто читает и какой выбрать

Вопросы о agent-safety

Как установить agent-safety в GitHub Copilot?

Добавь файл правила по пути .github/instructions/agent-safety.instructions.md.

Что делает agent-safety?

Задаёт правила управления доступом ИИ-агентов к инструментам, проверки содержимого и ведения аудита. Также описывает ограничения для мультиагентных систем.

Как agent-safety предлагает ограничивать инструменты агента?

Нужно явно перечислить разрешённые инструменты и отделить их регистрацию от авторизации. Для операций с высоким влиянием требуется подтверждение человека.

Исходный текст

agent-safety.instructions.md · MIT
---
description: 'Guidelines for building safe, governed AI agent systems. Apply when writing code that uses agent frameworks, tool-calling LLMs, or multi-agent orchestration to ensure proper safety boundaries, policy enforcement, and auditability.'
applyTo: '**'
---

# Agent Safety & Governance

## Core Principles

- **Fail closed**: If a governance check errors or is ambiguous, deny the action rather than allowing it
- **Policy as configuration**: Define governance rules in YAML/JSON files, not hardcoded in application logic
- **Least privilege**: Agents should have the minimum tool access needed for their task
- **Append-only audit**: Never modify or delete audit trail entries — immutability enables compliance

## Tool Access Controls

- Always define an explicit allowlist of tools an agent can use — never give unrestricted tool access
- Separate tool registration from tool authorization — the framework knows what tools exist, the policy controls which are allowed
- Use blocklists for known-dangerous operations (shell execution, file deletion, database DDL)
- Require human-in-the-loop approval for high-impact tools (send email, deploy, delete records)
- Enforce rate limits on tool calls per request to prevent infinite loops and resource exhaustion

## Content Safety

- Scan all user inputs for threat signals before passing to the agent (data exfiltration, prompt injection, privilege escalation)
- Filter agent arguments for sensitive patterns: API keys, credentials, PII, SQL injection
- Use regex pattern lists that can be updated without code changes
- Check both the user's original prompt AND the agent's generated tool arguments

## Multi-Agent Safety

- Each agent in a multi-agent system should have its own governance policy
- When agents delegate to other agents, apply the most restrictive policy from either
- Track trust scores for agent delegates — degrade trust on failures, require ongoing good behavior
- Never allow an inner agent to have broader permissions than the outer agent that called it

## Audit & Observability

- Log every tool call with: timestamp, agent ID, tool name, allow/deny decision, policy name
- Log every governance violation with the matched rule and evidence
- Export audit trails in JSON Lines format for integration with log aggregation systems
- Include session boundaries (start/end) in audit logs for correlation

## Code Patterns

When writing agent tool functions:
```python
# Good: Governed tool with explicit policy
@govern(policy)
async def search(query: str) -> str:
    ...

# Bad: Unprotected tool with no governance
async def search(query: str) -> str:
    ...
```

When defining policies:
```yaml
# Good: Explicit allowlist, content filters, rate limit
name: my-agent
allowed_tools: [search, summarize]
blocked_patterns: ["(?i)(api_key|password)\\s*[:=]"]
max_calls_per_request: 25

# Bad: No restrictions
name: my-agent
allowed_tools: ["*"]
```

When composing multi-agent policies:
```python
# Good: Most-restrictive-wins composition
final_policy = compose_policies(org_policy, team_policy, agent_policy)

# Bad: Only using agent-level policy, ignoring org constraints
final_policy = agent_policy
```

## Framework-Specific Notes

- **PydanticAI**: Use `@agent.tool` with a governance decorator wrapper. PydanticAI's upcoming Traits feature is designed for this pattern.
- **CrewAI**: Apply governance at the Crew level to cover all agents. Use `before_kickoff` callbacks for policy validation.
- **OpenAI Agents SDK**: Wrap `@function_tool` with governance. Use handoff guards for multi-agent trust.
- **LangChain/LangGraph**: Use `RunnableBinding` or tool wrappers for governance. Apply at the graph edge level for flow control.
- **AutoGen**: Implement governance in the `ConversableAgent.register_for_execution` hook.

## Common Mistakes

- Relying only on output guardrails (post-generation) instead of pre-execution governance
- Hardcoding policy rules instead of loading from configuration
- Allowing agents to self-modify their own governance policies
- Forgetting to governance-check tool *arguments*, not just tool *names*
- Not decaying trust scores over time — stale trust is dangerous
- Logging prompts in audit trails — log decisions and metadata, not user content

© github · MIT · github/awesome-copilot

Похожие правила IDE

Всё по теме «Безопасность» →
n8n-agents czlonkowski Помогает агенту собирать AI-узлы n8n: выбрать Agent, chain или classifier, подключить память и инструменты, довести структурированный вывод до рабочего состояния. CX Codex +1 1 900установок skill-inspector NVIDIA Проверяет скилл перед установкой на предмет уязвимостей, избыточных прав и скрытого поведения. Использует статический анализ NVIDIA SkillSpector и семантическую проверку агента. CX Codex +1 921установок prompt-guard UseAI-pro Скилл проверяет текст скиллов, сообщения пользователя и внешние данные на попытки перехватить инструкции агента. Пригодится, когда подключаете чужие скиллы или тянете данные из веба. CX Codex +1 546установок autonomous-agent-patterns sickn33 Набор паттернов для того, кто проектирует автономного агента-кодера: вызов инструментов, подтверждения, браузерная автоматизация, точки отката. CX Codex +1 965установок safety-guard affaan-m Скилл просит агента подтверждать опасные команды и ограничивает запись выбранной папкой. Пригодится для миграций, деплоев и автономной работы. CX Codex +1 4 500установок safety-scan ruvnet Сканирует входные данные на попытки prompt injection, jailbreak-атаки и небезопасный контент перед обработкой моделью. Нужен, если вы принимаете данные от пользователей, API или вебхуков. CX Codex +1 743установок

Из того же набора732

Весь набор →
ansible Задаёт стандарты написания плейбуков Ansible: правила именования задач, формат коллекций FQCN, разделение секретов в Ansible Vault и проверки через ansible-lint. ★ 40 418звёзд репо ai-prompt-engineering-safety-best-practices Правило помогает формулировать запросы к ИИ с ясным контекстом, ограничениями и требованиями к формату. Оно также предлагает учитывать безопасность и предвзятость при создании и проверке промптов. ★ 40 418звёзд репо agents Правило задаёт стандарт для файлов кастомных агентов GitHub Copilot: какие поля обязательны, как настроить инструменты и переходы между агентами. ★ 40 418звёзд репо agent-skills Правило задаёт стандарты создания навыков для GitHub Copilot. Оно помогает правильно оформить файл SKILL.md, настроить триггеры активации и структурировать инструкции. ★ 40 418звёзд репо secrets-scanner Сканирует изменённые за сессию файлы на утёкшие ключи и пароли перед коммитом. Пригодится, когда агент правит код быстро и легко тащит в него токен. ★ 40 418звёзд репо dependency-license-checker Хук для GitHub Copilot, который в конце сессии агента сканирует новые зависимости и помечает копилефт-лицензии до коммита. ★ 40 418звёзд репо WG Code Sentinel Субагент для GitHub Copilot, который проверяет код и конфигурации на уязвимости и предлагает конкретные исправления. Пригодится перед мержем или релизом. ★ 40 418звёзд репо Expert Vue.js Frontend Engineer Субагент для GitHub Copilot, заточенный под Vue 3, Composition API, TypeScript и архитектуру компонентов. Помогает строить фронтенд, мигрировать с Vue 2 и оптимизировать рендеринг. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой