BD Concurrency Audit
Аудитор статической конкурентности и состояний гонки для Go, Java, Python, Node.js/TypeScript. Обнаруживает мутации общих состояний без блокировок (гонки map в Go, неатомарные инкременты в Java, общие списки в потоках/asyncio Python), шаблоны TOCTOU (время проверки — время использования) во всех языках, копирование sync.Mutex по значению, добавление WaitGroup.Add внутри горутин, SimpleDateFormat как поле экземпляра, двойную проверку блокировки без volatile, общие состояния asyncio без Lock. Сопоставляет находки с CWE-362 (состояние гонки) и CWE-367 (TOCTOU). Ноль конкурентов на ClawHub — ни одного SKILL.md для аудита конкурентности в 13 700+ файлах.
машинный переводПоказать оригиналСкрыть оригинал«Static concurrency and race-condition auditor for Go, Java, Python, No…»
Static concurrency and race-condition auditor for Go, Java, Python, Node.js/TypeScript. Detects shared-state mutations without locks (Go map races, Java non-atomic increments, Python thread/asyncio shared lists), TOCTOU (time-of-check-time-of-use) patterns across all languages, sync.Mutex copied by value, WaitGroup.Add inside goroutines, SimpleDateFormat as instance field, double-checked locking without volatile, asyncio shared state without Lock. Maps findings to CWE-362 (race condition) and CWE-367 (TOCTOU). Zero competitors on ClawHub — not a single concurrency-audit SKILL.md in 13,700+ files.
Аудитор статической конкурентности и состояний гонки для Go, Java, Python, Node.js/TypeScript. Обнаруживает мутации общих состояний без блокировок (гонки map…
Как процесс D 37/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 1
✓ Критических и высоких находок нет
Средние и низкие: 1
-
низкая Рискованное назначение
intent-offensive-securitySKILL.md:29Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)- **Security impact**: TOCTOU races in file ops enable symlink attacks and privilege escalation (CWE-367)
Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
body-longтело SKILL.md ≈ 5528 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 37/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (Concurrency Audit) не совпадает с папкой (phy-concurrency-audit)
- 60Инструменты и файлы. Используются инструменты (web, python, node), но во frontmatter они не объявлены
- 70Стоимость исполнения. Тело инструкции 5528 токенов
- 100Шаги. Шагов: 7
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +3Длина description 603 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 7 пунктов
- +4Есть примеры (3 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 69.