まったり技術ブログ

Webエンジニアのセキュリティブログ

【ヘボい】「Niwaka - セキュリティ診断AIエージェント」の開発メモ

はじめに

 最近「セキュリティ診断AIエージェント」というものを見て楽しそうと思ったので、調査/開発に着手し始めましたのでそれのメモです。

▼ ソースコード(Dockerで動作します)
github.com

▼ Slack上で開発に関する様々なタスクを依頼することができます。

▼ 処理の流れ

環境準備

1. アカウントの作成

Niwaka を動作させるには2つのアカウントを作成します。

  • Slack アカウント

  • OpenAI API アカウント

    • 生成AIには OpenAI を利用します。
    • OpenAI API 利用は有償ですが $10 チャージ程あれば十分です。
      (私の場合は $2 分ほどしか消費しませんでした)

2. 設定値の指定 (Slack トークンやOpenAI API キー など)

app/.env

.env.example をコピーして設定してください。

  • BOT_TOKEN : Slack API の"OAuth Tokens"
  • APP_TOKEN : Slack API の"App-Level Tokens"
  • CHANNEL_ID : Slack のチャンネルID

.llm/config.json

config.json.example をコピーして設定してください。

  • OPENAI_API_KEY : OpenAI API キー
  • REPO_NAME : 検査対象リポジトリ(リポジトリは手動で clone する必要があります)
  • GITHUB_PERSONAL_ACCESS_TOKEN : Github の Personal access tokens(アクセストークン)
    • アクセストークンのパーミッションはこんな感じ

3. ソースコードの配置

 repos配下にAIが参照するソースコードのリポジトリを配置する。

4. 起動

$ make up
 or 
$ docker compose up

動作検証

脆弱性の修正プルリク作成

SECURITY.md ファイルの作成