- Capacidades
- Stack técnico
- Dataset de entrenamiento
- Instalación
- Ejemplos de uso
- Sistema RAG
- Fine-tuning propio
- Repositorios
- Licencia
| Dominio | Capacidad | Ejemplo de prompt |
|---|---|---|
| 🐍 Programación | Generación, revisión y depuración de código Python/C/C++/Java/Go/Rust | "Escribe un shell reverso en Python" |
| 🔓 Exploiting | Buffer overflow, ROP chains, heap exploitation, format strings | "Analiza este código en busca de desbordamiento de buffer" |
| 🔬 Reversing | Análisis de binarios, descompilación, ingeniería inversa | "Explica qué hace esta función en assembly x86" |
| 🛡️ Ciberseguridad | OWASP Top 10, hardening, auditoría, CTF writeups | "¿Cómo mitigar SQL Injection en una app web?" |
| 💉 Shellcode | Generación y análisis de shellcode para x86/x64/ARM | "Crea shellcode para ejecutar /bin/sh en x64 Linux" |
| 🕵️ OSINT | Técnicas de recolección de información, footprinting | "¿Qué herramientas usar para reconocimiento pasivo?" |
| 🔐 Criptografía | Implementación y análisis de algoritmos criptográficos | "Implementa AES-256-CBC en Python con padding PKCS7" |
| ⚡ Rendimiento | Optimización de código, profiling, algoritmos eficientes | "Optimiza esta función de búsqueda O(n²) a O(n log n)" |
| Capa | Tecnología |
|---|---|
| 🧠 Modelo base | Qwen2.5-Coder-1.5B-Instruct |
| 🎯 Fine-tuning | LoRA (rank=32, alpha=64, dropout=0.1) en todas las capas lineales |
| 🏋️ Entrenamiento | Google Colab T4 (batch=2, grad_accum=4, ~20K steps) |
| 📊 Dataset | 169,258 ejemplos en formato ChatML |
| 📦 Cuantización | Q8_0 (GGUF) — 1.53 GB |
| 🚀 Inferencia | Ollama (CPU, ~4-8 tokens/s en 16GB RAM) |
| 🔍 RAG | ChromaDB + sentence-transformers (22,536 chunks) |
Compilado a partir de fuentes seleccionadas para cobertura completa de seguridad y programación:
📂 169,258 ejemplos ChatML
├── 📝 Programación (150,000+)
│ ├── CodeSearchNet Python 50,000
│ ├── Stack Exchange 100,000
│ └── TheAlgorithms 340
├── 📖 Documentación (569)
│ └── Python docs oficial 569
├── 💥 Exploiting (16,000+)
│ ├── PyCode-Vul (CVE) 14,000
│ ├── how2heap 370
│ ├── CTF writeups 883
│ └── Shellcode 718
└── 🛡️ Seguridad (2,200+)
├── SecureCode OWASP Web 1,900
└── SecureCode AI/ML 285
ollama pull murdok1982/fsociety
ollama run fsocietyollama create fsociety -f Modelfile
ollama run fsocietySi querés mergear con el base vos mismo:
from peft import PeftModel
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-Coder-1.5B-Instruct",
torch_dtype=torch.float16,
device_map={"": "cpu"}
)
model = PeftModel.from_pretrained(model, "murdok1982/fsociety-LoRA")
model = model.merge_and_unload()
model.save_pretrained("./fsociety-merged")ollama run fsociety "Crea un script Python que escanee puertos abiertos en una IP"ollama run fsociety>>> Hola, ¿quién eres?
Soy fsociety, un asistente experto en ciberseguridad, reversing y exploiting.
Estoy aquí para ayudarte con análisis de código, desarrollo de exploits,
y técnicas de hacking ético. ¿En qué puedo ayudarte?
>>> Analiza este código C por vulnerabilidades:
void vulnerable() {
char buffer[64];
gets(buffer);
}
| Prompt | Lo que hace |
|---|---|
"Escribe una shellcode TCP bind en x64 Linux" |
Genera shellcode funcional |
"Explica el heap exploit en how2heap fastbin_dup_consolidate" |
Analiza técnicas de heap |
"¿Qué es un ROP chain y cómo se construye?" |
Explica conceptos de exploiting |
"Audita este código Django por vulnerabilidades OWASP" |
Revisión de seguridad web |
"Traduce este IDA pseudocode a C legible" |
Asiste en reversing |
"Cómo bypasear NX con mprotect en ARM64" |
Técnicas avanzadas de exploit |
fsociety se complementa con un sistema RAG que indexa 22,536 fragmentos de documentación real de seguridad:
📚 Fuentes indexadas
├── 🔧 how2heap → Técnicas de heap exploitation
├── 📝 CTF writeups → Soluciones de challenges reales
├── 🏛️ ExploitDB papers → Papers clásicos de seguridad
├── 🪲 Phrack 61 → La revista de hacking por excelencia
├── 🔬 Ghidra docs → Guías de reversing con Ghidra
└── 📦 Datasets JSONL → Datos estructurados de seguridad
python chat_rag.pyEl RAG busca automáticamente los fragmentos más relevantes antes de responder, combinando el conocimiento entrenado del modelo con documentación actualizada al instante.
Si querés reentrenar o ajustar el modelo con tus propios datos:
- Abrí colab_fsociety_finetune.ipynb en Colab
- Runtime → Change runtime type → T4 GPU
- Conectá tu token de HuggingFace
- Run all (~1.5h en T4)
Después del entrenamiento en Colab, ejecutá en tu PC para mergear, cuantizar e importar en Ollama:
.\fsociety_post_train.ps1El script:
- Descarga los adaptadores LoRA desde HuggingFace
- Mergea con Qwen2.5-Coder-1.5B-Instruct
- Convierte a GGUF Q8_0
- Importa automáticamente en Ollama
Requisitos: ~10 GB RAM libre, Python 3.10+, Ollama instalado
| Recurso | Enlace | Descripción |
|---|---|---|
| 🤗 Modelo completo | murdok1982/fsociety | Safetensors (3.09 GB) + tokenizer |
| 🧩 Adaptadores LoRA | murdok1982/fsociety-LoRA | 61 MB — para merge propio |
| 📊 Dataset | murdok1982/gemma4-programacion-seguridad | 169,258 ejemplos ChatML (347 MB) |
| 💬 RAG | murdok1982/rag-fsociety | Indexador + chat con vector DB |
| 🐙 Repo principal | murdok1982/fsociety | Este repositorio |
MIT License
Copyright (c) 2026 Gustavo Lobato Clara
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
💡 ¿Trabajas con ciberseguridad, reversing o exploiting? Prueba fsociety, el modelo fine-tuned para estas tareas. Corre 100% local con Ollama.
┌──────────────────────────────────────────────────┐
│ ₿ BTC Donation Address ₿ │
├──────────────────────────────────────────────────┤
│ │
│ bc1qqphwht25vjzlptwzjyjt3sex7e3p8twn390fkw │
│ │
│ Network: Bitcoin (BTC) │
│ │
│ Escanea el QR desde tu wallet: │
└──────────────────────────────────────────────────┘
Direccion: bc1qqphwht25vjzlptwzjyjt3sex7e3p8twn390fkw
Apoya el desarrollo de herramientas de ciberseguridad open-source! 🙏
I build open-source projects focused on applied AI, automation, and data intelligence. Over on my GitHub you'll find things like AI-powered analysis engines, OSINT platforms for open-source research, Windows automation tools, and experiments with language models. Everything is public and free, so anyone can use it, study it, or build on top of it. github.com/murdok1982
Keeping these projects alive takes a lot of hours. If any of them have helped you out or you just like what I'm doing, you can support me with a coffee: ko-fi.com/murdok1982
Every contribution goes straight back into shipping more open-source code.