FC Interceptor
Реальный Chrome плюс использование компьютера macOS из браузера, реальные сессии; обязательно для визуальной проверки развертывания. ИСПОЛЬЗОВАТЬ ДЛЯ проверить развертывание, подтвердить UI, проверка скриншота, отладка веба, визуальная проверка, ошибка анимации, ошибки консоли, ошибки JS, сетевой трафик, экспорт HAR, отладка пустой страницы, что происходит на странице, аутентифицированная страница, воспроизвести ошибку, управлять нативным приложением. НЕ ИСПОЛЬЗОВАТЬ ДЛЯ работы с GUI только по пикселям (ComputerUse), сканирования (BrightData), скрейпинга.
машинный переводПоказать оригиналСкрыть оригинал«Real Chrome plus macOS Computer Use from inside the browser, real sess…»
Real Chrome plus macOS Computer Use from inside the browser, real sessions; mandatory for visual deploy verification. USE WHEN verify deploy, confirm UI, screenshot verification, debug web, visual check, animation bug, console errors, JS errors, network traffic, HAR export, blank-page debug, what is happening on the page, authenticated page, reproduce bug, drive native app. NOT FOR pixel-only GUI work (ComputerUse), crawling (BrightData), scraping.
Реальный Chrome плюс использование компьютера macOS из браузера, реальные сессии; обязательно для визуальной проверки развертывания.
Как процесс C 61/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 17
-
высокая Опасные команды
cmd-persistenceIntents/Update.md:179Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)cat > ~/Library/LaunchAgents/com.interceptor.bridge.plist <<PLIST
-
высокая Опасные команды
cmd-persistenceIntents/Update.md:196Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)launchctl bootstrap "gui/$(id -u)" ~/Library/LaunchAgents/com.interceptor.bridge.plist
-
высокая Опасные команды
cmd-persistenceReferences/UpdateRecovery.md:74Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре)rm ~/Library/LaunchAgents/com.interceptor.bridge.plist
Средние и низкие: 14
-
средняя Опасные команды
cmd-persistenceIntents/Update.md:199Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)`launchctl bootstrap` exits 1 on success — that's fine; verify with 6b.
в кавычках -
средняя Утечка данных
intent-browser-credential-storeReferences/CompleteGuide.md:93Доступ к хранилищу паролей / cookies браузера (в кавычках — упоминание, а не команда)Before any `interceptor open|read|act|inspect|screenshot|navigate|tab|monitor|net|cookies|scroll|click|type` lands in Chrome, the workflow runs the gate. Prefer the **auto-recovering entry point** — i
в кавычках -
средняя Опасные команды
cmd-persistenceReferences/CompleteGuide.md:265Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)**Lifecycle (install / verify / troubleshoot / uninstall) lives in `Intents/Update.md`.** The Update intent handles binary placement, the `.app` bundle with its embedded Sparkle framework, LaunchAgent
в кавычках -
средняя Опасные команды
cmd-persistenceReferences/CompleteGuide.md:390Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (определение детектора / чёрного списка)- **Bridge needs Sparkle.framework.** When rebuilding from source on Apple Silicon, the bridge won't load until `Sparkle.framework` is embedded in the `.app` at `Contents/Frameworks/`; a fresh clone c
детектор -
средняя Опасные команды
cmd-persistenceReferences/CompleteGuide.md:413Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)- **launchd `job state = spawn failed` after repeated `kickstart -k`.** Rapid restart cycles throttle launchd into a failed state (`runs` climbs; the binary runs fine when launched directly). Recovery
в кавычках -
средняя Опасные команды
cmd-persistenceReferences/CompleteGuide.md:414Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)- **The daemon runs as a persistent LaunchAgent (`com.interceptor.daemon`, added 2026-07-04) — this is the durable fix for the extension's "native keepalive ping failed / forcing reconnect" console sp
в кавычках -
средняя Опасные команды
cmd-persistenceReferences/UpdateRecovery.md:11Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)**Gotcha (1.0.7 → 1.0.21, 2026-09-29, macOS 27): `OS_REASON_CODESIGNING` + `needs LWCR update`.** After the atomic swap launchd refused the new ad-hoc daemon (`job state = spawn failed`, properties `m
в кавычках -
средняя Опасные команды
cmd-persistenceReferences/UpdateRecovery.md:59Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строка таблицы в документации)| `launchctl bootstrap` says "service already loaded" | Prior install lingering | `launchctl bootout "gui/$(id -u)/com.interceptor.bridge"` then re-bootstrap |
таблица -
средняя Опасные команды
cmd-disable-securityReferences/UpdateRecovery.md:61Отключение средства защиты (Defender, Gatekeeper, SIP, firewall, execution policy) (строка таблицы в документации)| Socket exists but writes fail | macOS quarantine on the binary | `xattr -dr com.apple.quarantine ~/.local/share/interceptor/interceptor-bridge.app` |
таблица -
средняя Опасные команды
cmd-privilegeReferences/UpdateRecovery.md:76Повышение привилегий / права на запись для всехsudo rm -f /usr/local/bin/interceptor-bridge # remove the stale copy if a prior install left one
-
средняя Опасные команды
cmd-privilegeReferences/UpdateRecovery.md:77Повышение привилегий / права на запись для всехsudo rm -rf /usr/local/Frameworks/Sparkle.framework # only if a prior install staged it here
-
средняя Утечка данных
intent-browser-credential-storeTools/LaunchTestProfile.sh:69Доступ к хранилищу паролей / cookies браузера (тестовый файл / пример)~/Library/Application Support/Google/Chrome/Local State, profile.info_cache).
тестовый файл -
низкая Утечка данных
intent-browser-credential-storeIntents/LaunchTestProfile.md:70Доступ к хранилищу паролей / cookies браузера (тестовый файл / пример; в кавычках — упоминание, а не команда)Chrome creates a new profile directory inside the existing user-data-dir, typically named `Profile 1` (or `Profile 2` if `Profile 1` already exists). Confirm the directory name in `~/Library/Applicati
тестовый файлв кавычках -
низкая Утечка данных
intent-browser-credential-storeTools/LaunchTestProfile.sh:12Доступ к хранилищу паролей / cookies браузера (комментарий в коде; тестовый файл / пример)# messaging hosts — different cookies, different tabs, different window. The operator
комментарийтестовый файл
Просканировано файлов: 39. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - заметка
frontmatter-keyнеизвестное поле фронтматтера "evals"
Процессный рейтинг: все десять параметров 61/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 5, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 8
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1967 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 452 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 6 заголовков
- +3Пошаговые инструкции: 8 пунктов
- +4Есть примеры (3 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (3 из 3)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 84.