SKILLEMALL.ai

DC browse

Управлять реальным браузером через Aside: открыть страницу, прочитать ее, пройти по потоку, сделать скриншоты, проверить ошибки консоли. (gstack)

машинный переводПоказать оригиналСкрыть оригинал«Drive a real browser through Aside: open a page, read it, click throug…»

Drive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack)

garrytan/gstack Agent Skills автор: garrytan MIT 80 файлов · 75 скриптов тело ≈ 8 493 токенов Открыть источникgithub.com↗ проанализирован 2 дн назад

Управлять реальным браузером через Aside: открыть страницу, прочитать ее, пройти по потоку, сделать скриншоты, проверить ошибки консоли.

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

АнализаторИИ и агентыДанные и аналитикаТексты и документытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
D
63/100
безопасность, качество, тесты
Безопасность 60%
70
Качество 40%
52
Прогон на моделях
не было
Процессный рейтинг
C
62/100
Есть пробелы
Результат и критерий готовности вес 14
0
Когда включается вес 12
20
Входы и предусловия вес 11
30
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Утечка данных средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».

Автору

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

Широкие права средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.

Автору

Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.

Обфускация средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

В файлах есть невидимые символы, закодированные команды или спрятанные комментарии для модели. То, что вы читаете, отличается от того, что видит агент.

Автору

Уберите невидимые символы (часто они попадают из копипаста) и закодированные строки: их не пропустит ни один каталог. Инструкции для модели должны быть видны и человеку.

Как улучшить

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

Находки guard · 10

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

Средние и низкие: 10
  • средняя Утечка данных intent-browser-credential-store sections/command-list.md:97
    Доступ к хранилищу паролей / cookies браузера (демонстрация атаки / пример)
    | `cookie-import-browser [browser] [--domain d] [--profile p] [--all] [--clear-storage] [--verify-auth]` | Copy cookies from chrome, chromium, brave, edge, Windows-only opera, opera-gx, or macOS-only 
    демонстрация
  • средняя Широкие права meta-broad-allowed-tools SKILL.md:1
    Заранее разрешены широкие инструменты: Bash
    allowed-tools: Bash Read AskUserQuestion
  • средняя Утечка данных intent-browser-credential-store src/cookie-import-browser.ts:124
    Доступ к хранилищу паролей / cookies браузера (комментарий в коде)
    // Windows-only. Local State sits directly under the browser root in %APPDATA% — no User Data segment.
    комментарий
  • средняя Утечка данных intent-browser-credential-store src/cookie-import-browser.ts:405
    Доступ к хранилищу паролей / cookies браузера (комментарий в коде)
    // Chrome 80+ on Windows stores cookies under Network/Cookies; fall back to Cookies
    комментарий
  • средняя Обфускация uni-zero-width src/server.ts:123
    Невидимые символы нулевой ширины (возможен скрытый текст) (3 шт.)
    const stripped = raw.replace(/[\s ␀-␀␀]/g, '');
  • низкая Опасные команды cmd-background-process src/cli.ts:756
    Запуск фонового / автозапускаемого процесса (комментарий в коде)
    // loop — it does NOT call setsid(), so the spawned server stays in the
    комментарий
  • низкая Опасные команды cmd-background-process src/cli.ts:763
    Запуск фонового / автозапускаемого процесса (комментарий в коде)
    // which calls setsid() so the server becomes its own session leader
    комментарий
  • низкая Подмена инструкций en-ignore-previous src/cli.ts:1267
    Фраза-перехват ("ignore previous instructions") (с отрицанием — текст это запрещает)
    - "ignore previous instructions" or "new instructions:"
    с отрицанием
  • низкая Утечка данных intent-browser-credential-store src/commands.ts:133
    Доступ к хранилищу паролей / cookies браузера (демонстрация атаки / пример; в кавычках — упоминание, а не команда)
    'cookie-import-browser': { category: 'Interaction', description: 'Copy cookies from chrome, chromium, brave, edge, Windows-only opera, opera-gx, or macOS-only comet, arc, dia. Omitted browser retains 
    демонстрацияв кавычках
  • низкая Утечка данных exfil-webhook-url src/content-security.ts:343
    URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (комментарий в коде; документация security-скилла)
    // https://WEBHOOK.SITE/x must not slip past the blocklist. Normalize the
    комментарийsecurity-скилл

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

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

  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")
  • предупреждение body-long тело SKILL.md ≈ 8493 токенов (рекомендуется < 5000); вынесите детали в references/
  • заметка frontmatter-key неизвестное поле фронтматтера "preamble-tier"
  • заметка frontmatter-key неизвестное поле фронтматтера "triggers"

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

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 30Входы и предусловия. Не сказано, что нужно иметь на входе
  • 30Повторный запуск. Изменяющих операций: 7, без проверки текущего состояния
  • 40Стоимость исполнения. Тело инструкции 8493 токенов: вытесняет саму задачу из окна
  • 100Инструменты и файлы. Инструменты объявлены во frontmatter
  • 100Шаги. Шагов: 35
  • 100Ошибки и развилки. Развилок: 6, есть раздел про ошибки
  • 100Согласованность. Имя и обязательные поля на месте
  • 100Отчётность по ходу. Скилл сообщает о ходе работы
  • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
  • low Разделов верхнего уровня: 20. Похоже на несколько доменов в одном скилле
  • low Ответ описан самодельной разметкой (16 тегов): типизированный вызов надёжнее

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

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

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -5В тексте остались TODO / заглушки
  • -32 из 2 скриптов не упомянуты в SKILL.md
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +3Длина description 128 символов: достаточно сигнала, не съедает бюджет
  • +4Структура: 26 заголовков
  • +3Пошаговые инструкции: 35 пунктов
  • +4Есть примеры (14 блоков кода)

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

В песочнице Скрипты вели себя тихо

Скрипты скилла запущены в одноразовой машине: без сети, с подложными ключами в домашнем каталоге, под наблюдением. Мы записали, что они делали. Попытка выйти в сеть или прочитать чужие секреты ограничивает техническую оценку буквой C; тихий запуск баллов не добавляет.

Запущено 12 скриптов, ещё 63 не поместились в лимит; каждому дали двадцать секунд, поддельный домашний каталог с ключами и сеть, в которой ничего нет.

Из них 1 не дошёл до работы, и об их поведении мы ничего не узнали.

scripts/build-node-server.shне запустился: scripts/build-node-server.sh: line 30: bun: command not found
scripts/extension-id.tsничего за пределами своей папки
src/activity.tsничего за пределами своей папки
src/audit.tsничего за пределами своей папки
src/browse-client.tsничего за пределами своей папки
src/browser-manager.tsничего за пределами своей папки
src/browser-skill-commands.tsничего за пределами своей папки
src/browser-skill-write.tsничего за пределами своей папки
src/browser-skills.tsничего за пределами своей папки
src/buffers.tsничего за пределами своей папки
src/bun-child-config.tsничего за пределами своей папки
src/bun-polyfill.cjsничего за пределами своей папки

19 окт. 2026 г.