2026年10月26日月曜日

strix + local ollama + qwen3-vl:8b

strix + local ollama + qwen3-vl:8b

概要

とりあえず動くけどマシンスペックかなりいります

環境

  • ollama 0.40.6
  • strix 1.7.0
  • Ubuntu 24.04

pull

  • ollama pull qwen3-vl:8b

ollama のコンテキストサイズは 65536 です

実行

  • export STRIX_LLM="ollama/qwen3-vl:8b"
  • export LLM_API_BASE="http://localhost:11434"
  • strix --target .

使い方メモ

  • Root エージェントがまず立ち上がりプロジェクトやサイトのチェックをします
    • 基本は docker コンテナからチェックするのでコンテナからアクセスできるようにしましょう
    • たとえばソースコードチェックであればソースコードをコンテナにマウントしてあげる必要があります
    • localhost であれば host.docker.internal でアクセスするので host.docker.internal でアクセスされても動作するようにアプリを修正しましょう
  • 実際に攻撃や調査を行うのは子エージェントです
    • 各種攻撃ごとに Root エージェントが子エージェントを立ち上げる
    • 子エージェントの終了すると Root エージェントがその結果をまとめて報告してくれる
    • 攻撃が終了して別の種類の攻撃をしたい場合は Root エージェントに命令しないとダメ
    • 子エージェントはその攻撃専門エージェントなので別の攻撃をしたい場合は別の子エージェントを起動する必要がある
  • 対話的に進めるのが基本
    • Root エージェントも子エージェントもテスト中に普通に何回もユーザに質問を投げかけてきます
    • 「次はどんなテストをしますか」「API のルーティングを教えてください」「認証エラーになるので情報をください」など
    • 当初は全自動で自律的にどんどんテストしてくれると思ったがそんなことはなく結構しっかり会話して命令を与えてあげないとちゃんとテストしてくれない
    • 例えば子エージェントが SQL インジェクションのテストをしている場合には「どのパラメータに対して攻撃しますか」「どの API に対して攻撃しますか」など聞いてきます
    • 子エージェント側が会話を待っていると Root エージェント側もずっと待ち状態になるので子エージェントにしっかり命令してあげる必要がある
    • 結構頻繁に聞いてくるので注意して子エージェントを監視しないとテストが止まっている
  • ソースコードや OpenAPI のリファレンスなど与えたほうがいい
    • –target でホストを指定している場合はある程度予測して調査してくれるがそれだと4xx系のエラーばかりですぐにあきらめてしまう
    • エンドポイント+ソースコードやリファレンスも渡すと自動でソースコードを読み込んで攻撃対象を洗い出してくれる
    • 更にコードから脆弱性のある部分を先に洗い出しその後攻撃もしてくれるので攻撃前に事前に重点的に攻撃してくれる部分がわかる
    • ただその場合はしっかりコンテナからコードやリファレンスが参照できるようにすること
  • トークンの消費はそこまで多くはない
    • 多くはない印象だがループ処理に入りそこでエラーが発生し再度挑戦みたいな感じで無限ループに入ると大変なことになる
    • 命令次第ではあるが基本は単発単発でリクエストするのでアプリの負荷が急に上がったりもしない
  • 日本語にも対応している
docker exec -it affectionate_dewdney /bin/bash

docker exec affectionate_dewdney mkdir -p /workspace/project
docker cp \
  /home/devops/path/to/project/. \
  affectionate_dewdney:/workspace/project

最後に

一応これで動きます
8b レベルだとそこまで精度が出ないのでスペックに余裕がある場合はもっとパラメータの多いモデルを使いましょう
strix 的にはローカル LLM では qwen がオススメのようです

参考サイト

0 件のコメント:

コメントを投稿