
Самостоятельно размещаемое рабочее пространство ИИ с агентами, навыками и инструментами (Gmail, Calendar), которое полностью работает на ваших собственных API-ключах провайдера (BYOK). Используйте свои ключи — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI.
Офлайн-проверка для 26 рекомендаций по безопасности уровня репозитория для
org.asynchttpclient:async-http-client (AsyncHttpClient, "AHC").
Она сообщает, каким из них ваш jar действительно подвержен, отмечает те, которые Dependabot и OSV
не видят, и даёт один ответ на строку:
3.0.142.16.1
всё ещё подвержен 5 рекомендациям, которые не будут исправлены. Единственное исправление — переход на 3.0.14.Один jar, без зависимостей во время выполнения, полностью офлайн, Java 17+.
Исправление (2026-10-12, v0.2.0). В v0.1.0 этого инструмента и README говорилось: "глобальная база перечисляет только 4 из 17", "Dependabot советует установить 3.0.12", "настоящий ответ —
3.0.13/2.16.1". Все три утверждения были верны на 2026-09-19, и ни одно из них больше не верно: вышестоящие разработчики опубликовали ещё 5 рекомендаций 2026-09-24 (исправлено в3.0.14, не исправлено в 2.x), а 2026-10-08 глобальная база GitHub подхватила ещё 9 записей. v0.1.0 сообщает3.0.13и2.16.1как чистые — это не так. Используйте v0.2.0.
2026-09-24 сопровождающие опубликовали пять рекомендаций. Каждая из них завершает раздел Patches одним и тем же предложением:
Линейка 2.x снята с поддержки и не получит исправления. Обновитесь до 3.0.14.
Все пять указывают диапазон 2.x, заканчивающийся на 2.16.1 — самом новом релизе 2.x на Maven Central — с
пустой исправленной версией:
| Рекомендация | Критичность | Диапазон 2.x | Что | Требуется |
|---|---|---|---|---|
CVE-2026-107230 | высокая | >= 2.0.0, <= 2.16.1 | Пулированные соединения по-прежнему разделяются между логинами NTLM / Negotiate / прокси (неполное исправление GHSA-vvp4-63h8-v5pm) | NTLM, Kerberos или SPNEGO к источнику или прокси, либо любой логин на SOCKS / CONNECT прокси, и запросы под разными идентичностями через один клиент. Basic и Digest к источнику не затронуты |
CVE-2026-107227 | высокая | >= 2.2.0, <= 2.16.1 | Сообщения WebSocket permessage-deflate распаковываются без ограничения размера | setEnablewebSocketCompression(true) — по умолчанию выключено — и недоверенный или незашифрованный WebSocket-сервер |
CVE-2026-107228 | средняя | >= 2.1.0, <= 2.16.1 | Заголовок Cookie, установленный через setHeader / addHeader, заменяется cookies из хранилища cookies (обход исправления CVE-2024-53990) | Хранилище cookies, включено по умолчанию, содержащее любой cookie для этого источника |
CVE-2026-107226 | средняя | >= 2.1.0, <= 2.16.1 | Cookie, полученный по открытому HTTP, может внедрить, перезаписать или удалить Secure cookie, установленный по HTTPS | Одно хранилище cookies, общее для открытых и HTTPS-источников одного сайта |
CVE-2026-107229 | средняя | >= 2.16.0, <= 2.16.1 | Неполные проверки источника в хранилище cookies по умолчанию (приватная секция public-suffix, IP-хосты, …) | Один клиент, обращающийся к нескольким источникам, один из которых контролируется атакующим |
Будьте точны насчёт двух высоких: ни одна из них не применяется к клиенту, выполняющему обычные запросы с
настройками по умолчанию. CVE-2026-107227 требует включённого сжатия WebSocket; CVE-2026-107230
требует NTLM / Kerberos / SPNEGO или аутентифицирующего прокси. Три средние — это те, что
затрагивают хранилище cookies по умолчанию. Этот инструмент не знает, как вы используете клиент; он сообщает то, что
говорит диапазон версий, и оставляет решение за вами.
Что это действительно меняет: "обновитесь до 2.16.1" больше не является ответом. Более старая версия 2.x, такая как
2.12.3, может быть поднята до 2.16.1, чтобы закрыть рекомендации, у которых есть исправление для 2.x — и после
этого она всё ещё находится внутри пяти диапазонов выше (обновление с версии ниже 2.16.0 даже добавляет
CVE-2026-107229, чей диапазон начинается с 2.16.0). Инструмент печатает именно это и завершается с кодом 1
для 2.16.1.
Dependabot и OSV не читают собственную страницу проекта Security → Advisories. Они читают
глобальную базу рекомендаций GitHub. По состоянию на 2026-10-12 GET /advisories/<GHSA> возвращает 404 для
9 из 26 рекомендаций репозитория:
CVE-2026-107281, CVE-2026-107279, CVE-2026-107232,
CVE-2026-107284, CVE-2026-102740, CVE-2026-102737, CVE-2026-85718, CVE-2026-85719) —
два из них оценены сопровождающими как высокие (CVE-2026-107232, CVE-2026-85719), оба касаются
учётных данных прокси;CVE-2026-107229).База данных догоняет — 4 из августовской партии появились 2026-09-17, ещё 5 — 2026-10-08 — так что это число
будет меняться. Каждое совпадение выводится с пометкой
Dependabot/全局库:已收录 / 未收录 («есть в глобальной базе / нет в глобальной базе»), а инструмент печатает
дату, на которую сгенерирована его таблица. tools/recheck_before_publish.py сообщает, сохраняется ли пробел
на сегодняшний день.
Для 3.x практическое следствие сейчас невелико: если считать только по глобальной базе, целевая
версия тоже 3.0.14. Для версий <= 3.0.11 два отсутствующих высоких уведомления просто не
показываются.
Ещё одно различие, о котором стоит знать: CVE-2026-107282 оценён сопровождающими как высокий, а
в глобальной базе — как критический. Таблица правил сохраняет оценку сопровождающих.
CVE-2026-85721 (высокий) — тот случай, который применим к настройкам по умолчанию: автоматическая
декомпрессия ответа включена по умолчанию, а путь HTTP/1.1 разворачивает тело без ограничения общего размера.
Вредоносный или скомпрометированный сервер — или любой, кто способен изменить ответ в пути, — может отправить
небольшое тело gzip/deflate, которое исчерпает кучу. Затронуты: <= 3.0.11 и <= 2.16.0.
Этот случай есть в глобальной базе, поэтому Dependabot выдаёт по нему предупреждение.
Диапазоны смешивают >=, <=, <, явное = 3.0.12 и голое 3.0.0. Одна и та же 3.0.11
безопасна для CVE-2026-55688 (< 3.0.11) и затронута для CVE-2026-107232
(<= 3.0.11). Таблица правил сохраняет каждый оператор точно как записано; проверка в
tools/gen_rules.py и модульный тест падают, если граница перестаёт вести себя так. Любой фрагмент
диапазона, который не распознаёт парсер, — это ошибка, а не «не затронуто». Пустая исправленная
версия принимается только тогда, когда сам текст уведомления говорит, что ветка снята с поддержки; она
хранится как «исправления в этой ветке нет», а не как «не затронуто».
Там, где репозиторий и глобальная база оба содержат уведомление, но расходятся в диапазоне,
таблица правил берёт объединение. На сегодня: CVE-2024-53990 (в репозитории указана только версия 3.x
3.0.0, в глобальной базе также указана 2.x >= 2.1.0, < 2.12.4) и CVE-2026-107230 (тот же
диапазон, записанный как <= 3.0.13 с одной стороны и < 3.0.14 с другой).
pom.xml — намеренноAHC обычно является транзитивной зависимостью, подтягиваемой SDK или клиентской библиотекой. artifactId
может вообще не встречаться в вашем pom.xml. Этот инструмент читает
META-INF/maven/org.asynchttpclient/async-http-client/pom.properties внутри jar-файлов, которые действительно
поставляются — включая jar-файлы, вложенные в fat-jar Spring Boot (BOOT-INF/lib) или WAR (WEB-INF/lib).
Устаревшая координата 1.x com.ning:async-http-client имеет тот же artifactId; она перечисляется, но не
оценивается.