FC skill-security-auditor
Аудит безопасности кода, конфигураций и инфраструктуры. Используйте, когда пользователь хочет провести аудит или повысить безопасность: сканирование на уязвимости (SQL-инъекции, XSS, инъекции команд, обход пути), обнаружение жестко закодированных секретов и учетных данных, проверка аутентификации и авторизации, проверка зависимостей на известные CVE, аудит конфигурационных файлов на небезопасные настройки по умолчанию или генерация отчетов по безопасности. Триггеры: "security audit", "vulnerability scan", "code review for security", "find secrets", "check for vulnerabilities", "OWASP", "CVE", или вопросы о безопасности кода.
машинный переводПоказать оригиналСкрыть оригинал«Security auditing for code, configs, and infrastructure. Use when the…»
Security auditing for code, configs, and infrastructure. Use when the user wants to audit or improve security: scan for vulnerabilities (SQL injection, XSS, command injection, path traversal), detect hardcoded secrets and credentials, review auth and authorization, check dependencies for known CVEs, audit config files for insecure defaults, or generate security reports. Trigger on "security audit", "vulnerability scan", "code review for security", "find secrets", "check for vulnerabilities", "OWASP", "CVE", or questions about code security.
Аудит безопасности кода, конфигураций и инфраструктуры.
Как процесс C 54/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
В файлах лежит чужой ключ или токен. Если он живой, ваш агент начнёт ходить в чужие сервисы от чужого имени; если ключ уже отозван, скрипты скилла просто сломаются. Такой ключ мог попасть в скилл вместе с целым рабочим пространством автора, включая личные данные.
Ключ виден всем, кто скачал скилл, и уже мог быть скопирован ботами, которые сканируют каталоги. Отзовите его сейчас, проверьте счета и логи доступа, а потом перевыпустите.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 13
-
высокая Секреты в коде
secret-private-keyreferences/secrets-patterns.md:87Приватный ключ (заголовок ключа без тела)-----BEGIN PRIVATE KEY----- …
только заголовок -
высокая Секреты в коде
secret-private-keyreferences/secrets-patterns.md:90Приватный ключ (заголовок ключа без тела)-----BEGIN PRIVATE KEY----- …
только заголовок -
высокая Секреты в коде
secret-private-keyreferences/secrets-patterns.md:93Приватный ключ (заголовок ключа без тела)-----BEGIN PRIVATE KEY----- …
только заголовок -
высокая Секреты в коде
secret-private-keyreferences/secrets-patterns.md:96Приватный ключ (заголовок ключа без тела)-----BEGIN PRIVATE KEY----- …
только заголовок -
высокая Секреты в коде
secret-private-keyreferences/secrets-patterns.md:99Приватный ключ (заголовок ключа без тела)-----BEGIN PGP PRIVATE KEY BLOCK-----
только заголовок
Средние и низкие: 8
-
средняя Секреты в коде
secret-private-keyscripts/scan_secrets.py:56Приватный ключ (определение детектора / чёрного списка; заголовок ключа без тела)("RSA Private Key", r"-----BEGIN PRIVATE KEY----- …детектортолько заголовок -
средняя Секреты в коде
secret-private-keyscripts/scan_secrets.py:57Приватный ключ (определение детектора / чёрного списка; заголовок ключа без тела)("Generic Private Key", r"-----BEGIN PRIVATE KEY----- …детектортолько заголовок -
средняя Секреты в коде
secret-private-keyscripts/scan_secrets.py:58Приватный ключ (определение детектора / чёрного списка; заголовок ключа без тела)("EC Private Key", r"-----BEGIN PRIVATE KEY----- …детектортолько заголовок -
средняя Секреты в коде
secret-private-keyscripts/scan_secrets.py:59Приватный ключ (определение детектора / чёрного списка; заголовок ключа без тела)("OpenSSH Private Key", r"-----BEGIN PRIVATE KEY----- …детектортолько заголовок -
средняя Секреты в коде
secret-private-keyscripts/scan_secrets.py:60Приватный ключ (определение детектора / чёрного списка; заголовок ключа без тела)("PGP Private Key", r"-----BEGIN PGP PRIVATE KEY BLOCK-----"),детектортолько заголовок -
низкая Секреты в коде
secret-aws-keyreferences/secrets-patterns.md:19AWS access key ID (значение-заглушка)| AWS Access Key | `AKIA[0-9A-Z]{16}` | AKIA…PLE |заглушка -
низкая Рискованное назначение
intent-offensive-securitySKILL.md:70Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)| A01 | Broken Access Control | Missing auth checks, IDOR, privilege escalation |
-
низкая Опасные команды
cmd-eval-dynamicSKILL.md:91Динамическое выполнение кода из декодированного/недоверенного ввода (документация security-скилла)os.system(f"ping {hostname}")security-скилл
Просканировано файлов: 6. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 54/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 85Шаги. Шагов: 21, расплывчатых формулировок: 1
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1641 токенов
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +5В description 5 примера фраз-триггеров в кавычках
- +3Длина description 546 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 15 заголовков
- +3Пошаговые инструкции: 21 пунктов
- +4Есть примеры (10 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (2 из 2)
- +3Все 2 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 97.