Secgpt 7B
モデル概要
モデル特徴
モデル能力
使用事例
🚀 🌐 SecGPT:世界初のサイバーセキュリティオープンソース大規模モデル
SecGPTは、2023年に雲起無垠によってリリースされたオープンソースの大規模モデルで、サイバーセキュリティシナリオに特化して開発されました。自然言語理解、コード生成、セキュリティ知識推論などの核心的な能力を融合し、セキュリティ防護の効率と効果を向上させることができ、複数の重要なセキュリティタスクシナリオで実際に活用されています。
🚀 クイックスタート
SecGPTは、vLLM高性能推論フレームワークを通じてのデプロイをサポートしており、「低遅延、高並発、高スループット」のセキュリティモデルサービスシナリオに最適です。以下は環境準備とサービス起動の手順です。
# Python環境の作成(Python 3.10以上を推奨)
conda create -n secgpt-vllm python=3.10 -y
conda activate secgpt-vllm
# vLLMのインストール(PyTorch + CUDAが必要)
pip install --upgrade pip
pip install vllm
# serverサービスの起動
CUDA_VISIBLE_DEVICES= xxx(GPU index) \
vllm serve ./secgpt \
--tokenizer ./secgpt \
--tensor-parallel-size 4 \
--max-model-len 32768 \
--gpu-memory-utilization 0.9 \
--dtype bfloat16 \
# サンプルリクエスト
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "secgpt",
"messages": [{"role": "user", "content": "XSS攻撃とは何ですか?"}],
"temperature": 0.7
}'
✨ 主な機能
核心能力の融合
SecGPTは、自然言語理解、コード生成、セキュリティ知識推論などの核心能力を融合しており、脆弱性分析、ログとトラフィックのトレース、異常検出、攻防推論、コマンド解析、セキュリティ知識の質問応答など、複数の重要なセキュリティタスクシナリオに適用できます。
持続的なアップグレードとイテレーション
- 2025年4月、SecGPT V2.0がリリースされ、セキュリティ理解とタスク実行能力が全面的にアップグレードされました。
- 2024年3月、軽量化バージョンのSecGPT - Miniが正式にオープンソース化され、CPU上でも効率的に動作します。
- 2023年12月、SecGPTが正式にリリースされ、世界初のオープンソースサイバーセキュリティ大規模モデルとなりました。
強力な基盤能力
Qwen2.5 - InstructシリーズとDeepSeek - R1シリーズのモデルをベースに、独自のセキュリティタスクセットとセキュリティ知識ベースを組み合わせ、8台のA100 GPUクラスターで1週間以上続けてトレーニングを行い、大規模な事前学習 + 命令微調整 + 強化学習を完了しました。これにより、セキュリティシナリオにおけるモデルの理解、推論、応答能力が大幅に向上しました。
大規模で高品質なセキュリティコーパス
超大规模で構造が整ったサイバーセキュリティコーパスを構築しました。総量は5TBを超え、合計106,721個の元ファイルがあり、そのうち40%以上の内容は人工的に選別され、構造化されています。プライベートデータ部分では、70 + フィールド / 14種類の構造ラベル体系を持つセキュリティデータリソースを統合し、数百億Tokensレベルの高品質コーパスを構築し、モデルの深度推論能力を支えています。
評価での優れた成績
- セキュリティ資格証明の質問応答、セキュリティ一般知識、プログラミング能力、知識理解と推論能力をカバーする総合評価システムを構築し、CISSP、CS - EVAL、CEVAL、GSM8K、BBHなどの標準化されたデータセットを使用して評価を行いました。
- 元のモデルSecGPT - miniと基礎モデルQwen2.5 - Instructとの比較では、トレーニング後のモデルはすべての指標で大幅に向上し、セキュリティ関連のデータセットでの成績がより優れています。
セキュリティ能力の向上
- 知識のカバー範囲がより広い:14種類のセキュリティ知識分野を含む構造化コーパスを導入しました。
- 回答生成がより正確:複数回の対話制御と意味的最適化技術により、質問応答の一致率とコンテキストメモリの安定性を向上させました。
- 推論能力がより突出:複数の知識を結合し、複合論理を推論する能力を備え、複雑なタスクを完了することができます。
📦 インストール
SecGPTは、vLLM高性能推論フレームワークを通じてのデプロイをサポートしており、インストール手順は以下の通りです。
# Python環境の作成(Python 3.10以上を推奨)
conda create -n secgpt-vllm python=3.10 -y
conda activate secgpt-vllm
# vLLMのインストール(PyTorch + CUDAが必要)
pip install --upgrade pip
pip install vllm
💻 使用例
基本的な使用法
# サンプルコードはそのまま保持
# ここでは実際の状況に応じてコード例を補足できます。現在のドキュメントでは基本的な使用法のコードが明確に記載されていませんが、コンテキストからモデルを呼び出してセキュリティ質問応答を行う操作が考えられます。
高度な使用法
# 高度なシナリオの説明 - 高度なセキュリティタスクの処理、複数回の対話など、モデルの高度な機能に基づいて説明できます。
# ここでは実際の状況に応じてコード例を補足できます。現在のドキュメントでは高度な使用法のコードが明確に記載されていません。
📚 ドキュメント
オープンソースリソース
- モデルのソースコードとドキュメント:https://github.com/Clouditera/secgpt
- データセットのダウンロード先:https://huggingface.co/datasets/clouditera/security-paper-datasets
モデル評価
評価データセット
評価セット名 | 概要説明 | 参考リンク |
---|---|---|
CISSP | 権威ある情報セキュリティ認証システムで、セキュリティ管理、アクセス制御、リスク管理などの分野におけるモデルの専門知識のカバー範囲と回答の正確率を調査し、一般的な情報セキュリティ分野におけるモデルの習得度を評価するのに適しています。 | ISC²公式サイト 認証試験ガイド |
CS - Eval | サイバーセキュリティタスクを対象とした大規模モデル能力の総合評価セットで、11個のサイバーセキュリティ主要分類、42個のサブ分類、合計4369問の問題が含まれており、選択問題、判断問題、知識抽出などの問題タイプがあり、知識性と実践性を兼ね備え、モデルのセキュリティ一般知識とタスク実行能力を評価するために使用されます。 | [ModelScopeデータセット](https://modelscope.cn/datasets/cseval/cs - eval/) 論文紹介 (arXiv) |
C - Eval | 中国語能力評価。上海交通大学、清華大学、エジンバラ大学の研究者によって2023年5月に共同で発表されました。13948個の複数選択問題が含まれ、52個の異なる学科と4つの難易度レベルをカバーしています。 | 論文リンク (arXiv) CSDN実践紹介 |
GSM8K | 数学問題を解く能力。Googleが開発した数学問題解決データセットで、約8,000個の高校から大学レベルの数学問題が含まれています。 | [GSM8K](https://github.com/openai/grade - school - math) [GitHub](https://github.com/openai/grade - school - math) |
BBH | 複雑な言語理解能力。Google、スタンフォードなどの研究者によって開発されたデータセットで、大量の複雑な言語理解タスクの集合が含まれており、深度推論、一般常識の活用、または複雑な認知スキルが必要なタスクが含まれる可能性があります。 | 論文リンク (arXiv) |
評価結果
評価次元 | 具体的な内容 |
---|---|
縦方向の評価比較 | 元のモデルSecGPT - miniと比較して、トレーニング後のモデルはCISSP、CS - EVAL、CEVAL、GSM8K、BBHなどの指標で大幅に向上しています。 |
横方向の評価比較 | 基礎モデルQwen2.5 - Instructと比較して、SecGPTはすべての評価指標で上回っており、セキュリティ関連のデータセットでの成績がより優れています。 |
セキュリティ能力の向上表現
浸透テストシナリオ能力
SecGPTは、浸透攻撃のプロセスを模擬でき、重要なツールコマンドの分析、Payloadの構築、利用チェーンの生成などの能力を備えています。
ログ分析とトラフィック分析能力
セキュリティログとネットワークトラフィックのシナリオでは、SecGPTは異常イベントを自動的に識別し、攻撃チェーンのグラフを構築し、重要なIOCを抽出し、イベントのトレースとアラームの分類を支援します。
逆解析能力
逆アセンブリ、API呼び出しシーケンス、パッキング行動などの低レベルデータの理解に基づいて、SecGPTは悪意のあるサンプルの静的分析、特徴抽出、ファミリー分類を支援することができます。
コード監査能力
import java.util.*;
import java.util.stream.Collectors;
public class AverageCalculator {
public static double calculateAverage(Object input, boolean strict) {
if (strict) {
System.out.println("Running in STRICT mode");
@SuppressWarnings("unchecked")
List<Number> numbers = (List<Number>) input;
double total = 0;
for (Number num : numbers) {
total += num.doubleValue();
}
return total / numbers.size();
} else {
System.out.println("Running in SAFE mode");
List<Double> parsed = parseInputSafe(input);
double total = parsed.stream().mapToDouble(Double::doubleValue).sum();
return total / parsed.size();
}
}
public static List<Double> parseInputSafe(Object input) {
List<Double> result = new ArrayList<>();
if (input instanceof String) {
String s = (String) input;
if (!s.matches("\\d+")) {
throw new IllegalArgumentException("String must contain only digits.");
}
for (char c : s.toCharArray()) {
result.add(Double.parseDouble(String.valueOf(c)));
}
} else if (input instanceof List<?>) {
for (Object obj : (List<?>) input) {
try {
result.add(Double.parseDouble(obj.toString()));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Invalid element in list: " + obj);
}
}
} else {
throw new IllegalArgumentException("Unsupported input type: " + input.getClass());
}
return result;
}
public static void main(String[] args) {
List<TestCase> testCases = Arrays.asList(
new TestCase("12345", false),
new TestCase("12345", true),
new TestCase(Arrays.asList(1, 2, "3", "4"), false),
new TestCase(Arrays.asList(1, 2, 3, "four"), false),
new TestCase(Arrays.asList(1, 2, 3, "four"), true)
);
for (int i = 0; i < testCases.size(); i++) {
TestCase tc = testCases.get(i);
System.out.println("\n--- Test Case " + (i + 1) + " | strict=" + tc.strict + " ---");
try {
double avg = calculateAverage(tc.input, tc.strict);
System.out.println("✅ Average: " + avg);
} catch (Exception e) {
System.out.println("❌ Error: " + e.getMessage());
}
}
}
static class TestCase {
Object input;
boolean strict;
TestCase(Object input, boolean strict) {
this.input = input;
this.strict = strict;
}
}
}
ツールの使用
SecGPTはツールの使用に関しても対応する表現があり、関連するサンプルはドキュメント内の画像を参照できます。
🔧 技術詳細
モデルトレーニング
Qwen2.5 - InstructシリーズとDeepSeek - R1シリーズのモデルをベースに、独自のセキュリティタスクセットとセキュリティ知識ベースを組み合わせ、8台のA100 GPUクラスターで1週間以上続けてトレーニングを行い、大規模な事前学習 + 命令微調整 + 強化学習を完了しました。
トレーニング指標の分析
- トレーニングと検証損失:両方とも安定して低下し、モデルはトレーニングセットと検証セットで持続的に収束し、過学習の兆候はありません。
- 学習率曲線:Warmup + 減衰戦略を採用し、初期のトレーニングの安定性と収束速度を向上させました。
- 勾配ノルム:全体的に安定して変動し、勾配爆発や消失は発生せず、トレーニングプロセスは健康的で安定しています。
- 評価表現:eval/runtimeとeval/samples_per_secondの変動範囲が小さく、システムリソースの使用が効率的で、推論スループットが安定しています。
📄 ライセンス
このプロジェクトはapache - 2.0ライセンスを採用しています。
📮 お問い合わせ

📬 モデルに関する質問や協力の意向がある場合は、GitHubを通じて貢献に参加するか、雲起無垠チームにご連絡ください。
⭐ Star履歴
⚠️ 免責事項
⚠️ 重要な注意事項
- このプロジェクトは研究と交流を目的として構築されており、出力内容はモデルのトレーニングデータのカバー範囲に制限される可能性があります。
- ユーザーはモデルを使用する過程で、その出力の正確性と適用性を自ら判断する必要があります。
- このモデルを「公開発表または商業的なデプロイ」に使用する予定の場合は、必ず関連する法律とコンプライアンス責任を明確に負う必要があります。
- このプロジェクトの開発者は、このモデルの使用(モデル自体、トレーニングデータ、出力内容を含むがこれに限定されない)によって生じる可能性のある直接または間接的な損害について一切の責任を負いません。



