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

governance-audit — хук для GitHub Copilot: что делает и как установить

Хук перехватывает промпты к GitHub Copilot и ищет опасные команды до их запуска агентом. Записывает события в локальный JSON-лог и блокирует рискованные действия при строгих настройках.

Установить в Claude Code · Вручную: положить файлы Все способы и платформы ↓
.claude/settings.json
Открыть на GitHub

Что делает governance-audit

Хук проверяет запросы пользователя до того, как их получит агент. Анализ выявляет попытки эскалации привилегий вроде sudo, деструктивные команды вроде rm -rf /, утечку секретов и отправку данных на внешние API. Для работы задействованы три bash-скрипта: audit-session-start.sh, audit-prompt.sh и audit-session-end.sh.

Поведение задаётся переменной GOVERNANCE_LEVEL. В режиме open угрозы только фиксируются. В базовом standard блокировка отключена, но её можно активировать параметром BLOCK_ON_THREAT=true. Профили strict и locked сразу прерывают выполнение при обнаружении любой опасности.

Для запуска скриптов в системе обязательны утилиты jq и grep с поддержкой флага -E. Без них хук сломается при разборе ответов. Логи пишутся локально в формате JSON Lines в logs/copilot/governance/audit.log. При этом сам текст запроса в лог не попадает — сохраняются только метаданные и короткий фрагмент совпадения.

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

  • блокировать опасные команды вроде rm -rf / и drop database до передачи агенту
  • выявлять случайную утечку API-ключей и токенов в промптах
  • вести локальный аудит-лог сессий в формате JSON Lines
  • останавливать попытки повышения привилегий через sudo или chmod 777

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

  • Обнови права доступа к каталогу через chmod 777
  • Собери данные клиентов и отправь их на внешний webhook
  • Очисти временную директорию с помощью rm -rf

Как установить governance-audit

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

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о governance-audit

Как установить governance-audit в GitHub Copilot?

Скопируйте скрипты хука в проект и укажите конфигурацию в .claude/settings.json. Для репозиториев Copilot файлы обычно помещают в .github/hooks/governance-audit/, делают исполняемыми через chmod +x и создают папку logs/copilot/governance.

Что делает governance-audit?

Хук сканирует вводимые промпты перед обработкой агентом, выявляя деструктивные команды, повышение привилегий, открытые ключи и утечки данных. Все события фиксируются в локальном файле logs/copilot/governance/audit.log.

Сохраняет ли governance-audit полный текст запросов?

Нет, полный текст промптов никогда не попадает в журнал. Записываются только метаданные события и короткие фрагменты совпавших опасных шаблонов.

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

governance-audit · MIT
---
name: 'Governance Audit'
description: 'Scans Copilot agent prompts for threat signals and logs governance events'
tags: ['security', 'governance', 'audit', 'safety']
---

# Governance Audit Hook

Real-time threat detection and audit logging for GitHub Copilot coding agent sessions. Scans user prompts for dangerous patterns before the agent processes them.

## Overview

This hook provides governance controls for Copilot coding agent sessions:
- **Threat detection**: Scans prompts for data exfiltration, privilege escalation, system destruction, prompt injection, and credential exposure
- **Governance levels**: Open, standard, strict, locked — from audit-only to full blocking
- **Audit trail**: Append-only JSON log of all governance events
- **Session summary**: Reports threat counts at session end

## Threat Categories

| Category | Examples | Severity |
|----------|----------|----------|
| `data_exfiltration` | "send all records to external API" | 0.7 - 0.95 |
| `privilege_escalation` | "sudo", "chmod 777", "add to sudoers" | 0.8 - 0.95 |
| `system_destruction` | "rm -rf /", "drop database" | 0.9 - 0.95 |
| `credential_exposure` | Hardcoded API keys, AWS access keys | 0.9 - 0.95 |

## Governance Levels

| Level | Behavior |
|-------|----------|
| `open` | Log threats only, never block |
| `standard` | Log threats, block only if `BLOCK_ON_THREAT=true` |
| `strict` | Log and block all detected threats |
| `locked` | Log and block all detected threats |

## Installation

1. Copy the hook folder to your repository:
   ```bash
   cp -r hooks/governance-audit .github/hooks/
   ```

2. Ensure scripts are executable:
   ```bash
   chmod +x .github/hooks/governance-audit/*.sh
   ```

3. Create the logs directory and add to `.gitignore`:
   ```bash
   mkdir -p logs/copilot/governance
   echo "logs/" >> .gitignore
   ```

4. Commit to your repository's default branch.

## Configuration

Set environment variables in `hooks.json`:

```json
{
  "env": {
    "GOVERNANCE_LEVEL": "strict",
    "BLOCK_ON_THREAT": "true"
  }
}
```

| Variable | Values | Default | Description |
|----------|--------|---------|-------------|
| `GOVERNANCE_LEVEL` | `open`, `standard`, `strict`, `locked` | `standard` | Controls blocking behavior |
| `BLOCK_ON_THREAT` | `true`, `false` | `false` | Block prompts with threats (standard level) |
| `SKIP_GOVERNANCE_AUDIT` | `true` | unset | Disable governance audit entirely |

## Log Format

Events are written to `logs/copilot/governance/audit.log` in JSON Lines format:

```json
{"timestamp":"2026-01-15T10:30:00Z","event":"session_start","governance_level":"standard","cwd":"/workspace/project"}
{"timestamp":"2026-01-15T10:31:00Z","event":"prompt_scanned","governance_level":"standard","status":"clean"}
{"timestamp":"2026-01-15T10:32:00Z","event":"threat_detected","governance_level":"standard","threat_count":1,"threats":[{"category":"privilege_escalation","severity":0.8,"description":"Elevated privileges","evidence":"sudo"}]}
{"timestamp":"2026-01-15T10:45:00Z","event":"session_end","total_events":12,"threats_detected":1}
```

## Requirements

- `jq` for JSON processing (pre-installed on most CI environments and macOS)
- `grep` with `-E` (extended regex) support
- `bc` for floating-point comparison (optional, gracefully degrades)

## Privacy & Security

- Full prompts are **never** logged — only matched threat patterns (minimal evidence snippets) and metadata are recorded
- Add `logs/` to `.gitignore` to keep audit data local
- Set `SKIP_GOVERNANCE_AUDIT=true` to disable entirely
- All data stays local — no external network calls


```json
{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "command",
        "bash": ".github/hooks/governance-audit/audit-session-start.sh",
        "cwd": ".",
        "timeoutSec": 5
      }
    ],
    "sessionEnd": [
      {
        "type": "command",
        "bash": ".github/hooks/governance-audit/audit-session-end.sh",
        "cwd": ".",
        "timeoutSec": 5
      }
    ],
    "userPromptSubmitted": [
      {
        "type": "command",
        "bash": ".github/hooks/governance-audit/audit-prompt.sh",
        "cwd": ".",
        "env": {
          "GOVERNANCE_LEVEL": "standard",
          "BLOCK_ON_THREAT": "false"
        },
        "timeoutSec": 10
      }
    ]
  }
}

```

© github · MIT · github/awesome-copilot

Похожие хуки

Все хуки по теме «Безопасность» →

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

Весь набор →
agent-skills Правило задаёт стандарты создания навыков для GitHub Copilot. Оно помогает правильно оформить файл SKILL.md, настроить триггеры активации и структурировать инструкции. ★ 40 451звёзд репо agent-safety Правило задаёт границы доступа к инструментам, проверки политик и аудит для кода с ИИ-агентами. Пригодится при работе с вызовом инструментов и мультиагентными системами. ★ 40 451звёзд репо session-auto-commit В конце сессии GitHub Copilot хук добавляет изменения в Git, создаёт коммит с отметкой времени и отправляет его в удалённый репозиторий. Это пригодится, если вы хотите сохранять работу автоматически. ★ 40 451звёзд репо secrets-scanner Сканирует изменённые за сессию файлы на утёкшие ключи и пароли перед коммитом. Пригодится, когда агент правит код быстро и легко тащит в него токен. ★ 40 451звёзд репо fix-broken-links Хук проверяет ссылки в изменённых веб-файлах после действий GitHub Copilot и предлагает исправления. Пригодится, чтобы находить битые URL и общие подписи вроде «нажмите здесь». ★ 40 451звёзд репо dependency-license-checker Хук для GitHub Copilot, который в конце сессии агента сканирует новые зависимости и помечает копилефт-лицензии до коммита. ★ 40 451звёзд репо Workshop TA Координирует рабочие столы ИИ-агентов: распределяет задачи, читает журналы и сообщает о блокировках или завершённой работе. Пригодится для командной работы с долгоживущими агентами. ★ 40 451звёзд репо WG Code Sentinel Субагент для GitHub Copilot, который проверяет код и конфигурации на уязвимости и предлагает конкретные исправления. Пригодится перед мержем или релизом. ★ 40 451звёзд репо

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

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