Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
giskard-oss — 🐢 LLMエージェント向けのオープンソース評価・テストライブラリ | Kitploit
ツール/GitHubGitHub/giskard-ai/giskard-oss
脆弱性スキャナーファジング機械学習レッドチーミングAIセキュリティ敵対的攻撃敵対的攻撃 第11位AIセキュリティ 第6位機械学習 第10位
5.8k536506日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
GitHub
giskard-ai/giskard-oss

giskard-oss

🐢 LLMエージェント向けのオープンソース評価・テストライブラリ

リポジトリを見るウェブサイト
共有

giskardlogo giskardlogo

エージェントシステムのためのEvals、レッドチーミング、テスト生成

モジュール式、軽量、動的、そしてAsyncファースト

GitHub release License Downloads CI Giskard on Discord

ドキュメント • ウェブサイト • コミュニティ


[!IMPORTANT] Giskard v3 は、AIエージェントの動的かつマルチターンのテストのために設計された、新規に書き直されたバージョンです。このリリースでは、効率性を高めるために重い依存関係を削除しつつ、より強力なAI脆弱性スキャナーと拡張されたRAG評価を導入しています。これらはどちらも giskard-scan にネイティブに搭載され、v2への依存はありません。表形式/MLモデル用のレガシースキャンのみがv2専用のままです。 Giskard v2 は引き続き利用可能ですが、積極的なメンテナンスは行われていません。 進捗を追う → v3アナウンスを読む · ロードマップ

インストール

root@kitploit:~
pip install giskard           # チェック (+ agents, llm, core)
pip install "giskard[scan]"   # + 脆弱性 / 品質スキャン
pip install "giskard[openai]" # LLMジャッジ / ジェネレーター用プロバイダーSDK

Python 3.12+ が必要です。

Extra追加されるもの
(なし)giskard-checks と依存関係
scangiskard-scan
openai / anthropic / …プロバイダーSDK (pyproject.toml のオプション依存関係を参照)

テレメトリー: giskard-core によるオプションの集計分析。プロンプトや出力は送信されません。 Giskardをインポートする前にオプトアウト: export DO_NOT_TRACK=1 または export GISKARD_TELEMETRY_DISABLED=1 詳細: giskard-core README


Giskardは、エージェントシステムのテストと評価のためのオープンソースのPythonライブラリです。v3アーキテクチャは、必要な依存関係のみを持つ、焦点を絞ったパッケージ群からなるモジュール式のセットであり、LLM、ブラックボックスエージェント、マルチステップパイプラインなど、あらゆるものをラップできるようにゼロから構築されています。

ステータスパッケージ説明
✅ 安定版giskard-checksテストと評価 — シナリオAPI、組み込みチェック、LLM-as-judge
✅ 安定版giskard-scanエージェント脆弱性スキャナー + RAG/品質評価 — レッドチーミング、プロンプトインジェクション、脱獄、有害コンテンツ (vulnerability_scan、v2 Scan の後継)、およびナレッジベース品質評価 (quality_scan、v2 RAGET の後継)

これらは、giskard-core (共有ユーティリティとテレメトリー)、giskard-llm (プロバイダーに依存しないLLMルーティング)、giskard-agents (エージェントとワークフローのオーケストレーション) という3つの基盤ライブラリの上に構築されており、これらは自動的に取り込まれ、直接使用されることはほとんどありません。

Giskard Checks — エージェントをテストするためのEvalsの作成と適用

root@kitploit:~
pip install giskard-checks

Giskard Checks は、LLMベースのシステムをテストする評価 (evals) を作成するための軽量ライブラリです。単純なアサーションからLLM-as-judge評価までをカバーします。従来のユニットテストとは異なり、evalsは非決定的な出力のために設計されており、同じ入力に対して異なる有効な応答が生成される可能性があります。

Giskard Checksを以下の用途に使用します:

  • リグレッションの検出 — 変更後もシステムが正しく動作することを確認
  • RAG品質の検証 — 回答が取得されたコンテキストに基づいているかを確認
  • 安全性ルールの適用 — 出力がコンテンツポリシーに準拠していることを確認
  • マルチターンエージェントの評価 — 単一のやり取りだけでなく、会話全体をテスト

組み込みのevalsには、文字列マッチング、比較、正規表現、意味的類似性、およびLLM-as-judgeチェック (Groundedness、Conformity、LLMJudge) が含まれます。

概念

  • Target — テスト対象のシステム: 任意の同期/非同期呼び出し可能オブジェクト (inputs) -> outputs (オプションで trace 付き)
  • Scenario — 1つのeval: インタラクション + チェック
  • Check — トレースに対するアサーションまたはLLMジャッジ
  • Suite — 一緒に実行される多数のシナリオ

giskard.agents.Generator は、ワークフロー/ジャッジ用のLLMクライアントです。ユーザーメッセージを合成する giskard.checks の入力ジェネレーター (LLMGenerator) とは異なります。

クイックスタート

root@kitploit:~
import asyncio
from giskard.checks import Scenario, Groundedness


def get_answer(inputs: str) -> str:
    return "Paris"  # モデル / エージェントに置き換えてください


async def main() -> None:
    scenario = (
        Scenario("test_france_capital")
        .interact(inputs="What is the capital of France?", outputs=get_answer)
        .check(
            Groundedness(
                name="answer is grounded",
                context="France is in Western Europe. Its capital is Paris.",
            )
        )
    )
    result = await scenario.run()
    result.print_report()


asyncio.run(main())

Groundedness はLLMジャッジです。プロバイダーのextra (例: pip install "giskard[openai]") をインストールし、対応するAPIキーを設定してください。デフォルトモデル: openai/gpt-4o-mini。

Suites、LLMJudge、マルチターンシナリオなどについては、完全なドキュメント を参照してください。


Giskard Scan — AIエージェント用の脆弱性スキャナー

root@kitploit:~
pip install "giskard[scan]"   # または: pip install giskard-scan

Giskard Scan は、エージェントシステムのレッドチーミングおよび脆弱性スキャンレイヤーです。エージェントの平易な英語での説明から、プロンプトインジェクション、有害コンテンツ、ステレオタイプ、誤情報などをカバーする敵対的テストスイートを自動的に生成します。

Giskard Scanを以下の用途に使用します:

  • エージェントのレッドチーミング — OWASP LLM Top-10脅威カテゴリにわたる敵対的入力を自動生成
  • プロンプトインジェクションプローブの実行 — すぐに使用できるインジェクションペイロードの組み込みデータセット
  • カスタムジェネレーターによる拡張 — 独自の ScenarioGenerator インスタンスを generate_suite に渡すか、vulnerability_suite_generator_registry に登録

クイックスタート

root@kitploit:~
import asyncio
from giskard.scan import vulnerability_scan


async def my_agent(inputs: str) -> str:
    # エージェント / モデルの呼び出しに置き換えてください
    return f"Echo: {inputs}"


async def main() -> None:
    await vulnerability_scan(
        target=my_agent,
        description="A customer support chatbot for an e-commerce platform.",
        languages=["en"],
    )


asyncio.run(main())

スキャンジェネレーターにも、上記のChecksジャッジと同様に、LLMプロバイダーのextraとAPIキーが必要です。

Giskard v2をお探しですか?

Giskard v2には、Scan (自動脆弱性検出) とRAGET (RAG評価テストセット生成) が含まれていました。

LLMエージェントの場合、両方ともv3では giskard-scan に置き換えられています: v2のLLMスキャンの代わりに vulnerability_scan を、RAGETの代わりに quality_scan (KnowledgeBase 付き) を使用してください。

v3はMLモデルでも動作します — モデルをターゲットとしてラップし、giskard-checks または giskard-scan で評価します。以下の例がカバーしているのは、v2専用の自動表形式スキャン — giskard.Model + giskard.Dataset を検査してパフォーマンス、バイアス、堅牢性の問題を自動検出する検出器スイート — と、giskard.testing MLテストスイート、およびGiskard Hubです。これらはv3では計画されていません。

root@kitploit:~
pip install "giskard[llm]>2,<3"

Scan — パフォーマンス、バイアス、セキュリティの問題を自動検出

モデルをラップしてスキャンを実行します:

root@kitploit:~
import giskard
import pandas as pd


# my_llm_chain を実際のLLMチェーンまたはモデル推論ロジックに置き換えてください
def model_predict(df: pd.DataFrame):
    """この関数はDataFrameを受け取り、出力のリスト (行ごとに1つ) を返す必要があります。"""
    return [my_llm_chain.run({"query": question}) for question in df["question"]]


giskard_model = giskard.Model(
    model=model_predict,
    model_type="text_generation",
    name="My LLM Application",
    description="A question answering assistant",
    feature_names=["question"],
)

scan_results = giskard.scan(giskard_model)
display(scan_results)

Scan Example

RAGET — RAGアプリケーション用の評価データセットを生成

ナレッジベースから質問、参照回答、コンテキストを自動生成します:

root@kitploit:~
import pandas as pd
from giskard.rag import generate_testset, KnowledgeBase

# ナレッジベースのドキュメントを読み込む
df = pd.read_csv("path/to/your/knowledge_base.csv")
knowledge_base = KnowledgeBase.from_pandas(df, columns=["column_1", "column_2"])

testset = generate_testset(
    knowledge_base,
    num_questions=60,
    language="en",
    agent_description="A customer support chatbot for company X",
)

RAGET Example

完全なv2ドキュメント

👋 コミュニティ

AIコミュニティからの貢献を歓迎します! 始めるにはこのガイドをお読みいただき、Discord で活気あるコミュニティに参加してください。

進捗をフォローしてフィードバックを共有: v3アナウンス · ロードマップ

🌟 スターを残してください。プロジェクトが他の人に発見され、優れたオープンソースツールを構築し続けるモチベーションにつながります! 🌟

❤️ 私たちの作業が役に立つと思われたら、GitHubでスポンサーになることをご検討ください。毎月のスポンサーシップで、スポンサーバッジを取得し、このreadmeに会社を表示し、バグレポートを優先的に処理してもらうことができます。コンサルティングプロジェクトへの参加、ワークショップの開催、貴社での講演をご希望の場合は、一回限りのスポンサーシップも提供しています。

ツールをダウンロード