AACWorkflow Docs

Подписание и проверка навыков

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

Подписание и проверка навыков — это функция безопасности, которая устанавливает ворота утверждения для пользовательских навыков. Прежде чем агент сможет использовать какой-либо навык, он должен быть проверен и одобрен администратором рабочего пространства или рецензентом. Каждый навык криптографически подписан с помощью контрольной суммы для обнаружения изменений.

Почему навыки нуждаются в проверке

Пользовательские навыки мощны — они предоставляют агентам новые возможности и часто доступ к внешним системам. Без проверки:

  • Вредоносный код — неправомерный навык может украсть данные или нанести ущерб
  • Непредусмотренное поведение — разработчик может случайно допустить баги или нарушить шаблоны
  • Пробелы в соответствии — регулируемые команды должны проверить, какой код работает в production
  • Риск цепочки поставок — если навык импортирован из реестра, необходимо проверить его содержимое

Как работает проверка навыков

  1. Автор создает или редактирует навык — начинает в состоянии draft
  2. Автор отправляет на проверку — статус меняется на pending_review
  3. Рецензент проверяет — видит код, вложения и diff, если это обновление
  4. Рецензент решаетодобрить (агенты могут использовать) или отклонить (с обратной связью)
  5. Если одобрено — навык активен, агенты могут загружать его в задачи
  6. Если отредактировано позже — одобрение очищается и требуется повторная проверка

Жизненный цикл навыка

draft

Новый навык или неутвержденное редактирование. Агенты не могут его использовать. Только автор и администраторы рабочего пространства могут увидеть его полностью.

pending_review

Навык ожидает решения рецензента. Он появляется в очереди Навыки → На проверке. Агенты по-прежнему не могут его использовать.

approved

Рецензент дал согласие. Навык активен и агенты могут загружать его в задачи. Одобрение криптографически связано с точным содержимым через контрольную сумму.

rejected

Рецензент отклонил навык с обратной связью. Автор может отредактировать и переотправить или отказаться. Агенты не могут его использовать.

revoked

Содержимое навыка было изменено после одобрения (несовпадение контрольной суммы). Навык немедленно отключен и агенты не могут его загружать. Это сигнал безопасности для расследования.

Версионирование и контрольные суммы

Каждый раз, когда вы создаете или редактируете навык, AACWorkflow:

  1. Вычисляет контрольную сумму (SHA256) содержимого навыка и любых прикрепленных файлов
  2. Сохраняет контрольную сумму вместе с одобрением, так чтобы одобрение было привязано к точному содержимому
  3. Сохраняет историю версий, чтобы рецензенты могли видеть различия

Когда агент пытается использовать навык во время выполнения задачи:

  • AACWorkflow проверяет, совпадает ли сохраненная контрольная сумма с текущим содержимым
  • Если контрольные суммы не совпадают (содержимое было отредактировано или изменено), навык помечается как revoked
  • Агент не может загружать его и уведомляется о проблеме безопасности

Изменение обнаружено, но предотвращено. Если контрольная сумма навыка не совпадает, агенты автоматически его пропускают. Проверьте журналы аудита, если это происходит — это может указывать на несогласованность базы данных или попытку изменения.

Создание и отправка навыков на проверку

Создание навыка

  1. Перейдите в Навыки → Создать навык
  2. Заполните имя, описание и содержимое
  3. При необходимости прикрепите файлы (скрипты Python, файлы данных и т. д.)
  4. Нажмите Создать

Навык начинает работу в состоянии draft. Только вы и администраторы рабочего пространства можете его видеть.

Отправка на проверку

  1. Откройте навык
  2. Еще раз проверьте содержимое
  3. Нажмите Отправить на проверку
  4. Дополнительно добавьте сообщение для рецензента

Навык перемещается в pending_review и появляется в очереди рецензентов.

Редактирование перед проверкой

Если вы находитесь в состоянии draft или rejected, вы можете свободно редактировать. Нажмите Редактировать, внесите изменения и сохраните.

Если навык одобрен и вам нужно внести изменения:

  1. Нажмите Редактировать
  2. Внесите изменения и сохраните
  3. Навык автоматически переместится обратно в pending_review
  4. Создается новая версия и рецензенты могут увидеть diff того, что изменилось

Проверка навыков

Просмотр ожидающих навыков

  1. Перейдите в Навыки → На проверке
  2. Посмотрите список навыков, ожидающих одобрения

Проверка навыка

  1. Откройте ожидающий навык
  2. Прочитайте описание и проверьте код
  3. Если это обновление (версия > 1), нажмите Посмотреть различия, чтобы увидеть, что изменилось
  4. Решите:
    • Одобрить — код безопасен и соответствует вашим стандартам; агенты могут его использовать
    • Отклонить — в коде есть проблемы; предоставьте обратную связь автору

Просмотр различий

При проверке обновления в представлении различий показано:

  • Удаленные строки (красный) — код, который автор удалил
  • Добавленные строки (зеленый) — новый код
  • Контекст — несколько строк до и после каждого изменения

Используйте это для обнаружения:

  • Неожиданные изменения в критических разделах
  • Новые внешние вызовы или зависимости
  • Расширение области или дрейф функций

Одобрение навыка

  1. Откройте навык в pending_review
  2. Нажмите Одобрить
  3. Дополнительно добавьте примечания рецензента (они видны автору и появляются в журналах аудита)
  4. Нажмите Подтвердить

Навык переместится в approved и агенты сразу могут начать его использовать.

Отклонение навыка

  1. Откройте навык в pending_review
  2. Нажмите Отклонить
  3. Добавьте обязательную обратную связь — объясните, что нужно изменить
  4. Нажмите Подтвердить

Навык переместится в rejected. Автор видит вашу обратную связь и может отредактировать и переотправить.

Ограничения инструментов

При проверке рецензент может дополнительно установить allowed_tools — список инструментов, которые навыку разрешено использовать. Например:

  • Навык github-pr-reviewer может быть ограничен только github_api
  • Навык aws-cost-checker может быть ограничен только aws_api

Если навык пытается использовать инструмент вне этого списка разрешений:

  • Ограничение принудительно применяется во время выполнения задачи
  • Агент получает ошибку и не может продолжить
  • Попытка регистрируется в журналах аудита

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

Аудит и соответствие

Каждое действие навыка регистрируется:

  • Создание, редактирование и удаление навыков
  • Отправка на проверку
  • Одобрения, отклонения и отзывы
  • Когда агенты загружают и используют навыки
  • Несовпадения контрольных сумм и попытки изменения

Получите доступ к журналу аудита в Настройки → Журналы аудита и отфильтруйте по «Навыкам» для:

  • Отслеживания, кто одобрил какой код
  • Просмотра, когда были отредактированы навыки
  • Расследования инцидентов безопасности (отозванные навыки, сбои контрольной суммы)

Лучшие практики

  • Тщательная проверка — навыки работают от имени агентов; относитесь к ним как к проверке кода
  • Ожидайте вопросов — попросите авторов объяснить критические разделы
  • Используйте ограничения инструментов — ограничьте каждый навык минимумом инструментов, которые ему нужны
  • Ротация рецензентов — не позволяйте одному человеку одобрять всё
  • Проверяйте обновления — внимательно проверяйте различия при редактировании навыков
  • Отзовите, если подозрительно — если навык ведет себя неожиданно, отзовите его и расследуйте

Массовые операции

Администраторы Enterprise могут:

  • Отозвать навык — немедленно отключить его в масштабе рабочего пространства (если подозревается изменение)
  • Требовать повторного одобрения — принудительно отправить все одобренные навыки в pending_review (например, после изменения политики)
  • Проверить все версии — просмотреть полную историю версий и различия

Используйте Настройки → Навыки → Управление для выполнения этих массовых операций.

Следующие шаги