
Asistente de IA de seguridad sin conexión para pentesting en redes aisladas
Asistente de IA offline para pruebas de penetración. Pega la salida de tu herramienta, haz preguntas en inglés sencillo, obtén respuestas basadas en tus datos reales. Sin conexión a internet, sin claves API, nada sale de la máquina.
Se ejecuta completamente en CPU. Probado en hardware de portátil estándar.
Probado en: AMD Ryzen AI 9 365, 24GB de RAM. Tiempo de consulta de 2-5 segundos en ese hardware. Con 16GB funcionará, pero cierra todo lo demás primero.
git clone https://github.com/Sydsec/syd
cd syd
python setup.py
python syd.py
El setup descarga el modelo (~9.7GB) y el modelo de embeddings (~90MB) automáticamente. No se necesita cuenta de HuggingFace. Tarda 20-30 minutos dependiendo de tu conexión. Una vez terminado, todo funciona completamente offline.
Si recibes errores al instalar llama-cpp-python, ejecuta esto manualmente antes de setup.py:
pip install llama-cpp-python==0.3.16 --force-reinstall --no-cache-dir --config-settings="cmake.args=-DGGML_AVX2=OFF;-DGGML_AVX=OFF;-DGGML_F16C=OFF;-DGGML_FMA=OFF"
Este es un problema de compatibilidad conocido en algunas configuraciones de Windows. Los flags de cmake desactivan AVX2, que causa fallos en ciertas CPUs.
Tres etapas. Primero, tu archivo de escaneo se analiza de forma determinista — sin IA, solo regex y análisis estructurado, por lo que la extracción de datos siempre es precisa. Segundo, extrae documentación de técnicas relevante de los índices FAISS locales. Tercero, Qwen 2.5 14B genera una respuesta usando solo esos hechos verificados.
La respuesta luego se verifica contra lo que realmente había en tu escaneo. Si el modelo hace referencia a una IP, proceso o nombre de host que no estaba en tus datos, la respuesta se bloquea y se regenera. Eso es lo que evita que alucine.
Carga un archivo o pega la salida en la pestaña correspondiente. Haz clic en Analizar. Cuando el análisis se complete, escribe preguntas en el cuadro Ask Syd.
Ejemplos que funcionan bien:
Nmap: "¿Qué hosts tienen la firma SMB deshabilitada?" / "Muéstrame todos los servicios en puertos no estándar" / "¿Cuál es la superficie de ataque en 10.0.0.15?"
BloodHound: "¿Cuál es la ruta más corta a Domain Admin?" / "¿Qué usuarios son Kerberoastable?" / "Muéstrame todos los equipos con delegación sin restricciones"
Volatility: "¿Cuál es el proceso más sospechoso?" / "¿Hay procesos inyectados?" / "Enumera todas las conexiones de red externas"
"Modelo no encontrado" — setup.py no se completó. Comprueba que el modelo existe en rag_engine/models/qwen2.5-14b-instruct-q5_k_m.gguf y que pesa alrededor de 9.7GB. Si es más pequeño, la descarga se interrumpió, bórralo y vuelve a ejecutar setup.py.
Sin memoria — Cierra tu navegador y cualquier otra cosa que consuma RAM. 16GB es justo, 24GB es cómodo.
Primer lanzamiento lento — Es normal. Cargar el modelo tarda 10-20 segundos. Después, las consultas tardan 2-5 segundos.
Errores de FAISS — Los índices se incluyen con el repositorio. Si faltan o están corruptos, ejecuta python build_all_databases.py.
Enterprise añade análisis de Metasploit y Sliver C2 además de todo lo de este repositorio.
Si realizas operaciones de red team, conoces el problema: no puedes pegar la salida de las sesiones en ChatGPT por los NDA y los datos de los clientes. Enterprise te ofrece el mismo análisis con IA, completamente offline, para tus sesiones de MSF y beacons de Sliver. Pregunta qué ocurrió, hacia dónde pivotar a continuación, qué significan las credenciales en contexto.
Ponte en contacto: [email protected] o https://sydsec.co.uk
Tutoriales y guías en YouTube: https://www.youtube.com/@paularmstrong8306
Vale la pena verlos antes de sumergirte: muestran el flujo de trabajo real con datos de pentest reales.
Qwen 2.5 14B Instruct, cuantización Q5_K_M. Temperatura 0.05-0.1 para mantener respuestas concisas. Penalización de repetición 2.8-3.2. Ventana de contexto de 8192 tokens.
Embeddings: all-MiniLM-L6-v2. Almacén de vectores: FAISS (IndexFlatIP, similitud coseno).
Paul Armstrong — https://sydsec.co.uk — YouTube: https://www.youtube.com/@paularmstrong8306