NVIDIA garak:AIの闇を照らす脆弱性スキャナー


NVIDIA garak:AIの闇を照らす脆弱性スキャナー

NVIDIA/garak

2025-09-15

今回の任務は、NVIDIAさんが生み出した、悪のLLM(大規模言語モデル)の弱点を突き止めるための秘密兵器「garak」について、みんなに分かりやすく解説することです!

さあ、みんなで力を合わせて、AIの世界の平和を守りましょう!

想像してみてください。ある日、世界を支配しようと企む巨大な悪の組織が現れました。その組織は、甘い言葉で人々を惑わし、嘘や偏見をばら撒き、社会に混乱をもたらす、最強のLLM悪役軍団です。

そんな時、頼りになるのが、我らが正義のヒーローチーム「garak」です!

「garak」は、NVIDIAさんが開発した、AIの弱点をチェックするための特殊なスキャナーです。

「LLMの脆弱性スキャナー」という、ちょっと難しそうな名前ですが、要するに「LLMが、悪意ある質問や指示に対して、嘘をついたり、危険な情報を教えたりしないか、徹底的にチェックする、正義のAI探偵」なのです!

悪の情報の検知

暴力的な発言、差別的な言葉、偏見に満ちた内容、危険な行為の指南など、LLMが悪意ある情報を生成しないか、事前にチェックできます。

プライバシーの保護

LLMが、意図せず個人情報や機密情報を漏洩してしまうリスクがないか、テストできます。

嘘の見破り

ユーザーの質問に対して、LLMが誤った情報を生成したり、事実と異なることを断言したりしないか、検証できます。

LLMの弱点強化

garakが発見した弱点を元に、LLMを訓練し直し、より安全で信頼性の高いAIに進化させることができます。

さあ、正義の味方「garak」をあなたのチームに迎え入れましょう!

基地の準備(Pythonのインストール)

garakはPythonで動くので、まずはPythonをインストールしておいてくださいね。

秘密兵器の呼び出し(pipコマンド)

ターミナルやコマンドプロンプトを開いて、以下の呪文を唱えてください。

pip install garak

追加の装備(依存関係のインストール)

より強力な戦いのためには、追加の装備が必要です。必要なものをインストールしましょう。

pip install -r requirements.txt

※ requirements.txtは、garakのGitHubリポジトリからダウンロードできます。

これで、あなたのPCは、悪のLLMと戦うための秘密基地に早変わりです!

さあ、いよいよ実戦です。ここでは、OpenAIのモデルを例に、garakの必殺技を披露します。

import os
import garak.cli

# OpenAIのAPIキーをセットする
# ここに自分のAPIキーを入れましょう
# os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 

# garakの必殺技、発動!
# --model_name で、どの悪役と戦うかを指定する
# --probes で、どのような攻撃を仕掛けるかを指定する
garak.cli.main(
    [
        '--model_name', 'openai',
        '--probes', 'all'
    ]
)

呪文(コマンド)の解説

--model_name openai
「OpenAIのモデルと戦うぞ!」という宣言です。

--probes all
「すべてのタイプの攻撃を仕掛けるぞ!」という宣言です。garakには、様々な種類の攻撃方法(probe)が用意されています。特定の攻撃だけを仕掛けることも可能です。

このコマンドを実行すると、garakが自動的にOpenAIのモデルに対して様々な質問や指示を送り、その応答を分析してくれます。

戦いが終わると、garakは戦いの記録(レポート)を出力してくれます。

レポートには、どの攻撃が成功したか、どのような危険な情報が生成されたか、悪役LLMの弱点が詳細に記されています。

report.html

ブラウザで開ける、分かりやすいレポートです。どの攻撃で、どんな問題が起きたのか、一目で分かります。

report.json

プログラムで分析しやすい形式のレポートです。より詳細な分析をしたい時に便利です。

このレポートを元に、LLMが悪の道に進まないよう、しっかりと教育し直してあげましょう!

品質保証(QA)の自動化

LLMの品質保証は、手動では非常に大変です。garakを使えば、脆弱性チェックを自動化し、開発プロセスの初期段階からセキュリティを考慮した開発が可能になります。

CI/CDパイプラインへの組み込み

ソフトウェア開発の自動化プロセス(CI/CD)にgarakを組み込めば、新しいモデルをデプロイする前に、自動的に脆弱性チェックを行うことができます。

LLMの責任ある開発

LLMは、社会に大きな影響を与える可能性があるため、安全で信頼できるモデルを開発する責任が我々にはあります。garakは、その責任を果たすための強力なツールです。

さあ、我々の力を結集し、garakとともに、より安全で、より信頼できるAIの世界を築き上げていきましょう! みんなで力を合わせれば、きっとAIの世界の平和は守られます!


NVIDIA/garak




テスト通過率100%への最短ルート!自律型開発エージェントRalphで、キミの開発効率を限界突破させろ!

そんなキミに贈る、爆速・自律・完全自動化の最終兵器!その名も…… 『frankbria/ralph-claude-code』だぁぁぁ!!」一言でいうと、「Claude Codeを、キミが寝てる間に働かせる『無限ループ・マシーン』」だ!普通のAIツールは「人間が命令 → AIが回答」の1往復で止まるよな? でも、この Ralph(ラルフ) は違う!


ソフトウェアエンジニア必見!mishushakov/llm-scraper徹底解説

一言で言うとね、この llm-scraper は、「どんなウェブページも、AIの力で自動的に、しかも賢く、整理されたデータに変えてくれる魔法のツール」 なんだ!例えるなら、醤油ラーメン (既存のスクレイピングツール)具材(データ)の場所が明確に決まっていて、レシピ(コード)通りに正確に盛り付ける(抽出する)のが得意。でも、新しい具材(ウェブサイトの構造変更)が出てくると、レシピをイチから見直さないといけない手間があるんだ。


ソフトウェアエンジニア必見!MindsDBでAIとデータの壁をぶち破れ!

エンジニアの皆さん、お待たせしました!あなたの開発運を爆上げするMindsDBを、血液型別のエンジニアタイプに合わせてご紹介します。さあ、あなたの血液型は?A型エンジニアの特性 計画的で真面目、そして細部までこだわる完璧主義者。MindsDBはA型エンジニアにどう役立つ?


【C++の力】Python不要!ネイティブコードでディフュージョンモデル推論を最速化する技術解説

このプロジェクトは、様々なディフュージョンモデル(Stable Diffusion, Flux, WN, Qwen Image, Z-Imageなど)の推論(インファレンス)を、C/C++のみで実行できるようにしたものです。stable-diffusion


【入門】onyx-dot-app/onyxで始めるAIチャットボット開発

ソフトウェアエンジニアの視点から、onyx-dot-app/onyxがどのように役立つか、導入方法、サンプルコードについて、真面目に、分かりやすく説明するね。onyx-dot-app/onyxは、AIを活用したチャットアプリケーションを構築するためのオープンソースプラットフォームなんだ。これを導入するメリットは、主に次の3つだよ。


ソフトウェアエンジニア必見!Koogで効率的なAI開発

この番組は、クイズに答えながら新しい技術を楽しく学んでいくクイズ番組。 司会の私(AIの知識はちょっとだけ…)と、解説員のKoogさんが、皆さんの疑問をコント形式で解決していきますよ!司会今日のテーマ、Koogさん!いったい何ができる方なんですか?


AI-For-Beginnersで学ぶ、エンジニアのキャリアアップ

「microsoft/AI-For-Beginners」は、Microsoftが提供しているAI学習のための無料カリキュラムです。全24レッスン、12週間の構成で、初学者でも無理なくAIの基礎を学べるように設計されています。ソフトウェアエンジニアとしてAIを学ぶことは、以下のような多くのメリットがあります。


脱・ただのチャット!MCP Apps導入でAIツールに「操作可能なUI」をブチ込む最短ルート

貴様が持ってきたのは MCP (Model Context Protocol) Apps の仕様だな。これが何なのか、なぜエンジニアの血と汗を節約してくれるのか、腕立て伏せをしながらでも読めるように叩き込んでやる。準備はいいか?サー、イエス、サーと言え!


「6行で実現」AIエージェントに"長期記憶"を持たせる方法:topoteretes/cognee徹底解説

topoteretes/cognee は、AIエージェントに「記憶(Memory)」を持たせるためのオープンソースフレームワークです。特に注目すべきは、開発元が謳っているように、「6行のコードでAIエージェントの記憶を実現」というシンプルさと手軽さです。