#
624
どうもー、zenncastパーソナリティのマイクです。
今日は2026年2月5日、木曜日の朝7時台。みなさん、いかがお過ごしでしょうか。通勤・通学途中の方も、これから一日スタートって方も、ゆるっとお付き合いください。
この時間は、Zennで今日トレンドになっている技術記事を、マイクがピックアップしてご紹介していきます。

さて、今日はお便りコーナーはお休みで、その分たっぷりと記事を紹介していこうと思います。
今日ご紹介する記事は、全部で5本です。AIコーディングから社内向けRAG環境、そしてサイバーセキュリティのCTF Writeupまで、かなり濃いラインナップになってますよ。

まず1本目。
タイトルは「【LLM】社内文書をセキュアに検索!OllamaとOpen WebUIで構築する完全無料・RAG環境」。
企業で「ChatGPT使いたいけど、社外に情報出せないんだよなぁ」とか、「毎月の課金がちょっと…」みたいな悩み、ありますよね。この記事では、そのあたりの「セキュリティ」と「コスト」、ついでに「情報の鮮度問題」を一気に解決しようとしていて、かなり実務寄りの内容です。
Ollamaっていうローカルで動かせるLLMの基盤と、Open WebUIっていうチャット+RAG環境、それからSearXNGというメタ検索エンジンを、Docker Composeひとつでガッと立てちゃう構成になっています。
面白いのが、社内のPDFとかWord、ExcelみたいなOffice文書、それにテキストファイルやYouTubeの字幕まで、ドラッグ&ドロップでポイっと放り込むと、引用付きで答えてくれる「社内専用ChatGPT」みたいな環境ができあがるところ。ナレッジベース機能で、ほぼ社内Wikiみたいに運用できるのも良さそうです。
さらにSearXNGと連携させれば、インターネット検索も同じ画面で扱えるので、「社内文書+Web」をまとめてRAGのコンテキストにできる。しかも全部ローカルで、ライセンスも無料の構成になっているのがポイントですね。
構築はdocker-compose.yml一枚でOK、GPUがあれば載せ替えれば高速化もできるということで、PoCから本番まで見据えた構成になっています。ただし社内公開する時は、HTTPS対応とかSSO連携、ボリュームの永続化やバックアップ、GPUリソースの管理なんかはちゃんと考えましょうね、という注意も書かれています。
「ChatGPT Enterpriseはちょっと手が届かないけど、機密文書を安全に検索したい」という会社には、かなり刺さる内容だと思います。小さく検証してから、徐々に本番に寄せる進め方も提案されていて、導入のイメージが湧きやすい記事でした。

。 。 。 。

続いて2本目。
タイトルは「AIがコードを書く時代、人はドキュメントだけレビューすればいい? → ドキュメント更新も漏れるじゃん」。
AIにコードを書かせて、人間はレビューに専念する、という開発スタイルが広がりつつありますが、「じゃあドキュメントは?」「仕様書の更新、誰が責任持つの?」っていう問題に真っ向から向き合った記事です。
著者の方は、Claude Codeでコードを書かせるフローを実践する中で、「コードとドキュメントの一貫性」がボロボロになっていく危機感を持ったそうで、そこで自分で「doc-tracer」というCLIツールを作っています。
考え方としては、コードとドキュメントの関係を全部グラフにしてしまう、というもの。ドキュメント側にはYAMLフロントマターでメタデータを埋め込んで、「どのレイヤーの仕様なのか」「どのAPIやコンポーネントと関係しているのか」を明示。コード側は、多言語対応のスキャナでモジュールやAPI呼び出し、ルーティング定義なんかを機械的に抽出し、両者をリンクさせます。
これをやると何が嬉しいかというと、「このファイルを変更したら、どのドキュメントを直さなきゃいけないの?」が逆引きできるようになるんですね。影響範囲が自動で特定できる。そして、Web画面でグラフを可視化したり、リンク切れや孤立ドキュメントをチェックしたりもできる。
ベースには、要件定義からユーザーストーリー、設計、実装、テストという、ちょっとウォーターフォール寄りの5層ドキュメント構造を置いていて、「doc-tracerで更新対象を洗い出す → 実際の修正はClaude Codeに任せる」という分業スタイルを狙っています。
「AI時代のドキュメント駆動開発ってこうなっていくのかも」という未来図が見える記事でした。GitHubでツールも公開されているので、ドキュメントの負債に悩んでいるチームには、かなり参考になると思います。

。 。 。 。

3本目。
タイトルは「技術負債も理解負債も生まないAIコーディング手法(2026年2月現在)」。
AIコーディングって、生産性は爆上がりなんですけど、その代わり「よくわからないコードが大量にできてしまう」とか、「あとで直そうと思ってた設計の粗がどんどん積み上がる」みたいな、いわゆる技術負債・理解負債の問題がついて回りますよね。
この記事の筆者はそこにかなりシビアで、「実装そのものはほぼ全部AIに任せるけれど、その前段の『実装計画の作成とレビュー』に人間の労力の9割をつぎ込む」という運用をしています。
フローとしては、まずGitHub Issueに要件を細かく書き出して、Claude Codeに対して、いわゆるultrathink系のプロンプトで、めちゃくちゃ詳細な実装計画をMarkdownで作ってもらうところからスタート。ここには、ファイル単位の構成だけじゃなくて、テスト方針や品質管理の手順まで入っています。
その計画を、人間がビジネス要件とテスト観点を中心にレビューして、不明点はとにかく全部質問してつぶしていく。そのあとさらに、別のAIであるCodexに計画レビューをさせて、そこで出てきた指摘を、人間がふるいにかけながら、Claude CodeとCodexの間を何往復もして、最終的に「もう指摘が出ない」というところまで磨き込む。
ここまでやって初めて、その計画を新しいセッションのClaude Codeに渡して実装してもらう。実装後の自己レビューとテスト、PRの作成までAIに任せて、最後にCodeRabbitみたいなレビュー専用ツールでもう一度チェックし、その指摘もAIに反映してもらう。人間は本当に最後の軽い確認だけ、というスタイルです。
計画が大きくなりすぎたら、バックエンドはエンドポイント単位、フロントはコンポーネントや連携単位に切り分けるとか、コンテキストが肥大したら会話をリセットして、以降はドキュメント駆動で進めるとか、現場で試行錯誤したノウハウが細かく書かれているのも読みどころですね。
もちろん「負債ゼロ」にはならないけれど、フレームワークを最新版で保ちながら事業開発も止めない、というレベルは達成できているそうで、AIとの付き合い方の一つの答えとして、かなり実践的な記事になっています。

。 。 。 。

さあ、後半は一気にサイバーセキュリティ寄りに振れていきます。
4本目は、「防衛省サイバーコンテスト 2026 CTF Writeup」。
防衛省がやっているサイバーコンテストの2026年版に参加した筆者のWriteupなんですが、なんと全問正解、チーム総合5位、しかも学生個人ほぼ1位という、めちゃくちゃ強い人の記事です。
内容としては、Web、Crypto、Forensics、Networkと幅広いジャンルの問題の解き方メモになっていて、「CTFやってみたいけど、具体的にどんな問題が出るの?」という人にもイメージが湧きやすいと思います。
Web分野では、sqlite_masterからのflag抽出を狙うSQLインジェクションのUNION攻撃とか、ディレクトリトラバーサルを「..//」で回避するといった、教科書的なんだけど実戦でちゃんと使えるテクニックが並んでいます。
さらに、10進数表現のIPアドレスを使ったSSRFで内部APIを探索したり、XSSでjavascriptスキームをエンティティ化して、iframe経由で管理者のCookie付きリクエストを投げる、なんていう、ちょっとトリッキーな手法も取り上げられてます。
Cryptoのパートでは、画像のEXIF情報の中に埋め込まれたbase64+rot13のデータとか、数独パズルを解いてそこから鍵を導き出してAES復号するとか、VigenèreとPlayfairを組み合わせた古典暗号の複合、それから多項式演算とnonce再利用を使ったML-DSAの秘密鍵復元まで出てきます。
Forensicsでは、SquashFSイメージの展開、多重に埋め込まれた画像やLSBのステガノグラフィ、SQLiteの削除レコード復元、ランサムウェアバイナリから鍵を抜き出す、といった、実務でもそのまま役立ちそうなネタが整理されています。
Network分野も面白くて、時間seedのPython randomの逆算、DNSやICMPを使ったデータ流出、WPA2の辞書攻撃とChaCha20復号、HTCPCPという謎プロトコルでIoTコーヒーメーカーを操作する問題、さらにはアニメーションのフレームから文字を読み取ったり、CoAPとモールス信号を組み合わせて解析したりと、バラエティに富んでます。
全体として、「CTFで出てくる典型手法」を、実際の出題とセットで学べる記事になっているので、セキュリティを勉強したいエンジニアにとっては、かなり良い教材になりそうです。

。 。 。 。

そしてラスト、5本目も防衛省コンテスト関連です。
タイトルは「防衛省サイバーコンテスト2026 Writeup」。
こちらは別の参加者の方のWriteupで、結果は全体13位。十分すごいんですが、本人としては「まだまだ力不足だった」と、かなりストイックな振り返りをされています。
内容としては、Crypto、Programming、Misc、Pwnあたりの問題を中心に書かれていて、4本目の記事と被るテーマもありつつ、また違う視点での解法解説になっています。
Cryptoでは、画像のEXIFに埋め込まれたbase64+rot13のデータから始まり、やはりML-DSAのnonce再利用攻撃、多数のメタ情報から数独→MD5→AES-128-CBCの鍵を導いて復号する流れ、そしてVigenèreとPlayfairを二重にかけた古典暗号の解読など、かなり骨太な問題が並んでいます。
Programmingの問題では、パスカルの三角形をmod 2で生成して、そこから特定の行の星の数を数え、それを数値flagにつなげる、という内容。実装としては、集計行やループ条件のバグを直しつつ、地道に配列を扱っていく系ですね。
Miscカテゴリでは、あの「sl」コマンド風の汽車が走るログから、括弧内の文字だけgrepしてflagを取り出す問題や、CoAPでつながったスマート電球の点灯履歴を、モールス信号として復号する問題が紹介されています。こういう「ちょっと遊び心のあるセキュリティ問題」って、読んでるだけでも楽しいですよね。
Pwnでは、カナリ値チェック付きのバッファオーバーフローで、戻り先をunlock関数に飛ばすものと、getsでスタック上の値を0xdeadbeefに書き換える、超教科書的なBOFの2問を、pwntoolsを使って攻略しています。
この筆者の方は、解説の最後で、「難度が高くて、自分の力不足を痛感したので、もっと精進したい」と締めていて、その姿勢も含めて、とても良いWriteupだなと感じました。同じコンテストを、別の視点から書いた記事を2本続けて読むと、「同じ問題でも人によってこんなに見え方が違うんだ」という発見もあって面白いです。

。 。 。 。

ということで、今日は全部で5本ご紹介しました。
ローカルで完結する社内向けRAG環境の構築方法、AIコーディング時代のドキュメント管理ツールdoc-tracer、技術負債と理解負債を抑えるAIコーディング手法、そして防衛省サイバーコンテスト2026のWriteupを、2人の視点からじっくり見てきました。
AIと開発プロセス、そしてセキュリティとCTFという、今押さえておきたいトピックがギュッと詰まった回になったんじゃないかなと思います。

気になった記事があれば、この番組のショーノートに詳しい情報をまとめておきますので、後でじっくりチェックしてみてください。
zenncastでは、番組の感想や、「こんなテーマを取り上げてほしい!」といったリクエストも募集しています。日々の開発の悩みや、AIとの付き合い方、CTF始めてみましたレポートなんかも大歓迎です。

それでは、そろそろお別れの時間です。
ここまでのお相手は、zenncastパーソナリティのマイクでした。
また次回お会いできるのを楽しみにしています。それでは、いってらっしゃい!

Related episodes

内容の近いエピソードを推薦しています