De uma tecla a uma resposta fundamentada.
Cada salto em uma só máquina.
Digite uma perguntaRecupere três chunksResponda localmente
ESTA MÁQUINA — OLLAMA + CHROMADB NO DISCO INGESTÃO — RODA UMA VEZ, ANTES DE QUALQUER PERGUNTA DOCS WSTG O CORPUS CHUNKS 2000 CHARS · 300 OVERLAP VETORES all-MiniLM-L6-v2 ÍNDICE LOCAL chromadb PERGUNTA EMBED RETRIEVE “Como eu testo injeção de SQL num login?” O AGENTE DECIDE: BUSCAR NO CORPUS NADA DIGITADO SAI DESTA MÁQUINA MESMO MODELO DOS CHUNKS all-MiniLM-L6-v2 384 NÚMEROS · SENTIDO, NÃO TEXTO chromadb OS 3 CHUNKS MAIS PRÓXIMOS O VETOR DA PERGUNTA CAI NO MEIO OBSERVAÇÃO DEVOLVIDA AO AGENTE CONTEXTO PROMPT RESPOSTA WSTG · VALIDAÇÃO DE ENTRADA …envie uma aspa simples e observe… WSTG · TRATAMENTO DE ERRO …erros do banco revelam demais… WSTG · AUTENTICAÇÃO …formulários aceitam entrada forjada… CONTEXTO — OS 3 CHUNKS USUÁRIO — A PERGUNTA MONTADO NA MEMÓRIA, NESTA MÁQUINA llama3.1:8b RODANDO NO OLLAMA, OFFLINE ANCORADO NOS 3 CHUNKS ACIMA NADA SAI STACK, TAMANHO DE CHUNK E Nº DE RETRIEVAL SÃO REAIS — TEXTO DOS CHUNKS E VETORES ILUSTRATIVOS ESTA MÁQUINA INGESTÃO — UMA VEZ, ANTES DA PERGUNTA DOCS WSTG O CORPUS CHUNKS 2000 · 300 OVERLAP VETORES all-MiniLM-L6-v2 ÍNDICE LOCAL chromadb PERGUNTA “Como eu testo injeção de SQL num login?” O AGENTE DECIDE: BUSCAR NO CORPUS EMBED all-MiniLM-L6-v2 MESMO MODELO DOS CHUNKS RETRIEVE OS 3 CHUNKS MAIS PRÓXIMOS, SÓ chromadb CONTEXTO WSTG · VALIDAÇÃO DE ENTRADA WSTG · TRATAMENTO DE ERRO WSTG · AUTENTICAÇÃO PROMPT CONTEXTO — OS 3 CHUNKS + A PERGUNTA RESPOSTA llama3.1:8b · ollama STACK, TAMANHO DE CHUNK E Nº DE RETRIEVAL SÃO REAIS TEXTO DOS CHUNKS E VETORES ILUSTRATIVOS

Lab · IA · Segurança

Security Agent.

Tipo
IA · Segurança
Papel
Código
Stack
Python · LangChain · ChromaDB · Ollama
Início
2025

Um pipeline de retrieval sobre o OWASP Web Security Testing Guide, rodando de ponta a ponta em uma só máquina — sem nuvem, sem chave de API, sem dado saindo do computador. O diagrama acima segue uma única pergunta por ele.

Um índice construído uma vez

Antes de qualquer pergunta, o corpus do OWASP WSTG é dividido em chunks de 2000 caracteres com 300 caracteres de sobreposição, para que um trecho cortado no meio da frase sobreviva inteiro no chunk vizinho. Cada chunk vira embedding com o all-MiniLM-L6-v2 e os vetores vão para um índice ChromaDB local. Isso acontece uma vez; depois disso o corpus nunca mais é lido na hora da pergunta.

A pergunta faz o mesmo caminho

A pergunta digitada vira embedding pelo mesmo modelo, é comparada com o índice e os três chunks mais próximos voltam. Eles são montados em um prompt junto da pergunta e respondidos pelo llama3.1:8b rodando no Ollama. A resposta cita o material recuperado em vez de improvisar a partir do treino do modelo — que é o ponto do retrieval: o modelo explica, o corpus fundamenta.

Onde o pipeline entra

O retrieval é metade do agente. A outra é um conjunto de 14 padrões determinísticos da OWASP que sinalizam vulnerabilidades em código Python na hora; o caminho de RAG fornece o contexto e a correção sugerida para o que eles encontram. O pipeline em si nasceu como um assistente de retrieval sobre PDFs farmacêuticos — trocar o corpus por material de segurança reapontou o sistema inteiro sem mudar o formato dele.