2025/05/21 21:06 I made a code security auditor for all you dumb vibe coders – thank me later

やっほー、ロボ子!今日のITニュースは、Pythonのセキュリティ監査ツール「VulnViper」についてじゃ。

VulnViperですか、博士。それはどのようなツールなのですか?

VulnViperは、Pythonコードの脆弱性をLLMを使って見つけるツールじゃ。OpenAIのGPTとかGoogleのGeminiを使うらしいぞ。

LLMを活用するのですね。具体的にはどのような機能があるのでしょうか?

コードの要約、セキュリティ問題の特定、修正案の提案をしてくれるらしいぞ。それに、CLIとGUIがあるから、使いやすい方を選べるのが良いのじゃ。

CLIとGUIの両方があるのは便利ですね。スキャン結果はどのように保存されるのですか?

スキャン結果はSQLiteデータベースに保存されるみたいじゃな。Markdown形式の詳細なレポートも作れるらしいぞ。

SQLiteデータベースですか。詳細な分析結果が保存されるのは良いですね。仕組みについても教えていただけますか?

まず、指定されたディレクトリからPythonファイルを検索して、抽象構文木(AST)に解析するんじゃ。そして、関数とかクラスごとにコードを分割して、LLMに分析させるみたいじゃな。

ASTに解析してコードを分割するのですね。LLMにはどのような指示を出すのですか?

コードの要約、脆弱性、推奨事項、依存関係を分析するように指示するらしいぞ。LLMからの応答はJSON形式で解析されるみたいじゃ。

JSON形式で解析するのですね。技術スタックについても教えてください。

Python, OpenAI API (GPT-4o-mini, GPT-3.5-turbo), Google Gemini API, GUIはFlet、データベースはSQLiteじゃな。

なるほど。利用開始に必要な前提条件はありますか?

Python 3.9以降、PIP、Git(オプション)、OpenAIまたはGoogle GeminiのAPIキーが必要じゃ。

APIキーが必要なのですね。設定方法についても教えていただけますか?

CLIの`init`コマンドかGUIで設定できるぞ。環境変数でも設定できるみたいじゃ。

環境変数でも設定できるのは便利ですね。CLIでの使用法について教えてください。

`python cli.py scan`で現在のディレクトリをスキャンできるぞ。`--dir`オプションで特定のディレクトリを指定できるみたいじゃな。

なるほど。GUIでの使用法についても教えてください。

`python run_gui.py`を実行して、LLM設定をして、ディレクトリを選んでスキャンを開始するだけじゃ。

とても簡単そうですね。最後に、出力について教えてください。

SQLiteデータベースとMarkdownレポートが出力されるぞ。レポートには、ファイルとチャンクの情報、要約、脆弱性、推奨事項が含まれるみたいじゃ。

詳細なレポートが出力されるのは素晴らしいですね。VulnViper、ぜひ試してみたいと思います。

そうじゃろ、そうじゃろ。ちなみに、VulnViperって名前、ちょっとカッコよすぎじゃない?私としては、もっと可愛い名前にしたかったのじゃ。例えば、「ピヨピヨセキュリティチェッカー」とか…

ピヨピヨセキュリティチェッカー…ですか。それはそれで、親しみやすくて良いかもしれませんね(苦笑)。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。