DMARCレポートをもっと分かりやすく。AIと始めた監視ツール開発が、思わぬ長期戦に

AIと取り組むDMARC Monitor開発記録|第1回

日々の業務で使用している会社のメール。普段は問題なく送受信できていても、その裏側では、第三者が自社のドメインを装ってメールを送信している可能性があります。

当社、ナミキアソシエイツでも、メールのセキュリティ対策を進める中で、こうした問題を改めて意識するようになりました。

そこで始めたのが、DMARCレポートを自分たちで分析するための小さな監視ツール「DMARC Monitor」の開発です。

開発にはChatGPTとClaude Codeを活用しています。

ところが、比較的シンプルなツールを作るつもりが、思いのほか長い開発になってしまいました。

今回は、そのきっかけと、開発方針を見直すまでの経緯をご紹介します。

そもそもDMARCとは?

DMARC(Domain-based Message Authentication, Reporting and Conformance)は、メールの送信元ドメインのなりすまし対策に使われる仕組みです。

メールには、送信元が正当であることを確認するためのSPFやDKIMという技術があります。DMARCは、これらの認証結果と送信元ドメインの整合性を確認し、認証に失敗したメールをどう扱うかを受信側に伝える仕組みです。

また、DMARCを設定すると、対応する受信メールサービスから集計レポートを受け取ることができます。

このレポートには、どのような送信元からメールが届き、認証が成功したか、あるいは失敗したかといった情報が含まれています。

ただし、一般的なDMARC集計レポートはXML形式で届くため、そのままでは人間にとって読みやすいものではありません。

きっかけは、自社ドメインのなりすましメール

当社では複数のドメインを運用しており、それぞれについてSPF、DKIM、DMARCの設定と確認を進めてきました。

その過程で、自社のメールアドレスを装った不審なメールや、DMARCの集計レポートを確認する機会が増えました。

もちろん、DMARCを設定したからといって、インターネット上からなりすましメールがなくなるわけではありません。

しかし、レポートを分析すれば、自社ドメインがどのように使われ、正規のメールが適切に認証されているかを把握する手掛かりになります。

一方で、届いたXMLファイルを一つずつ確認するのは、なかなか手間のかかる作業です。

それなら、必要な情報だけを取り出し、もっと分かりやすく表示する仕組みを作れないだろうか。

それがDMARC Monitor開発の出発点でした。

AIを使えば、自分たちでも開発できるのでは?

今回の開発で活用しているのは、ChatGPTとClaude Codeです。

ChatGPTとは、どのような機能が必要か、どのようなリスクに注意すべきかを相談しながら開発方針を整理します。

Claude Codeには、その方針を基にPythonコードの作成、修正、テストなどの実作業を担当してもらいます。

つまり、人間が目的と判断基準を示し、ChatGPTが設計やレビューを支援し、Claude Codeが実装を進めるという形です。

当社ではこれまでも、Nextcloudの運用やLinux環境の整備などで、AIを技術的な相談相手として活用してきました。

今回のDMARC Monitorは、そこから一歩進んで、AIと協力して一つのツールを継続的に開発する試みとなりました。

ところが、開発がなかなか終わらない

当初考えていたのは、DMARCレポートを読み込み、認証結果を集計して表示する比較的シンプルなツールでした。

しかし、開発を進めるうちに、考慮すべきことが次々と増えていきました。

例えば、同じレポートを二重に取り込まない仕組み、壊れたファイルの扱い、データベースの保護、テスト方法、万一の失敗に備える復旧手順などです。

メールセキュリティに関わるツールですから、安全性を軽視するわけにはいきません。

その一方で、開発を慎重に進めようとするほど、確認事項や承認手順も増えていきました。

いつの間にか、当初の目的だった「DMARCレポートを見やすくする」という機能そのものよりも、開発を進めるための管理や検証に多くの時間を使う状態になっていました。

AIを使えば開発は簡単になると思っていたのですが、実際には、AIに何を任せ、どこまで作るのかを人間が判断することの難しさを感じることになりました。

一度立ち止まり、MVPとして作り直すことに

そこで、開発方針を大きく変更することにしました。

それまでの開発成果は削除せず、いったん凍結。

新たにMVP(Minimum Viable Product)という考え方を採用し、本当に必要な機能に絞って開発をやり直すことにしたのです。

今回のMVPで重視したのは、次のような点です。

  • DMARCレポートを正しく取り込めること
  • 認証結果を分かりやすく集計できること
  • 同じデータを重複して登録しないこと
  • 合成データを使って安全にテストできること
  • 必要なバックアップと復旧手段を確保すること

最初から何でもできるツールを目指すのではなく、まず小さく、確実に動くものを完成させる。

この方針に切り替えたことで、開発の目的と進め方が再び明確になりました。

現在も開発は続いています

2026年10月現在、DMARC MonitorのMVP開発は継続中です。

レポートの取り込み、集計、HTMLによる表示といった基本機能に加え、開発用データと実データを分離する仕組み、バックアップ、実データを変更しない事前確認機能などの実装・テストを進めています。

ただし、実データを使った本格運用はまだ開始していません。

今回はあくまで開発途中の記録です。

完成した成果だけではなく、その途中で何を考え、何を変更したのかを残しておくことにも意味があると考えています。

次回予告:AI開発は、なぜ複雑になりすぎたのか?

次回は、開発が長期化した理由と、旧プロジェクトを凍結してMVPへ切り替えた経緯を、もう少し詳しくご紹介します。

また、ChatGPTとClaude Codeをどのように役割分担させ、どのように開発を進める形へ変更したのかについてもお伝えする予定です。

AIは便利な開発パートナーですが、何を作るか、いつ方針を変えるかを決めるのは、やはり人間の役割なのだと感じています。


本記事は、ナミキアソシエイツ株式会社が取り組んでいるAI活用・ITインフラ技術検証の記録です。DMARC Monitorは現在開発中であり、商用サービスとして提供しているものではありません。

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA