Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
async-http-client-check — Самостоятельно размещаемое рабочее пространство ИИ с агентами, навыками и инструментами (Gmail, Calendar), которое полностью работает на ваших собственных API-ключах провайдера (BYOK). Используйте свои ключи — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI. | Kitploit
Инструменты/GitHubGitHub/xiaoqimikko/async-http-client-check
Оборонительные ИнструментыСтатический анализСканеры уязвимостейАнализ уязвимостейDevSecOpsУтилиты и фреймворкиБезопасность Цепочки Поставок
GitHub

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
xiaoqimikko/async-http-client-check

async-http-client-check

Самостоятельно размещаемое рабочее пространство ИИ с агентами, навыками и инструментами (Gmail, Calendar), которое полностью работает на ваших собственных API-ключах провайдера (BYOK). Используйте свои ключи — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI.

Репозиторий
5120 дней назадЕщё не проверено
Поделиться

async-http-client-check

Автономный офлайн-сканер для 21 рекомендации по безопасности уровня репозитория org.asynchttpclient:async-http-client (AsyncHttpClient, "AHC"). Он сообщает, каким из них реально подвержен ваш jar, отмечает те, которые Dependabot и OSV не видят, и даёт один ответ на строку: 3.0.13 (3.x) / 2.16.1 (2.x).

Один jar, ноль runtime-зависимостей, полностью офлайн, Java 17+.


Зачем это нужно

1. 17 рекомендаций были опубликованы 2026-08-09 — в глобальной базе есть 4 из них

2026-08-09 сопровождающие AsyncHttpClient опубликовали 17 рекомендаций по безопасности в собственном репозитории проекта (AsyncHttpClient/async-http-client → Security → Advisories).

Dependabot и OSV не читают эту страницу. Они читают глобальную базу рекомендаций GitHub. По состоянию на 2026-09-19 в этой базе содержится только 4 из 17 (CVE-2026-85716, CVE-2026-85717, CVE-2026-85720, CVE-2026-85721, все добавлены 2026-09-17). Остальные 13 возвращают 404 на GET /advisories/<GHSA>; у двух из этих 13 даже есть CVE-идентификаторы (CVE-2026-85718, CVE-2026-85719).

Включая четыре более старые рекомендации (CVE-2024-53990, CVE-2026-40490, CVE-2026-45300, CVE-2026-55688), репозиторий перечисляет 21; в глобальной базе есть 8.

2. Версия, которую Dependabot советует установить, сама подвержена 5 из них

Вычислите "версию, которая закрывает всё" по глобальной базе, и ответ для 3.x будет 3.0.12. OSV соглашается: POST /v1/query для 3.0.12 возвращает ноль уязвимостей.

Рекомендации репозитория говорят, что 3.0.12 всё ещё входит в диапазон пяти:

РекомендацияКритичностьЧтоТребуется
GHSA-rqf5-2wxv-rjf4высокаяНа Digest-запрос без пригодного nonce отвечают Authorization: Basic, то есть пароль в base64Digest Realm (аутентификация сервера или прокси)
GHSA-jmqq-x5g9-9p2wвысокаяКогда запрос повторяется к другому хосту, запрос / учётные данные первого хоста уходят второму хостуПовтор к другому хосту (failover ResponseFilter или путь повторной попытки при IOException) и учётные данные или прокси
GHSA-vvp4-63h8-v5pmсредняяСоединения NTLM / Negotiate переиспользуются между разными принципаламиNTLM или Negotiate с учётными данными на каждый запрос
GHSA-f9m8-cv68-674wсредняяCookie Domain не проверяется по списку публичных суффиксов (Domain=co.uk)Общий CookieStore между источниками
GHSA-qhv6-3pmh-95q4низкаяqop="auth-int" отключает взаимную аутентификацию Digest (только 3.0.12)Digest-аутентификация

Будьте точны насчёт двух высоких: они утекают учётные данные, но только если вы настроили учётные данные (Realm, Digest/NTLM или прокси) — а GHSA-jmqq дополнительно требует повтора к другому хосту. Клиент, выполняющий обычные неаутентифицированные GET-запросы, им не подвержен. Этот инструмент не знает, как вы используете клиент; он сообщает то, что говорит диапазон версий, и оставляет решение за вами.

Сопровождающие сами говорят это в тексте CVE-2026-85721:

Note that 3.0.12 is itself affected by a separate issue, GHSA-rqf5-2wxv-rjf4 … Upgrade to 3.0.13 to pick up both fixes.

Итак, для 3.x: Dependabot говорит 3.0.12, и после обновления он показывает зелёный. Реальный ответ — 3.0.13. Для 2.x ответ в любом случае 2.16.1 — но 13 рекомендаций за ним всё ещё невидимы для вашего сканера.

3. Бомба декомпрессии не требует настройки

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) и затронута для GHSA-v9f2-7rw2-gr2x (<= 3.0.11). Таблица правил сохраняет каждый оператор точно как написано; утверждение в tools/gen_rules.py и модульный тест падают, если граница перестаёт вести себя так. Любой фрагмент диапазона, который не распознаёт парсер, — это ошибка, а не "не затронуто".

Там, где репозиторий и глобальная база оба содержат рекомендацию, но расходятся, таблица правил берёт объединение. Сегодня это один случай: CVE-2024-53990 — репозиторий перечисляет только версию 3.x 3.0.0, глобальная база также перечисляет 2.x >= 2.1.0, < 2.12.4. Доверие только одной стороне привело бы к неполному отчёту.

И он не сканирует pom.xml — намеренно

AHC обычно является транзитивной зависимостью, подтягиваемой SDK или клиентской библиотекой. artifactId может вообще не появляться в вашем pom.xml. Этот инструмент читает META-INF/maven/org.asynchttpclient/async-http-client/pom.properties внутри jar-файлов, которые фактически поставляются — включая jar-файлы, вложенные в Spring Boot fat-jar (BOOT-INF/lib) или WAR (WEB-INF/lib). Устаревшая координата 1.x com.ning:async-http-client имеет тот же artifactId; она перечислена, но не оценивается.

Использование

java -jar async-http-client-check.jar target/                 # scan build output
java -jar async-http-client-check.jar myapp.jar               # fat-jar / war, nested jars included
java -jar async-http-client-check.jar --version-of 3.0.12     # judge a version directly

Каждое попадание выводит ID (CVE, если есть, иначе GHSA), критичность, заголовок, исправленную версию и Dependabot/全局库:未收录 ("не в глобальной базе"), где применимо. Вывод на китайском языке.

Коды выхода

КодЗначение
0Не затронут ни одной из 21, и каждый файл действительно был прочитан
1Затронут
2Не удалось оценить — неверные аргументы, AHC jar не найден, нераспознанная версия или предрелизная версия, выходящая за пределы опубликованных диапазонов
4Некоторый файл не удалось прочитать — не zip, усечён или сбой ввода-вывода

"Я не смог прочитать" и "вы в безопасности" должны быть двумя разными предложениями. Законно пустой jar (голая 22-байтовая запись EOCD) не является ошибкой чтения. Если один файл затронут и другой нечитаем, код выхода остаётся 1.

Чего он вам не сообщает

  • Только эти 21 рекомендация, только async-http-client. CVE в Netty, от которых зависят jar-файлы Netty, используемые AHC, не покрываются.
  • Достижимость не проверяется. Большинство рекомендаций от 2026-08-09 требуют аутентификации, прокси, WebSocket, cookie или возобновляемых загрузок, чтобы иметь значение. Критичность выводится как опубликована.
  • Информационный пробел временный. GitHub может добавить недостающие 13 в глобальную базу в любой момент. tools/recheck_before_publish.py проверяет, существует ли он ещё.

Как строится таблица правил

src/main/java/dev/mikko/ahccheck/RuleTable.java генерируется, никогда не редактируется вручную:

python tools/gen_rules.py --dry   # run the assertions only
python tools/gen_rules.py         # regenerate the table
Скачать инструмент