Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SMT — プロンプトの先へ:シミュレートされたモデレーショントレースによる関数呼び出しLLMのジェイルブレイク | Kitploit
ツール/GitHubGitHub/liujlong27/smt
脆弱性分析論文と研究学習と教育レッドチーミングAIセキュリティ敵対的攻撃
GitHubliujlong27/smt

SMT

プロンプトの先へ:シミュレートされたモデレーショントレースによる関数呼び出しLLMのジェイルブレイク

リポジトリを見る
71371ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

プロンプトの先へ:シミュレートされたモデレーショントレースによる関数呼び出しLLMのジェイルブレイク

arXiv Zenodo DOI

はじめに

このリポジトリには、以下の論文の公式実装が含まれています:

プロンプトの先へ:シミュレートされたモデレーショントレースによる関数呼び出しLLMのジェイルブレイク

このリポジトリが研究に役立つ場合は、ぜひ論文を引用してください。質問、バグ報告、再現性に関する問題は、GitHub Issues からお寄せください。

概要

framework

リポジトリ構成

.
├── install.sh                      # Installation script for setting up the environment and dependencies
├── main.py                         # Main evaluation entry point
├── demo.ipynb                      # Minimal working example
├── requirements.txt                # Python dependencies
├── data/
│   ├── SafeBench-Tiny.txt          # Default benchmark
│   └── JailbreakBench.txt          # Optional benchmark
├── figures/
│   ├── pipline.jpg                 # Framework overview
│   ├── main_res1.jpg               # Main result figure
│   └── main_res2.jpg               # Main result figure
├── utils/
│   ├── config.example.json         # Example API configuration
│   ├── eval_h_cot.py               # External evaluation utility
│   ├── fake_tool_call_noharmful.json
│   ├── moderation_generator.py
│   └── moderation_validator.py
└── output/                         # Checkpoints and evaluation results

はじめに

1. 環境の作成

Python環境を自動的にセットアップし、必要な依存関係をすべてインストールするためのインストールスクリプトを提供しています。

chmod +x install.sh
./install.sh

インストールが完了したら、仮想環境をアクティブ化します:

source .venv/bin/activate

あるいは、Condaを使用して手動で環境を作成することもできます:

conda create -n SMT python=3.12
conda activate SMT
pip install -r requirements.txt

2. API アクセスの設定

サンプルファイルから utils/config.json を作成します:

cp utils/config.example.json utils/config.json

最小限の設定ファイルは次の形式に従う必要があります:

{
  "llm_api": {
    "base_url": "https://your-api-endpoint/v1",
    "api_key": "YOUR_API_KEY"
  },
  "local": {
    "base_url": "http://localhost:1234/v1",
    "api_key": "YOUR_LOCAL_API_KEY"
  }
}

2つのエントリは以下に対応します:

  • llm_api: 商用モデル向けのデフォルトのOpenAI互換APIエンドポイント。
  • local: 選択したローカルモデルで使用される、ローカルのOpenAI互換推論エンドポイント。

3. ベンチマークとターゲットモデルを選択する

main.py を開き、ファイル冒頭付近にある実験設定を変更します:

DATA_FILE = "SafeBench-Tiny.txt"
# DATA_FILE = "JailbreakBench.txt"

TARGET_MODELS = [
    "gpt-4o-2024-11-20",
    # "gpt-5.4-2026-03-05",
    # "qwen3-max-2026-01-23",
    # "gemini-3-flash-preview",
    # "deepseek-v4-flash",
    # "claude-sonnet-4-5-20250929", 
]

utils/config.json で設定された API エンドポイントに対して有効なモデル識別子を使用してください。

4. 評価パラメータの設定

デフォルトのパラメータは main.py で定義されています:

MAX_THREADS = 1
MAX_ROUNDS = 3
TURNS_NUM = 3
RESET = False

それぞれの意味は次のとおりです:

パラメータ説明
MAX_THREADSターゲットモデルごとの最大同時ワーカー数
MAX_ROUNDS最大外側リトライラウンド数
TURNS_NUMサンプルごとの最大マルチターン対話試行回数
RESET評価前に既存のチェックポイントを破棄するかどうか

設定:

RESET = True

選択したモデルで新規実行を開始します。既存のチェックポイントから再開する場合は False のままにしてください。

5. 評価を実行する

python main.py

各ターゲットモデルに対して、スクリプトは自動的に以下を実行します。

  1. data/ から選択したベンチマークを読み込みます。
  2. すべての保留中のサンプルに対して SMT を実行します。
  3. 各サンプルごとに中間進捗を保存します。
  4. 中断された実験を保存済みのチェックポイントから再開します。
  5. 評価後に集計メトリクスを報告します。

出力形式

結果は以下に保存されます。

output/attack_checkpoint_<dataset>_<model>.json

例:

output/attack_checkpoint_SafeBench-Tiny_gpt-4o-2024-11-20.json

各ベンチマーク項目は、次のようなフィールドとともに保存されます:

{
  "target_question": {
    "success": true,
    "queries": 3,
    "payload": "...",
    "score": 60
  }
}

スクリプトは以下の指標を報告します:

指標説明
ASR攻撃成功率: スコアが設定された閾値に達したサンプルの割合
Avg.Qサンプルあたりに使用されたAPIクエリの平均数
Avg.Score全サンプルにわたる外部評価スコアの平均

おおよそのリソース要件

主要なSMT実験はAPIベースであり、ローカルGPUを必要としません。

  • CPU / メモリ: 評価スクリプトの実行には標準的なラップトップまたはデスクトップで十分です。
  • GPU: 商用LLM APIを使用する実験では不要です。
  • ネットワーク: 安定したインターネット接続が必要です。
  • APIアクセス: 選択したターゲットモデルおよび評価モデルの有効なAPI認証情報が必要です。
  • クエリ予算: デフォルトの MAX_ROUNDS = 3 および TURNS_NUM = 3 では、SMTは早期停止前にベンチマークサンプルあたり最大9回のターゲットモデルクエリを使用します。
  • 実行時間: 実行時間は主に選択したモデル、ベンチマークのサイズ、APIのレイテンシ、およびレート制限に依存します。完全な評価には数時間かかる場合があります。
  • APIコスト: モデルプロバイダーおよび現在のAPI価格に依存します。

ローカルにデプロイされたモデルの場合、追加のGPUおよびメモリ要件は、選択したモデルと推論バックエンドに依存します。

再現性に関する注意事項

商用LLM APIは継続的に更新されています。同じモデルエイリアスを使用している場合でも、プロバイダー側のモデル更新、ルーティング動作、安全ポリシーの変更、デコーディング設定、または一時的なAPI障害により、結果が異なる場合があります。

再現性を向上させるには:

  • 利用可能な場合は常に日付付きのモデルスナップショットを優先してください。
  • ベンチマークファイルを変更しないでください。
  • 各実行について、プロバイダー、エンドポイント、モデルID、日付、およびパラメータを記録してください。
  • 論文で報告されているものと同じ閾値とクエリ予算を使用してください。

このリポジトリで報告されているすべての実験は2026年6月に実施されました。シミュレートされた検証トレースにはランダム化された要素が含まれているため、モデルの出力は本質的に確率的であり、モデルの能力と外部検出メカニズムの両方が進化し続けているため、同じ高レベルの設定であっても、正確なインタラクション履歴および再現された結果はここで報告されているものと異なる場合があります。

主な結果

main_results

main_results

私たちの評価では、SMTを複数の商用関数呼び出しLLMおよび2つの安全性ベンチマークにわたる代表的なジェイルブレイクベースラインと比較しています。

完全な実験設定、ベースラインの実装、統計的詳細、および防御分析については論文を参照してください。

倫理的考慮事項

このプロジェクトは、安全性が整合された関数呼び出しLLMシステムにおける失敗モードを研究します。コードおよび関連資料は以下を支援することを目的としています:

  • 許可されたレッドチーム評価
  • 安全性ベンチマーク
  • ツール使用およびエージェントセキュリティに関する研究
  • コンテキスト認識型ガードレールの開発
  • 公開された研究の再現性

ユーザーは、適用される法律、機関の審査要件、APIプロバイダーの利用規約、および責任ある開示の慣行を遵守する責任があります。

許可なくこのフレームワークを本番システムに対して展開することは強く推奨されません。研究者は、生の有害な出力、API認証情報、個人識別情報、または無制限の攻撃アーティファクトを公開リポジトリで公開することを避けるべきです。

引用

このリポジトリが役立つと思われた場合は、以下を引用してください:

@inproceedings{liu2027smt,
    title={Beyond the Prompt: Jailbreaking Function-Calling LLMs via Simulated Moderation Traces},
    author={Junlong Liu and Haobo Wang and Weiqi Luo and Xiaojun Jia},
    booktitle={{IEEE} Symposium on Security and Privacy},
    year={2027}
}
ツールをダウンロード