Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rag-seguridad — CyberRAG — RAG 100% local (Ollama) sobre apuntes y libros de ciberseguridad: recuperación híbrida, respuestas con citas, asistente de pentest por fases y monitor de reindex. Sin frameworks pesados. | Kitploit
도구/GitLabGitLab/rdelasierra-uy/rag-seguridad
Vulnerability AnalysisInformation GatheringCTFPenetration TestingPrivacyMachine LearningLearning & EducationCurated ResourcesAI SecurityLabs & Practice
GitLabrdelasierra-uy/rag-seguridad
517일 전아직 검토되지 않음

rag-seguridad

CyberRAG — RAG 100% local (Ollama) sobre apuntes y libros de ciberseguridad: recuperación híbrida, respuestas con citas, asistente de pentest por fases y monitor de reindex. Sin frameworks pesados.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

CyberRAG local — RAG sobre tu conocimiento, 100% Ollama

Sistema RAG (Retrieval-Augmented Generation) para consultar tus notas de ciberseguridad (vault Obsidian, writeups HTB, apuntes) con lenguaje natural. Todo corre en tu máquina: embeddings y generación usan Ollama local, sin ningún dato que salga de tu red. Y sin langchain: cada pieza es código propio entendible.

Documentación técnica completa → docs/ARQUITECTURA.md Cubre los conceptos de fondo (RAG, embeddings, búsqueda híbrida, reparto justo, rerank), la arquitectura por capas, la extracción de formatos, el índice incremental, los espacios de conocimiento y la capacidad de cómputo.

Asistente de pentest por fases → docs/ASISTENTE-PENTEST.md Mentor de HTB por fase (Recon / Enumeración / Explotación / Privesc / Post / Reporte) y vector (web, SMB, AD, Linux, Windows…), con nivel de ayuda (empuja / explica / directo) para entender manual sin autopiloto, y campo de estado de máquina para pegar tus puertos/servicios. Pensado para trabajo ofensivo autorizado + reporte ISO 27001.

Informe de arquitectura (para L2/aprendiz) → docs/INFORME-ARQUITECTURA.md Panorama en una sola lectura: qué es, cómo está armado por dentro y cómo se usa, más un plan para enseñarlo en 20 minutos.

Runbook del servidor → docs/RUNBOOK-SERVIDOR.md Operación del host: reglas no negociables, red/firewall, xRDP/faillock y recuperación de la GPU (Xid 31).

Monitor del reindex → web/monitor.py (dashboard en el navegador: progreso, ritmo, ETA, GPU y modelos en vivo, sin tocar la GPU).

Por qué

  • Tu pedagogía: entendés cada pieza (vectores, coseno, chunking) — no es caja negra.
  • Privacidad: tus writeups y apuntes nunca tocan la nube (nada de Gemini/OpenAI).
  • Cero dependencias pesadas: solo numpy + la API HTTP de Ollama.

Arquitectura

Tus documentos (.md/.txt/.log)
        │
        ▼
  ┌────────────┐   chunking con solape   ┌──────────────────┐
  │  Chunks    │ ─────────────────────▶  │  Embeddings      │
  │ (pedazos)  │                         │  nomic-embed-text│
  └────────────┘                         └────────┬─────────┘
                                                  ▼
                                           ┌──────────────┐
                                           │  Índice .npz │  (output/indice.npz)
                                           └──────┬───────┘
                          ┌───────────────────────┘
                          ▼
   Pregunta ───▶ vector ──▶ similitud coseno ──▶ top-k chunks
                                                      │
                                                      ▼
   Respuesta ◀── generación con contexto ◀───────────┘
                (qwen2.5-coder / mistral, local)

Las 3 piezas del RAG:

  1. Indexar — partís cada documento en chunks con solape: 512 caracteres (solape 50) para apuntes y 3000 (solape 600) para libros. Cada chunk se vectoriza con un prefijo de rol (search_document: ) que aumenta la calidad del embedding en la búsqueda.
  2. Recuperar — cada chunk se guarda como vector de 768 números (embedding de nomic-embed-text, local). Ante una pregunta (vectorizada como search_query: ), buscás los chunks con mayor similitud coseno combinada con coincidencia léxica de palabras (búsqueda híbrida). El coseno solo no alcanza para preguntas de comparación; el componente léxico rescata el chunk exacto donde están los términos.
  3. Generar — le mandás los top-k chunks como contexto al modelo de chat local, que responde ÚNICAMENTE con eso (y dice "no tengo información" si no está).

Requisitos

  • Python 3.10+
  • Ollama corriendo en 127.0.0.1:11434
  • Modelo nomic-embed-text (setup.sh lo descarga automáticamente)
  • Modelo de chat local: por defecto qwen2.5-coder:7b. Es el que responde la teoría (citando ISO/libros) Y los temas ofensivos de laboratorios (HTB) sin negarse. Cambiable sin tocar código con la env var RAG_CHAT_MODEL (p. ej. RAG_CHAT_MODEL=llama3.1:8b rag web para prosa teórica fina — aunque con contenido ofensivo se autorrestringe; mistral:latest cita bien pero a veces pega contexto crudo).
  • pdftotext (poppler-utils) si querés indexar PDFs

Instalación

./setup.sh

Uso

# Indexar los documentos de ejemplo en document[o]s/
python3 rag_ollama.py index

# Indexar otra carpeta (ej.: tu vault de Obsidian) — en vivo, sin copiar
python3 rag_ollama.py --docs-dir ~/vault index

# Preguntar (usá SIEMPRE el mismo --docs-dir que el index)
python3 rag_ollama.py --docs-dir ~/vault ask "¿Qué flag de hashcat crackea un hash ASREProast?"

# Chat continuo contra tu base — sin repetir el comando
python3 rag_ollama.py --docs-dir ~/vault interactive

# Estadísticas del índice
python3 rag_ollama.py stats

En este equipo hay además el alias rag, que mantiene dos espacios de conocimiento: tus apuntes (vault) y la biblioteca curada de libros (libros).

rag "pregunta sobre tus apuntes"     # espacio vault (default)
rag libros "pregunta sobre libros"   # espacio libros (PDFs curados)
rag --rerank "pregunta"              # con reranker local (reordena fuentes)
rag chat                             # modo interactivo (vault)
rag chat libros                      # modo interactivo (libros)
rag index                            # reindexar VAULT (incremental: rápido)
rag index libros                     # reindexar libros (tarda minutos)
rag stats                            # estado del índice del vault
rag analizar                         # dupes + solapamiento + temas (vault)
rag fuentes "término"                # en qué documentos aparece el término

Los dos espacios se guardan en output/indices/indice_<espacio>.npz y no se pisan entre sí.

Interfaz web (para usuarios sin shell)

rag web        # → http://localhost:8787  (alias local en /etc/hosts)
               #   o: RAG_HOST=0.0.0.0 rag web  para exponerlo a la LAN (con UFW)

La UI (server puro de la stdlib de Python, cero dependencias) ofrece:

  • Chat con streaming token a token (Server-Sent Events): la respuesta aparece a medida que el modelo la genera, no toda junta al final.
  • Conversación multiturno: el chat recuerda las preguntas y respuestas previas de la sesión (referencias del estilo "y para usuarios, ¿cuál es?").
  • Panel de fuentes: por cada respuesta, los .md/.pdf citados.
  • Citas con nombre real del libro: los PDFs técnicos (02-redhat-security-rh342.pdf) se muestran y citan por su título humano ("Red Hat RH342 — Security: hardening de servidores"); el prompt le pide al modelo citar la fuente de cada idea.
  • Catálogo del espacio: preguntas tipo "qué libros tenés" o "listá los títulos" responden con el índice completo del espacio (sin gastar inferencia).
  • Selector de espacio: alternás entre apuntes (biblioteca), libros (biblioteca-libros) o todo (ambos combinados, el default). En modo todo la búsqueda reparte la cuota entre los dos índices — un espacio con muchos chunks (~138k libros) no aplasta al chico (581 apuntes) — y cada fuente se etiqueta con su procedencia (📚 libro / 📝 apunte).
  • Reindexar con botón y barra de progreso en vivo (sin matar el chat).
  • "¿Dónde aparece…?": buscador de qué documento contiene un término.
  • Estructura: web/web.py (API + static), web/index.html, web/style.css, web/app.js — todo editable en caliente.

Biblioteca del volumen completo (espacio libros)

도구 다운로드