Skip to content

murdok1982/fsociety

Repository files navigation

"Trust me, you are not a bad coder. You're just not as good as you will be."

Qwen2.5-Coder-1.5B fine-tuned para ciberseguridad · exploiting · reversing · hacking ético


Contenido


Capacidades

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)"

Stack técnico

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)

Dataset de entrenamiento

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

Instalación

Opción 1 — Desde HuggingFace (recomendada)

ollama pull murdok1982/fsociety
ollama run fsociety

Opción 2 — Desde el GGUF local

ollama create fsociety -f Modelfile
ollama run fsociety

Opción 3 — Solo los adaptadores LoRA

Si 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")

Ejemplos de uso

Línea directa

ollama run fsociety "Crea un script Python que escanee puertos abiertos en una IP"

Chat interactivo

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);
}

Ejemplos rápidos

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

Sistema RAG

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

Uso

python chat_rag.py

El RAG busca automáticamente los fragmentos más relevantes antes de responder, combinando el conocimiento entrenado del modelo con documentación actualizada al instante.


Fine-tuning propio

Si querés reentrenar o ajustar el modelo con tus propios datos:

  1. Abrí colab_fsociety_finetune.ipynb en Colab
  2. Runtime → Change runtime type → T4 GPU
  3. Conectá tu token de HuggingFace
  4. Run all (~1.5h en T4)

Post-training local

Después del entrenamiento en Colab, ejecutá en tu PC para mergear, cuantizar e importar en Ollama:

.\fsociety_post_train.ps1

El script:

  1. Descarga los adaptadores LoRA desde HuggingFace
  2. Mergea con Qwen2.5-Coder-1.5B-Instruct
  3. Convierte a GGUF Q8_0
  4. Importa automáticamente en Ollama

Requisitos: ~10 GB RAM libre, Python 3.10+, Ollama instalado


Repositorios

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

Licencia

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.


Hecho con ☕ y 🎵 por murdok1982
📧 Email · 💼 LinkedIn

💰 Apoya Este Proyecto

¡Donaciones en Bitcoin Bienvenidas!

Bitcoin

┌──────────────────────────────────────────────────┐
│             ₿ BTC Donation Address ₿              │
├──────────────────────────────────────────────────┤
│                                                  │
│  bc1qqphwht25vjzlptwzjyjt3sex7e3p8twn390fkw     │
│                                                  │
│  Network: Bitcoin (BTC)                          │
│                                                  │
│  Escanea el QR desde tu wallet:                  │
└──────────────────────────────────────────────────┘

Bitcoin QR

Direccion: bc1qqphwht25vjzlptwzjyjt3sex7e3p8twn390fkw

Apoya el desarrollo de herramientas de ciberseguridad open-source! 🙏


Support / Apoya este proyecto

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.

About

Gemma 4 E4B fine-tuned para programacion, exploiting y reversing

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages