Webサーバーのログ監査を文章を書かないAI「Jev」に任せる ― 生ログを流すと月100万円、集計して渡せば月2,000円以下

2026-10-11 | Shinichi Noguchi | AIセキュリティ × Jev

【技術相談】本件の内容に関して30分間の無料相談承ります →

アクセスログをJevでリアルタイム監査 ― New Relic → Jev判断 → 不正IPはWAFのブロックリストへ

この記事をシェア

情報漏洩のニュースが続いています。事故が起きると、だいたい現場の若手が「とりあえずログを全部見て、怪しいアクセスを洗い出して」と頼まれ、数百万行のアクセスログをgrepしながら夜を明かすことになる。この「ログを見て怪しいものを探す」初動を、AIに肩代わりさせる話です。

この記事は、noteで公開した「文章を書かないAI『Jev』でWebサーバーのログ監査を全自動化する」の無料部分を要約したものです。使うのはChatGPTやClaudeのような文章を書くAIではなく、2026年9月に出た判定専用のAI「Jev」。New Relicからログを取り、Jevに判定させ、AWS WAFのブロックリストに自動登録するまでの完全なソースコードは、note側の有料部分に載せています。

※2026年10月時点の公開情報に基づきます。ログ量とコストの数字は、私がログを見ている国内ECサイトの1週間ぶんの実測値をもとにした試算です。

攻撃は、1行ずつ見ると普通に見える

WAFのマネージドルールが止めるのは、既知の攻撃パターンだけです。実際の攻撃は、1リクエストずつ見ると驚くほど普通に見えます。ブルートフォースの1行はただのログイン失敗(POST /login 401)、ディレクトリスキャンの1行はただの404、クレデンシャルスタッフィングの1行に至っては、ただのログイン成功です。

攻撃は「行」ではなく「パターン」に現れる。そして人間がログを見ないのは、量が多すぎるからです。実ブラウザのページ表示で数えれば平均毎秒1〜2PVのECサイトでも、ボットや静的ファイルを含めるとアクセスログは1日1,340万行を超えます。

Jevは「文章を書かないAI」

Jevは、TypeSafe AIが2026年9月15日に発表したモデルで、同社は「System One Model」と呼んでいます。状態(文字列やJSON)と質問(選択式・採点・真偽の3種類)を渡すと、各選択肢の確率と確信度が返ってくる。かなり雑に言えば、LLM並みの読解力を持った分類器です。Jevそのものの解説は「確度付きIF文」として書いた以前の記事にまとめました。

Jevの主なスペック(2026年10月時点、公式情報より)
項目値
価格入力100万トークンあたり$0.042。出力は課金されない
コンテキスト1リクエスト64kトークン、うちstateは32kまで
レート制限80リクエスト/秒、10万トークン/秒
応答速度公称70〜500ミリ秒

選択肢の外は答えないので、ありもしない答えを作ることがありません。文章を生成しないぶん、User-AgentやURLに仕込まれたプロンプトインジェクションの影響も受けにくい。一方で、判定の理由は説明させられず、日本語の精度は英語より落ち、公開から1か月で公称性能の独立した検証もこれからです。

1行だけ見せると、ログイン失敗は「普通」になる

note記事では、pip install から5分で動くサンプルを載せています。アクセスログを3行、1行ずつ「攻撃か、普通か」で判定させた結果がこれです。

attack  confidence=1.00   # SQLインジェクションを試して500が返った行
normal  confidence=1.00   # 普通の商品ページ閲覧
normal  confidence=0.88   # POST /login 401(ログイン失敗)

3行目のログイン失敗を、Jevは「普通」と答えます。これはJevが悪いのではありません。パスワードの打ち間違いなのか、300回目のブルートフォースなのか、1行の中にはその違いを示す情報がそもそも無い。確信度が高いものは自動で処理し、低いものだけを人間や高価なLLMに回す。この使い分けが、Jevを実運用に乗せるときの肝になります。

全部のログを流すと、性能でもコストでも破綻する

「1行ずつ全部投げればいい」「文脈が足りないなら5分ぶんまとめて投げればいい」。どちらも私が最初に試して、やめた方法です。

生ログを渡す方式の月額試算(1日1,340万行のECサイト、1ドル150円)
方式月額(試算)問題
小型LLMに1行ずつ約356万〜747万円文脈がゼロで、一番見つけたい攻撃ほど見逃す
Jevに1行ずつ約111万円毎秒156回でレート制限の2倍。そもそも投げきれない
LLMに5分まとめ入らない(分割で約85万〜170万円)長文の針探しになり、存在しないIPを答えることもある
Jevに5分まとめ入らない(分割で約36万円)5分で約650万トークン。分割すると文脈が散る
集計してから渡す2,000円以下文脈も「攻撃が成功したか」も残る

1行ずつ投げると、約300トークンの質問文が毎回乗ります。5分ぶんまとめると、4.7万行のうち本当に見つけたいたった1件の GET /.env 200(環境変数ファイルが取られた)がノイズに埋もれる。そしてどちらも、攻撃者が書いた文字列をそのままAIに食わせる設計です。生ログを渡すこと自体が攻撃面になります。

小型LLMはClaude Haiku 5.5とGPT-5.6 Lunaで、2026年10月時点の各社公式価格をもとに試算しています。

渡すのは生ログではなく、集計した結果

月2,000円以下で済む理由は、ログを「渡す」のではなく、ある単位で集計してから渡すからです。数を数えるのはNew Relic側に任せ、Jevには数字の組み合わせを見て「攻撃らしいか」を判断させるだけにします。動かすと、5分おきにこんな結果がSlackに届きます。

Slackに届く判定結果の例(読みやすく整形したもの)
送信元判定・確信度種別結果取った行動
203.0.113.45malicious 0.94脆弱性スキャン/.env に200が1件自動ブロック+通知
192.0.2.77malicious 0.91ブルートフォース全件4xxで拒否自動ブロック+通知
203.0.113.9malicious 0.74インジェクション500が2件通知のみ(人間が確認)

297件の404に埋もれた、1件だけの /.env への200を落とさない。確信度が足りないSQLインジェクションは自動ブロックせず、脆弱性が本当にあるかもしれないので人間に届ける。何を単位にし、何を数え、攻撃が成功したかどうかをどう要約に残すか。Jevの判定がどれだけ当たるかは、ほぼこの設計で決まります。

New Relic → Jev → AWS WAF の完全ソースはnoteで

有料部分では、ここで省いた設計と、そのまま動くコードを公開しています。

  • 精度とコストを両立させる「集計して渡す」設計の全容
  • New Relic NerdGraph APIからNRQLで特徴量を取り出すコード
  • Jevへの質問設計と、ブロック/通知/無視の判断ロジック
  • DynamoDBで時限管理しながらAWS WAF IPセットに反映するコードと、Lambda+EventBridgeのTerraform一式

公開記念価格:先着30名まで990円(正規価格1,980円)

noteで続きを読む

※ 価格は記事公開時点のものです。最新の価格はnoteのページでご確認ください。

確認した資料

この記事が役に立ったらシェアしてください

ログをAIに丸投げする前に、何を渡すかを決めるために。

カテゴリ

AIセキュリティ × Jev

公開日

2026-10-11

💬 無料技術相談のご案内

この記事でご紹介した技術について、導入や活用のご相談を30分間無料で承っております。

  • 「自社でも導入できる?」といった技術的な疑問
  • 既存システムとの連携・移行に関するご相談
  • コスト感や導入スケジュールの目安

30年以上のIT経験をもとに、率直にお答えします。強引なセールスや勧誘は一切ありません。

野口真一 野口真一

お気軽にご相談ください

記事に関するご質問や、AI・IT技術導入のご相談など、お気軽にお問い合わせください。