
Espaço de trabalho de IA auto-hospedado com agentes, habilidades e ferramentas (Gmail, Calendar) que funciona inteiramente com as suas próprias chaves de API de provedores (BYOK). Traga as suas próprias chaves — Groq, OpenRouter, NVIDIA, Hugging Face, Google AI.
Verificador offline para os 26 avisos de segurança em nível de repositório de
org.asynchttpclient:async-http-client (AsyncHttpClient, "AHC").
Ele informa a quais deles seu jar está realmente exposto, sinaliza os que o Dependabot e o OSV
não conseguem ver e dá uma resposta por linha:
3.0.142.16.1
ainda é afetada por 5 avisos que não serão corrigidos. A única correção é migrar para 3.0.14.Jar único, zero dependências em tempo de execução, totalmente offline, Java 17+.
Correção (2026-10-12, v0.2.0). A v0.1.0 desta ferramenta e do README dizia: "o banco de dados global lista apenas 4 dos 17", "o Dependabot diz para instalar a 3.0.12", "a resposta real é
3.0.13/2.16.1". As três afirmações eram verdadeiras em 2026-09-19 e nenhuma é mais verdadeira: o upstream publicou mais 5 avisos em 2026-09-24 (corrigidos na3.0.14, não corrigidos na 2.x), e em 2026-10-08 o banco de dados global do GitHub incorporou mais 9 entradas. A v0.1.0 reporta3.0.13e2.16.1como limpas — não são. Use a v0.2.0.
Em 2026-09-24 os mantenedores publicaram cinco avisos. Cada um termina sua seção Patches com a mesma frase:
A linha 2.x está em fim de vida e não receberá correção. Atualize para a 3.0.14.
Todos os cinco listam um intervalo 2.x que termina em 2.16.1 — a versão 2.x mais recente no Maven Central — com
uma versão corrigida vazia:
| Aviso | Severidade | Intervalo 2.x | O quê | Requer |
|---|---|---|---|---|
CVE-2026-107230 | alta | >= 2.0.0, <= 2.16.1 | Conexões em pool ainda são compartilhadas entre logins NTLM / Negotiate / proxy (correção incompleta de GHSA-vvp4-63h8-v5pm) | NTLM, Kerberos ou SPNEGO para uma origem ou proxy, ou qualquer login em um proxy SOCKS / CONNECT, e requisições sob identidades diferentes através de um mesmo cliente. Basic e Digest para uma origem não são afetados |
CVE-2026-107227 | alta | >= 2.2.0, <= 2.16.1 | Mensagens WebSocket permessage-deflate são descomprimidas sem limite de tamanho | setEnablewebSocketCompression(true) — desativado por padrão — e um servidor WebSocket não confiável ou em texto claro |
CVE-2026-107228 | média | >= 2.1.0, <= 2.16.1 | Um cabeçalho Cookie definido com setHeader / addHeader é substituído pelos cookies do armazenamento de cookies (contorno da correção de CVE-2024-53990) | O armazenamento de cookies, ativado por padrão, contendo qualquer cookie para aquela origem |
CVE-2026-107226 | média | >= 2.1.0, <= 2.16.1 | Um cookie recebido por HTTP em texto claro pode plantar, sobrescrever ou excluir um cookie Secure definido por HTTPS | Um armazenamento de cookies compartilhado entre origens em texto claro e HTTPS do mesmo site |
CVE-2026-107229 | média | >= 2.16.0, <= 2.16.1 | Verificações de origem incompletas no armazenamento de cookies padrão (seção privada de sufixo público, hosts IP, …) | Um cliente alcançando várias origens, uma delas influenciada pelo atacante |
Seja preciso quanto aos dois de severidade alta: nenhum deles se aplica a um cliente que faz requisições simples com
configurações padrão. CVE-2026-107227 exige a compressão WebSocket ativada; CVE-2026-107230
exige NTLM / Kerberos / SPNEGO ou um proxy com autenticação. Os três de severidade média são os que
tocam o armazenamento de cookies padrão. Esta ferramenta não sabe como você usa o cliente; ela reporta o que
o intervalo de versões diz e deixa a decisão para você.
O que ela muda: "atualize para a 2.16.1" não é mais uma resposta. Uma versão 2.x mais antiga como
2.12.3 pode ser elevada para 2.16.1 para eliminar os avisos que têm correção na 2.x — e depois
disso ela ainda está dentro dos cinco intervalos acima (atualizar de uma versão abaixo de 2.16.0 até adiciona
CVE-2026-107229, cujo intervalo começa em 2.16.0). A ferramenta imprime exatamente isso e sai com 1
para 2.16.1.
O Dependabot e o OSV não leem a página Security → Advisories do próprio projeto. Eles leem o
banco de dados global de avisos do GitHub. Em 2026-10-12, GET /advisories/<GHSA> retorna 404 para
9 dos 26 avisos do repositório:
CVE-2026-107281, CVE-2026-107279, CVE-2026-107232,
CVE-2026-107284, CVE-2026-102740, CVE-2026-102737, CVE-2026-85718, CVE-2026-85719) —
dois deles classificados como alto pelos mantenedores (CVE-2026-107232, CVE-2026-85719), ambos sobre
credenciais de proxy;CVE-2026-107229).O banco de dados vem se atualizando — 4 do lote de agosto chegaram em 2026-09-17, mais 5 em
2026-10-08 —, então esse número continuará mudando. Cada ocorrência é impressa com
Dependabot/全局库:已收录 / 未收录 ("no / fora do banco de dados global"), e a ferramenta imprime a
data em que sua tabela foi gerada. tools/recheck_before_publish.py informa se a lacuna ainda
existe hoje.
Para a 3.x a consequência prática agora é pequena: calculado apenas a partir do banco de dados global, o
alvo também é 3.0.14. Para versões <= 3.0.11 os dois avisos de alto risco ausentes simplesmente não são
mostrados a você.
Mais uma diferença que vale conhecer: CVE-2026-107282 é classificado como alto pelos mantenedores e
crítico no banco de dados global. A tabela de regras mantém a classificação dos mantenedores.
CVE-2026-85721 (alto) é o que se aplica às configurações padrão: a descompressão automática de
respostas está ativada por padrão, e o caminho HTTP/1.1 infla o corpo sem limite de tamanho total.
Um servidor malicioso ou comprometido — ou qualquer um capaz de modificar a resposta em trânsito — pode enviar um
pequeno corpo gzip/deflate que esgota o heap. Afetados: <= 3.0.11 e <= 2.16.0.
Este está no banco de dados global, então o Dependabot alerta sobre ele.
Os intervalos misturam >=, <=, <, um = 3.0.12 explícito e um 3.0.0 isolado. O mesmo 3.0.11 é
seguro para CVE-2026-55688 (< 3.0.11) e afetado para CVE-2026-107232
(<= 3.0.11). A tabela de regras mantém cada operador exatamente como escrito; uma asserção em
tools/gen_rules.py e um teste unitário falham se o limite deixar de se comportar assim. Qualquer fragmento
de intervalo que o parser não reconheça é um erro — nunca "não afetado". Uma versão corrigida
vazia é aceita apenas quando o próprio texto do aviso diz que a linha está em fim de vida; ela é
armazenada como "sem correção nesta linha", nunca como "não afetado".
Quando o repositório e o banco de dados global trazem ambos um aviso mas discordam quanto ao intervalo, a
tabela de regras adota a união. Hoje: CVE-2024-53990 (o repositório lista apenas a versão 3.x
3.0.0, o banco de dados global também lista a 2.x >= 2.1.0, < 2.12.4) e CVE-2026-107230 (mesmo
intervalo, escrito <= 3.0.13 de um lado e < 3.0.14 do outro).
pom.xml — de propósitoO AHC costuma ser uma dependência transitiva, trazida por um SDK ou biblioteca cliente. O artifactId
pode nunca aparecer no seu pom.xml. Esta ferramenta lê
META-INF/maven/org.asynchttpclient/async-http-client/pom.properties dentro dos jars que realmente
são distribuídos — incluindo jars aninhados em um fat-jar do Spring Boot (BOOT-INF/lib) ou em um WAR (WEB-INF/lib).
A coordenada legada 1.x com.ning:async-http-client tem o mesmo artifactId; ela é listada mas não
avaliada.