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

verify-agent-action — скилл для GitHub Copilot: аудит действий

Скилл проверяет предложенные ИИ-агентом команды, мутации данных или деплой до их запуска. Он выявляет подмену параметров и повторные вызовы, но сам никогда ничего не выполняет.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill verify-agent-action
Открыть на GitHub

Что делает verify-agent-action

Скилл инспектирует пакет запроса перед тем, как агент вызовет чувствительный инструмент, изменит базу данных, запустит деплой или выполнит операцию с учетными данными. Логика построена вокруг строгой изоляции: скилл формирует отчёт, возвращая жесткое поле execution_authorized: false. Он принципиально не даёт прав на запуск и не авторизует операции сам.

Проверка строится на шести контролях. Скилл нормализует параметры действия без потери контекста (пути, порты, коммиты, флаги вроде force), сверяет хеши с одобрением, отсекает повторные вызовы по одноразовым номерам nonce и валидирует независимость ревьюеров. Отдельно анализируются противоречия в доказательствах и свежесть телеметрии: отсутствие сигналов мониторинга считается сбоем, а не подтверждением нормы.

В финале проверка выдаёт один из четырех статусов: ELIGIBLE_FOR_HUMAN_DECISION, ELIGIBLE_WITH_CONTROLS, BLOCKED или INCONCLUSIVE. Скилл стоит ставить, если агентам делегированы операции с боевой инфраструктурой или финансами и требуется строгий рубеж проверки перед подтверждением человеком.

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

  • Сверить параметры действия агента с исходным подтверждением
  • Заблокировать повторное выполнение команды по устаревшему nonce
  • Проверить независимость нескольких ИИ-рецензентов перед запуском
  • Выявить нехватку телеметрии или протухшие данные мониторинга

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

  • Проверь пакет одобрения перед выполнением git.push в main
  • Запусти аудит действия агента: перепроверь nonce и скоуп сети
  • Оцени доказательства для вызова инструмента деплоя через verify-agent-action

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

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill verify-agent-action

2GitHub CLI

gh skill install github/awesome-copilot verify-agent-action

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

.github/skills/verify-agent-action/SKILL.md

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

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

application-integration-troubleshooting официальный google Диагностирует сбои, зависания и тихие ошибки в Google Cloud Application Integration и Integration Connectors. Нужен, когда HTTP 200 не означает выполненную работу. Claude Code Gemini CLI CX Codex 16установок signing-entitlements официальный OpenAI Диагностирует ошибки подписи кода, бандлов, песочницы и Gatekeeper в macOS. Пригодится, когда готовое приложение не запускается или отклоняется системой. CX Codex GP ChatGPT 60установок packaging-notarization официальный OpenAI Скилл помогает проверить архив macOS-приложения, подпись и готовность к нотариальному заверению. Пригодится перед распространением приложения или при разборе сбоев, возникающих только после сборки. CX Codex GP ChatGPT 56установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. Claude Code 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. Claude Code CX Codex Cursor +1 56 300установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. Claude Code CX Codex Cursor +1 44 800установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. Claude Code CX Codex Cursor +1 52 200установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. Claude Code CX Codex Cursor +1 69 400установок

Вопросы о verify-agent-action

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

Запустите команду npx skills add github/awesome-copilot --skill verify-agent-action или установите через GitHub CLI: gh skill install github/awesome-copilot verify-agent-action. Также можно добавить файл в .github/skills/verify-agent-action/SKILL.md.

Что делает скилл verify-agent-action?

Он анализирует запрос и пакет согласования перед выполнением опасных инструментов, сверяя хэши, параметры, права и телеметрию. Скилл только готовит аудиторский вердикт и никогда сам не исполняет действие.

Может ли скилл автоматически одобрить и запустить действие?

Нет, правилами скилла жёстко запрещено выполнение или авторизация любых действий. В каждом результате выставляется {"execution_authorized": false}, а окончательное решение остается за человеком или внешней системой.

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

SKILL.md · MIT
---
name: verify-agent-action
description: 'Review a proposed AI-agent action or human-approval packet before execution. Use when an agent wants to run a consequential tool, command, deployment, message, purchase, credential operation, or data mutation; when checking whether approval still matches the exact action; or when auditing action evidence for forged results, parameter swaps, replay, correlated reviewers, missing evidence, expiry, or stale monitoring. Produce an evidence-based review only—never execute or authorize the action.'
---

# Verify Agent Action

Treat a plausible approval screen as a claim, not proof. Verify the complete
decision path before a human or an external enforcement point decides whether
to act.

## Preserve the safety boundary

- Never execute, approve, sign, send, purchase, deploy, or mutate anything.
- Never convert this review into execution authority.
- Never infer missing evidence, identities, timestamps, or parameters.
- Treat a valid schema, checksum, or signature as insufficient by itself.
- Treat signatures as evidence of attribution and integrity, not factual truth.
- Keep supporting and refuting evidence separate; do not average conflict away.
- Fail closed on a material mismatch. Use `INCONCLUSIVE` when required evidence
  is unavailable.

Set this field in every final result:

```json
{"execution_authorized": false}
```

## Collect the review packet

Request only the artifacts needed for the review:

1. The original user or system request.
2. The exact proposed action:
   - operation or tool name
   - target resource
   - complete parameters
   - filesystem and network scope
   - maximum execution count
   - not-before and expiry times
3. The assessment that claims the action is justified.
4. The source evidence and policy used by that assessment.
5. The approval record, including approver identity, role, action digest, nonce,
   audience, issue time, expiry, and use count.
6. The latest monitoring events and expected heartbeat interval.
7. The current trusted time and any prior nonce-use record.

List missing fields before analysis. Do not silently substitute defaults.

## Build the exact action identity

Create one normalized action object without dropping fields:

```json
{
  "operation": "git.push",
  "target": "owner/repository",
  "parameters": {
    "branch": "fix/example",
    "commit": "40-character-sha",
    "remote": "origin"
  },
  "filesystem_scope": [],
  "network_scope": ["github.com:443"],
  "execution_count": 1,
  "not_before": "RFC3339 timestamp",
  "expires_at": "RFC3339 timestamp"
}
```

Use a project-specified canonicalization and digest algorithm when provided.
Otherwise, report that cryptographic identity cannot be independently verified;
still compare every field structurally.

Never normalize away a security-relevant distinction such as:

- branch, commit, repository, environment, recipient, amount, currency, or host
- recursive, force, overwrite, privileged, destructive, or dry-run flags
- filesystem roots, CIDRs, ports, domains, execution counts, or expiry

## Run the six controls

Evaluate every control as `PASS`, `FAIL`, `INCONCLUSIVE`, or `NOT_APPLICABLE`.

### 1. Recompute the assessment

- Re-run the declared deterministic evaluator from the declared source inputs
  when its implementation is available.
- Compare the complete canonical result, not selected fields.
- Mark `FAIL` if the received result differs from recomputation.
- Mark `INCONCLUSIVE` when only schema validation, an internal checksum, or an
  unverifiable evaluator claim is available.

### 2. Match the exact approved action

- Compare the proposed action with the action bound into the approval.
- Compare the complete normalized object and its digest.
- Mark `FAIL` if any material field changed after approval.
- Treat a broad target or scope as a mismatch when the evidence justifies only
  a narrower action.

### 3. Reject replay and identity ambiguity

- Verify the nonce is unique and unused.
- Verify subject, audience, issuer, approver role, issue time, not-before time,
  expiry, and maximum use count.
- Mark `FAIL` for a reused nonce, wrong audience, expired approval, future-dated
  approval, excessive use count, revoked identity, or role mismatch.
- Mark `INCONCLUSIVE` if no trustworthy replay store or time source exists.

### 4. Test reviewer independence

Build a dependence table for every reviewer or evaluator:

| Dimension | Compare |
|---|---|
| Model | family, version, fine-tune |
| Provider | account and control plane |
| Prompt | shared template or ancestry |
| Retrieval | overlapping sources and indexes |
| Tools | shared evaluator code and runtime |
| Operator | common owner or approval authority |

Do not count correlated reviewers as independent quorum members. Mark `FAIL` if
the policy requires independent approval and the remaining independent set is
too small.

### 5. Preserve evidence and contradiction

- Inventory every evidence identifier referenced by the assessment.
- Confirm each item is present, authenticatable, within its validity window,
  and relevant to the claim.
- Record support and refutation independently:

| Support | Refutation | Epistemic state |
|---|---|---|
| absent | absent | `UNDETERMINED` |
| present | absent | `SUPPORTED_ONLY` |
| absent | present | `REFUTED_ONLY` |
| present | present | `CONFLICTED` |

- Mark `FAIL` if evidence was removed, altered, expired, or concealed in a way
  that changes the result.
- Never convert `CONFLICTED` into a numeric average that appears safe.

### 6. Verify lifecycle and monitoring

- Confirm the action is inside its validity window.
- Verify monitoring-event signatures or integrity evidence when available.
- Check sequence numbers, previous-event digests, and expected heartbeat
  cadence.
- Treat missing, stale, reordered, or broken-chain telemetry as a failure when
  policy requires continuous monitoring.
- Do not interpret silence as health.

## Challenge convenient conclusions

Before producing the final result, attempt these mutations mentally or with
project-provided test fixtures:

1. Replace a blocked assessment with an allowed result.
2. Change one approved target, parameter, scope, amount, or commit.
3. Reuse an otherwise valid approval nonce.
4. Replace independent reviewers with correlated copies.
5. Remove one refuting evidence item.
6. Stop the monitoring heartbeat after approval.

If any mutation would pass the reviewed controls, record the affected control
as `FAIL`; do not merely recommend future hardening.

## Determine the review result

Use exactly one result:

- `ELIGIBLE_FOR_HUMAN_DECISION`: all required controls pass.
- `ELIGIBLE_WITH_CONTROLS`: no required control fails, and explicit external
  controls can resolve the listed conditions before execution.
- `BLOCKED`: at least one required control fails or the action exceeds the
  justified scope.
- `INCONCLUSIVE`: no required control is proven false, but evidence needed for
  a safe decision is missing or unverifiable.

`ELIGIBLE_FOR_HUMAN_DECISION` is not approval. A human authority and a separate
enforcement point remain responsible for any real action.

## Report in this format

```markdown
# Agent Action Review

## Result
- Review result: BLOCKED | INCONCLUSIVE | ELIGIBLE_WITH_CONTROLS |
  ELIGIBLE_FOR_HUMAN_DECISION
- Execution authorized: false
- Exact action digest: <verified value or NOT_VERIFIED>

## Action
- Operation:
- Target:
- Material parameters:
- Scope:
- Validity window:
- Maximum uses:

## Control matrix
| Control | Status | Evidence | Reason |
|---|---|---|---|
| Recomputed assessment | PASS/FAIL/INCONCLUSIVE/N/A | ... | ... |
| Exact action binding | ... | ... | ... |
| Replay and identity | ... | ... | ... |
| Reviewer independence | ... | ... | ... |
| Evidence completeness | ... | ... | ... |
| Monitoring freshness | ... | ... | ... |

## Supporting evidence
- ...

## Refuting evidence and defeaters
- ...

## Required next action
- State the smallest concrete step that could change the result.

## Boundaries
- State what this review did not prove.
```

Lead with the result and the exact reason. Prefer a reproducible blocker over a
confidence score.

© github · MIT · github/awesome-copilot

Смотрите также

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

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