Документация

Что проверяет Forge и как это работает

Начало работы

Forge — инструмент аудита безопасности для тех, кто выпускает код без выделенной команды безопасности. Добавьте домен, и Forge проверит то, что уже видно снаружи — DNS-записи, сертификаты, HTTP-заголовки — и превратит каждую находку в понятно объяснённый риск с конкретным решением, а не просто в предупреждение.

Добавьте домен на странице «Домены». Само добавление ещё не запускает никаких проверок — домен нужно сначала подтвердить, чтобы Forge мог его проверять, а затем отметить как активный, чтобы он попал в плановые аудиты.

Владение можно подтвердить двумя способами. Подтверждение по email отправляет шестизначный код на адрес в этом домене. Подтверждение через TXT-запись просит опубликовать запись в корне домена.

Подтверждение нужно для того, чтобы более глубокая проверка запускалась только по запросу того, кто действительно управляет доменом, а не кого-то другого.

Возможности

Запускайте аудит когда угодно — после деплоя, перед релизом или просто чтобы посмотреть, как обстоят дела у домена прямо сейчас. Аудит по запросу выполняет все проверки, включённые в ваш тариф, и сразу показывает результат.

Автопилот

Доступно

Автопилот раз в неделю проверяет каждый активный домен без вашего участия. Включите его на странице «Домены», и Forge будет присылать результат по email после каждого запуска — так истекающий сертификат или изменённая DNS-запись не будут ждать, пока вы вспомните посмотреть.

Forge отправляет письмо, когда завершается плановый аудит, со ссылкой прямо на результат. В письме указаны домен, оценка и ссылка — но никогда сами находки, чтобы отчёт о вашем сайте не лежал открытым в почтовом ящике.

API и MCP

Доступно

Агент может управлять Forge вместо человека, кликающего в приложении: он может получить список ваших доменов, запустить аудит и прочитать результат самостоятельно, через HTTP API или, если поддерживает MCP, через MCP-сервер.

Оценка и подтверждение

Не все проверки весят одинаково. Каждая объявляет, сколько стоит её провал, и вес удваивается на каждом шаге: критическая 8, высокая 4, средняя 2, низкая 1. Оценка — это доля этого веса, которую домен прошёл, поэтому провал одной критической проверки стоит дороже, чем провал двух проверок высокой важности: именно такой порядок и предполагает любой, кто читает отчёт.

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

Forge не запускает на домене ни одной проверки, пока вы не докажете, что управляете им. Большинству проверок подходит любое из двух подтверждений, поэтому достаточно подтвердить адрес почты в этом домене или опубликовать TXT-запись — что вам проще. Некоторым более глубоким проверкам нужна именно TXT-запись.

Эти два подтверждения остаются независимыми, и ни одно из них не является ступенью над другим. Поэтому проверка, которой нужна TXT-запись, не запустится на домене, где вы подтвердили только адрес почты: Forge скажет, какого подтверждения не хватает, и предложит его добавить, а не отправит на страницу тарифов.

API для агентов

У Forge есть и небольшой HTTP API, через который агент может действовать от вашего имени — получать список добавленных доменов, запускать аудит и читать результат — без участия человека на каждом шаге. Он описан в публичном репозитории по адресу https://github.com/magery-ai/magery-forge-agents, который охватывает аутентификацию, все шесть эндпоинтов и рабочие примеры. API находится в бета-версии.

Forge также запускает MCP-сервер по адресу forge.magery.ai/mcp, по протоколу Streamable HTTP, чтобы агент с поддержкой MCP мог обращаться к нему через нативные вызовы инструментов вместо ручной сборки HTTP-запросов. Аутентификация такая же, как у HTTP API выше — заголовок Authorization: Bearer с тем же ключом доступа, а не вторым, который пришлось бы выпускать отдельно — и предоставляет те же шесть операций в виде MCP-инструментов: list_domains, get_domain, list_audits, start_audit, get_audit_status и get_audit.

Проверки

Каждая проверка, которую Forge выполняет сегодня, сгруппированная по тому, что она смотрит, — плюс то, что появится позже.

Domain

Проверок: 2 · Доступно: 1
Проверяет, сколько времени осталось до истечения регистрации домена.
Доступно
Включена ли у регистратора защита от передачи домена.
Скоро

DNS

Проверок: 5 · Доступно: 5
Каким удостоверяющим центрам разрешено выпускать сертификаты для этого домена.
Доступно
Есть ли запись DMARC и что она предписывает делать принимающим серверам.
Доступно
Показывает все DNS-записи, опубликованные для этого домена.
Доступно
Подписаны ли ответы для этого домена и проходит ли проверку цепочка подписи.
Доступно
Какие серверы могут отправлять почту от имени этого домена и насколько строго это ограничено.
Доступно

TLS

Проверок: 4 · Доступно: 3
Отслеживает обычный запрос по http:// и сообщает, где он заканчивается и ссылается ли достигнутая страница на подресурсы по http://.
Доступно
Проверяет сертификат, который отдаёт хост: сколько он ещё действителен, покрывает ли он это имя хоста и проходит ли проверку его цепочка.
Доступно
Сообщает, какие версии TLS принимает хост. Только версии протокола — шифры не проверяются.
Доступно
Будет сообщать, принимает ли хост устаревшие наборы шифров, такие как RC4 или 3DES.
Скоро

Headers

Проверок: 6 · Доступно: 6
Ищет заголовок Content-Security-Policy в режиме блокировки и сообщает, разрешают ли его script-src или default-src значения unsafe-inline и unsafe-eval. Насколько удачен конкретный список разрешённых источников, не оценивается.
Доступно
Показывает три заголовка Cross-Origin. Оценивается только Cross-Origin-Opener-Policy; политики встраивания и ресурсов описываются, но никогда не засчитываются сайту в минус, потому что большинство сайтов не может принять их, не сломав то, что они встраивают.
Доступно
Сообщает, мешает ли что-нибудь другому сайту показать эту страницу во фрейме: директива frame-ancestors в Content-Security-Policy или заголовок X-Frame-Options. Директива frame-ancestors читается первой, потому что браузеры отдают предпочтение именно ей.
Доступно
Сравнивает заголовки безопасности трёх ответов — самой страницы, /robots.txt и несуществующего пути — и сообщает о заголовках, которые страница задаёт, а другие ответы — нет.
Доступно
Читает заголовок Strict-Transport-Security, который отдаёт хост: задан ли он, насколько длинный у него max-age и покрывает ли он поддомены. Preload только упоминается, но никогда не требуется.
Доступно
Проверяет два небольших заголовка ответа: X-Content-Type-Options и Referrer-Policy. Заголовок Permissions-Policy показывается рядом с ними, но на вердикт не влияет — какие возможности браузера нужны сайту, зависит от самого сайта.
Доступно

Security

Проверок: 3 · Доступно: 3
Ищет индекс файлов, отдаваемый по адресам /assets/, /static/, /uploads/ или /images/, сравнивая со сгенерированным путём, который не может существовать, поэтому сайт, отвечающий одинаково на любой адрес, будет отмечен как неопределённый, а не как утечка.
Доступно
Ищет файлы, которые деплой никогда не должен публиковать — .git/HEAD, .env и его варианты, config.json, .htaccess, backup.sql и .DS_Store — сравнивая со сгенерированным путём, который не может существовать, поэтому сайт, отвечающий одинаково на любой адрес, будет отмечен как неопределённый, а не как утечка.
Доступно
Запрашивает сгенерированный путь, который не может существовать, и проверяет, содержит ли ответ трассировку стека Python или сообщение, которое программа на Java печатает при необработанном исключении, что раскрывает пути к файлам, версии зависимостей и часто драйвер базы данных всякому, кто его запросит.
Доступно

Content

Проверок: 1 · Доступно: 1
Ищет три тега, которые позволяют ссылке при публикации показывать картинку и фразу вместо голого URL — og:title, og:description и og:image — и сообщает, каких из них не хватает.
Доступно

Lighthouse

Проверок: 8 · Доступно: 8

Мобильная версия

Запускает аудиты доступности Lighthouse на главной странице — альтернативный текст изображений, контрастность цветов, подписи полей форм, язык страницы и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно
Запускает аудиты агентного просмотра Lighthouse, которые Google всё ещё помечает как находящиеся в разработке: может ли ИИ-агент прочитать страницу, остаётся ли макет стабильным, опубликован ли llms.txt и — только на сайтах, регистрирующих инструменты WebMCP, — правильно ли они описаны. Если всё пройдено, проверка пройдена, один провал получает низкий уровень, два и более — средний.
Доступно
Запускает аудиты рекомендаций Lighthouse на главной странице — ошибки в консоли браузера, устаревшие возможности браузера, изображения с неправильным размером или пропорциями и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно
Запускает SEO-аудиты Lighthouse на главной странице — заголовок и метаописание, доступность страницы для поисковых роботов, понятные ссылки, настроенная область просмотра и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно

Десктоп

Запускает аудиты доступности Lighthouse на главной странице — альтернативный текст изображений, контрастность цветов, подписи полей форм, язык страницы и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно
Запускает аудиты агентного просмотра Lighthouse, которые Google всё ещё помечает как находящиеся в разработке: может ли ИИ-агент прочитать страницу, остаётся ли макет стабильным, опубликован ли llms.txt и — только на сайтах, регистрирующих инструменты WebMCP, — правильно ли они описаны. Если всё пройдено, проверка пройдена, один провал получает низкий уровень, два и более — средний.
Доступно
Запускает аудиты рекомендаций Lighthouse на главной странице — ошибки в консоли браузера, устаревшие возможности браузера, изображения с неправильным размером или пропорциями и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно
Запускает SEO-аудиты Lighthouse на главной странице — заголовок и метаописание, доступность страницы для поисковых роботов, понятные ссылки, настроенная область просмотра и другое. Оценка 90 и выше считается пройденной, от 50 до 89 получает средний уровень, ниже 50 — высокий, и каждый проваленный аудит называется.
Доступно