SKILLEMALL.ai

CD client-side

Уязвимости в коде, доставляемом браузером — JS/TS, JSX/TSX, Vue, Svelte, Angular, HTML, шаблоны, конфигурация бандлера и Docker. Приемники DOM XSS и выполнения кода, секреты в бандлах или config.js, встраиваемые в сборку переменные окружения REACT_APP_/NEXT_PUBLIC_/VITE_, карты исходного кода и серверы разработки, поставляемые в образах, токены в localStorage или не httpOnly cookie, декодирование JWT на стороне клиента, postMessage без проверки origin, разрешительный CORS/credentials, непроверенные редиректы, загрязнение прототипа, отсутствующий SRI, уязвимые пины package.json — и прежде всего решения безопасности, принятые только на фронтенде (отключенные кнопки, скрытые поля, ворота рендеринга is_admin, вычисляемый на стороне клиента user_id), которые сервер никогда не повторяет. Поставляется probe.sh, который сканирует все классы приемников за один проход. Активируется для frontend/, public/, static/, src/components/, конфигурации бандлера или файлов .js/.jsx/.ts/.tsx/.vue/.svelte/.html.

машинный переводПоказать оригиналСкрыть оригинал«Weaknesses in browser-delivered code — JS/TS, JSX/TSX, Vue, Svelte, An…»

Weaknesses in browser-delivered code — JS/TS, JSX/TSX, Vue, Svelte, Angular, HTML, templates, bundler and Docker config. DOM XSS and code-exec sinks, secrets in bundles or config.js, build-inlined REACT_APP_/NEXT_PUBLIC_/VITE_ env, source maps and dev servers shipped in images, tokens in localStorage or non-httpOnly cookies, client-side JWT decoding, postMessage without an origin check, permissive CORS/credentials, unvalidated redirects, prototype pollution, missing SRI, vulnerable package.json pins — and above all security decisions made only in the frontend (disabled buttons, hidden fields, is_admin render gates, a client-computed user_id) that the server never repeats. Ships probe.sh, which greps every sink class in one pass. Activate on frontend/, public/, static/, src/components/, bundler config, or .js/.jsx/.ts/.tsx/.vue/.svelte/.html files.

visa/visa-vulnerability-agentic-harness Agent Skills автор: visa 2 файла · 1 скрипт тело ≈ 1 505 токенов Открыть источникgithub.com↗ проанализирован 6 дн назад

Уязвимости в коде, доставляемом браузером — JS/TS, JSX/TSX, Vue, Svelte, Angular, HTML, шаблоны, конфигурация бандлера и Docker.

Как процесс D 43/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия

ГенераторDockerРазработкатип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
86/100
безопасность, качество, тесты
Безопасность 60%
100
Качество 40%
65
Прогон на моделях
не было
Процессный рейтинг
D
43/100
Процесс не доведён
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Ошибки и развилки вес 10
0
три самых слабых из десяти параметров · все десять

Как улучшить

  1. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 0

✓ Критических и высоких находок нет

Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")

Процессный рейтинг: все десять параметров 43/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Входы и предусловия. Не сказано, что нужно иметь на входе
  • 0Ошибки и развилки. Линейный процесс без обработки сбоев
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Повторный запуск. Изменяющих операций: 5, без проверки текущего состояния
  • 60Инструменты и файлы. Используются инструменты (node), но во frontmatter они не объявлены
  • 100Шаги. Шагов: 24
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Стоимость исполнения. Тело инструкции 1505 токенов

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 859: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • +4Нет примеров входа/выхода
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 7 заголовков
  • +3Пошаговые инструкции: 24 пунктов

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 65.