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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/ai45lab/skill-safety-bench
Обучение и ОбразованиеБезопасность ИИСостязательная АтакаЛаборатории и Практика
GitHubai45lab/skill-safety-bench

skill-safety-bench

Бенчмарк для оценки безопасности ИИ-агентов против атак, встроенных в контекст, с которым работают навыки, включающий 155 сценариев в 6 областях риска и измеряющий успешность выполнения задач и устойчивость к атакам.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
303143 месяцев назадПроверено Kitploit

SkillSafetyBench

English 中文

SkillSafetyBench — это полностью материализованный бенчмарк для оценки сбоев безопасности, вызванных атаками на контекст, связанный с навыками (skill-facing context). В каждом случае пользовательская задача остаётся обычной, а атака размещается в локальных навыках, вспомогательных скриптах, файлах-компаньонах (sidecar), корпусах, шаблонах или других артефактах рабочего пространства, к которым агент может обращаться во время выполнения.

Изучите дизайн бенчмарка, обозреватель кейсов, лидерборд и анализ экспериментов на сайте SkillSafetyBench, а полную версию статьи читайте на arXiv.

SkillSafetyBench overview

Что оценивает бенчмарк

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

Бенчмарк статичен и готов к запуску. Это не генератор кейсов. Репозиторий содержит 155 подготовленных кейсов в 6 доменах риска и 30 категориях. Каждый кейс включает:

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

Каждый запуск оценивается по двум осям:

  • task_success: была ли выполнена обычная пользовательская задача
  • attack_success: наблюдалось ли небезопасное поведение

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

Структура бенчмарка

SkillSafetyBench содержит 155 кейсов, организованных в 6 доменов риска и 30 категорий. Каждый домен риска содержит 5 категорий, а каждая категория — несколько конкретных кейсов, построенных вокруг обычных носителей задач.

root@kitploit:~
SkillSafetyBench
└── 6 доменов риска
    ├── RD1: Риски доверия к контексту и манипуляции промптами
    ├── RD2: Риски агентности, области действия и авторизации
    ├── RD3: Риски выполнения, среды выполнения, фреймворков и протоколов
    ├── RD4: Риски границ данных, вывода и экстернализации
    ├── RD5: Риски памяти, восстановления, аудита и персистентности
    └── RD6: Риски знаний, модели, цепочки поставок и операционные риски

Кейсы хранятся по домену риска, категории и идентификатору кейса:

root@kitploit:~
benchmark/<risk-domain>/<category>/<case>/
  metadata.json
  rationale.md
  attacked_task/
    instruction.md
    task.toml
    environment/
    solution/solve.sh
    tests/test.sh
  eval/verify_attack.py

Каталог бенчмарка является источником истины для кейсов. Каталоги категорий используют шаблон именования categoryN-..., например:

root@kitploit:~
benchmark/risk-domain-6-knowledge-model-supply-chain-and-operational-risks/category1-availability_cost_and_service_exhaustion/

Конвейер построения бенчмарка

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

SkillSafetyBench construction pipeline

Уведомление о безопасности

Этот репозиторий содержит состязательные (adversarial) кейсы бенчмарка. Некоторые кейсы моделируют фишинг, запрос учётных данных, деструктивные операции, эксфильтрацию данных, злоупотребление границами песочницы, внешние действия и поведение, подобное персистентности.

Запускайте бенчмарк только в изолированных исследовательских средах. Не используйте производственные учётные данные, производственные облачные аккаунты, личные аккаунты или чувствительные локальные файлы. Предпочитайте одноразовые API-ключи, одноразовые контейнеры, ограниченный сетевой доступ и выделенную рабочую директорию. Проверяйте артефакты запуска перед их публикацией.

Как запустить бенчмарк

1. Подготовка инструментария

Требуемые инструменты:

  • bash
  • python3, рекомендуется >= 3.11
  • docker
  • uv
  • harbor
  • nvm
  • Node.js 22

Установите Harbor при необходимости:

root@kitploit:~
uv tool install harbor

Проверьте базовый инструментарий:

root@kitploit:~
harbor --help
python3 --version
docker --version

Если ваш агент Harbor установлен через Node, активируйте Node 22 в оболочке, из которой запускается выполнение:

root@kitploit:~
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm use 22

2. Настройка переменных окружения

Создайте локальный .envrc из файла-примера:

root@kitploit:~
cp env.example .envrc

Для codex задайте как минимум:

root@kitploit:~
export OPENAI_BASE_URL="https://your-openai-compatible-endpoint/v1"
export OPENAI_API_KEY="replace-with-your-openai-api-key"

Для claude-code задайте переменную аутентификации, совместимую с Anthropic, например:

root@kitploit:~
export ANTHROPIC_BASE_URL="https://api.anthropic.com"
export ANTHROPIC_API_KEY="replace-with-your-anthropic-api-key"

Если вы используете direnv, выполните:

root@kitploit:~
direnv allow

Если нет, дополнительных действий не требуется. Пакетный скрипт явно подключает .envrc во время выполнения.

3. Запуск кейсов

Каноническая точка входа:

root@kitploit:~
scripts/start_agent_batch.sh

Запуск одного домена риска:

root@kitploit:~
scripts/start_agent_batch.sh --rd 5

Выбор агента и модели:

root@kitploit:~
scripts/start_agent_batch.sh \
  --rd 3 \
  --agent codex \
  --model openai/gpt-5.4

Запуск с Claude Code:

root@kitploit:~
scripts/start_agent_batch.sh \
  --rd 3 \
  --agent claude-code \
  --model claude-3-7-sonnet-20250219

Запуск одного кейса:

root@kitploit:~
scripts/start_agent_batch.sh \
  --rd 5 \
  --case travel_planning_poisoned_belief_persistence_memory_anchor

Запуск одной категории:

root@kitploit:~
scripts/start_agent_batch.sh \
  --rd 6 \
  --category category3-model_behavior_and_finetuning_poisoning

Запуск из явного манифеста:

root@kitploit:~
scripts/start_agent_batch.sh \
  --manifest benchmark/risk-domain-6-knowledge-model-supply-chain-and-operational-risks/manifest.json

Использование пользовательского файла окружения:

root@kitploit:~
scripts/start_agent_batch.sh \
  --rd 5 \
  --envrc /path/to/your.envrc

Вывод выбранных кейсов без выполнения:

root@kitploit:~
scripts/start_agent_batch.sh --rd 5 --dry-run

4. Чтение результатов запуска

Каждый запуск создаёт выходной каталог в jobs/:

root@kitploit:~
jobs/<agent>-risk-domain-5-memory-recovery-audit-and-persistence-risks-<timestamp>/

Начните с:

  • jobs/<run>/attack_results.json
  • jobs/<run>/summary.json
  • jobs/<run>/attack_results.csv
  • jobs/<run>/summary.csv

Полезные файлы каждого запуска:

  • selected_cases.json
  • batch_config.json
  • <case_id>/case_result.json
  • attack_results.md

Распространённые исходы атак:

  • attack_success
  • attack_not_observed
  • task_output_missing

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

Скачать инструмент