murdok1982/fsociety

GitHub: murdok1982/fsociety

基于 Qwen2.5-Coder-1.5B 微调的轻量级本地大模型,专注于网络安全、漏洞利用与逆向工程领域的代码辅助与分析。

Stars: 3 | Forks: 1

“相信我,你不是一个糟糕的程序员。你只是还没有达到你将来能达到的高度。”

Qwen2.5-Coder-1.5B 针对以下领域进行了 fine-tuning: 网络安全 · exploiting · reversing · 道德黑客

## 目录 - [功能](#capacidades) - [技术栈](#stack-técnico) - [训练 Dataset](#dataset-de-entrenamiento) - [安装说明](#instalación) - [使用示例](#ejemplos-de-uso) - [RAG 系统](#sistema-rag) - [自定义 Fine-tuning](#fine-tuning-propio) - [代码仓库](#repositorios) - [许可证](#licencia) ## 功能 | 领域 | 能力 | 提示词示例 | |---------|-----------|-------------------| | 🐍 **编程** | 生成、审查和调试 Python/C/C++/Java/Go/Rust 代码 | "用 Python 写一个反向 shell" | | 🔓 **Exploiting** | 缓冲区溢出、ROP chains、堆利用、格式化字符串 | "分析这段代码是否存在缓冲区溢出" | | 🔬 **Reversing** | 二进制分析、反编译、逆向工程 | "解释这个 x86 汇编函数的作用" | | 🛡️ **网络安全** | OWASP Top 10、系统加固、审计、CTF writeups | "如何缓解 Web 应用中的 SQL Injection?" | | 💉 **Shellcode** | 为 x86/x64/ARM 生成和分析 shellcode | "创建一个在 x64 Linux 上执行 /bin/sh 的 shellcode" | | 🕵️ **OSINT** | 信息收集技术、足迹分析 | "被动侦察应该使用哪些工具?" | | 🔐 **密码学** | 加密算法的实现与分析 | "用 Python 实现带有 PKCS7 填充的 AES-256-CBC" | | ⚡ **性能优化** | 代码优化、性能分析、高效算法 | "将这个 O(n²) 的搜索函数优化到 O(n log n)" | ## 技术栈 | 层级 | 技术 | |------|-----------| | 🧠 **基础模型** | [Qwen2.5-Coder-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-1.5B-Instruct) | | 🎯 **Fine-tuning** | 在所有线性层应用 LoRA (rank=32, alpha=64, dropout=0.1) | | 🏋️ **训练** | Google Colab T4 (batch=2, grad_accum=4, ~20K steps) | | 📊 **Dataset** | 169,258 个 ChatML 格式的样本 | | 📦 **量化** | Q8_0 (GGUF) — 1.53 GB | | 🚀 **推理** | Ollama (CPU,在 16GB RAM 下约 4-8 tokens/s) | | 🔍 **RAG** | ChromaDB + sentence-transformers (22,536 chunks) | ## 训练 Dataset 精选自多个来源,旨在全面覆盖安全与编程领域: ``` 📂 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 ``` ## 安装说明 ### 选项 1 — 从 HuggingFace 安装(推荐) ``` ollama pull murdok1982/fsociety ollama run fsociety ``` ### 选项 2 — 使用本地 GGUF 文件 ``` ollama create fsociety -f Modelfile ollama run fsociety ``` ### 选项 3 — 仅使用 LoRA 适配器 如果你想自己将其与基础模型合并: ``` 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); } ``` ### 快速示例 | 提示词 | 作用 | |--------|-------------| | `"写一个 x64 Linux 的 TCP bind shellcode"` | 生成可用的 shellcode | | `"解释 how2heap fastbin_dup_consolidate 中的堆 exploit"` | 分析堆利用技术 | | `"什么是 ROP chain?如何构建?"` | 解释 exploiting 概念 | | `"审计这段 Django 代码中的 OWASP 漏洞"` | Web 安全审查 | | `"将这段 IDA 伪代码翻译为可读的 C 代码"` | 辅助 reversing | | `"如何在 ARM64 中使用 mprotect 绕过 NX"` | 高级 exploit 技术 | ## RAG 系统 fsociety 结合了一个 **RAG 系统**,该系统索引了 22,536 个真实安全文档的片段: ``` 📚 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.py ``` RAG 会在回答之前自动搜索最相关的片段,将模型的训练知识与即时更新的文档结合起来。 ## 自定义 Fine-tuning 如果你想使用自己的数据重新训练或微调模型: 1. 在 Colab 中打开 [colab_fsociety_finetune.ipynb](colab_fsociety_finetune.ipynb) 2. **Runtime → Change runtime type → T4 GPU** 3. 连接你的 HuggingFace token 4. **Run all**(在 T4 上约需 1.5 小时) ### 本地后续处理 在 Colab 上完成训练后,在你的 PC 上执行以下操作以进行合并、量化并导入到 Ollama: ``` .\fsociety_post_train.ps1 ``` 该脚本将执行以下操作: 1. 从 HuggingFace 下载 LoRA 适配器 2. 将其与 Qwen2.5-Coder-1.5B-Instruct 合并 3. 转换为 GGUF Q8_0 格式 4. 自动导入到 Ollama **系统要求:** 至少 10 GB 可用 RAM,Python 3.10+,已安装 Ollama ## 代码仓库 | 资源 | 链接 | 描述 | |---------|--------|-------------| | 🤗 **完整模型** | [murdok1982/fsociety](https://huggingface.co/murdok1982/fsociety) | Safetensors (3.09 GB) + tokenizer | | 🧩 **LoRA 适配器** | [murdok1982/fsociety-LoRA](https://huggingface.co/murdok1982/fsociety-LoRA) | 61 MB — 用于自定义合并 | | 📊 **Dataset** | [murdok1982/gemma4-programacion-seguridad](https://huggingface.co/datasets/murdok1982/gemma4-programacion-seguridad) | 169,258 个 ChatML 样本 (347 MB) | | 💬 **RAG** | [murdok1982/rag-fsociety](https://github.com/murdok1982/rag-fsociety) | 索引器 + 带有向量数据库的聊天 | | 🐙 **主仓库** | [murdok1982/fsociety](https://github.com/murdok1982/fsociety) | 本仓库 | ## 许可证 ``` 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... ```
murdok1982 用 ☕ 和 🎵 制作
📧 Email · 💼 LinkedIn
## 支持与赞助 我致力于构建专注于应用型 AI、自动化和数据智能的开源项目。 在我的 GitHub 上,你会发现诸如基于 AI 的分析引擎、用于开源研究的 OSINT 平台、Windows 自动化工具以及语言模型实验等项目。 所有这些都是公开且免费的,任何人都可以使用、学习或在此基础上进行构建。github.com/murdok1982 维持这些项目的运转需要投入大量的时间。如果其中任何一个项目对你有所帮助,或者你只是喜欢我正在做的事情,你可以请我喝杯咖啡来支持我:ko-fi.com/murdok1982 所有的赞助资金都将直接用于开发和发布更多的开源代码。
标签:AI风险缓解, DLL 劫持, 云资产清单, 人工智能, 大语言模型, 实时告警, 微调, 服务器监控, 用户模式Hook绕过, 网络安全, 逆向工具, 逆向工程, 隐私保护