生成AIで作るセキュリティツール100
当ページは「生成AIで作るセキュリティツール100」のまとめページです。
随時更新&ブラッシュアップしています。
目次
「生成AIで作るセキュリティツール100」プロジェクト
100本のセキュリティツールを、生成AIとともに1本ずつ作り上げるプロジェクトです。
基本的に「1日1ツール」を目指しています。
目的はプログラミングスキルの向上ではなく、(自著と連動しやすい)役立つツールを作り上げることです。
そのため、後日改良したり、機能を追加したりすることもあり、実作業は「ツール100本≠100日」になります。
Day001~Day010
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
001 | Password Checker | 📂 GitHub | 認証 | パスワード強度チェッカー | HTML+JavaScript |
002 | Hash Identifier | 📂 GitHub | 暗号(現代暗号) | ハッシュ識別ツール | HTML+JavaScript |
003 | Caesar Cipher Wheel Tool | 📂 GitHub | 暗号(古典暗号) | シーザー暗号円盤ツール | HTML+JavaScript |
004 | Japanese Caesar Cipher | 📂 GitHub | 暗号(古典暗号) | 日本語版シーザー暗号ツール | HTML+TypeScript |
005 | ROT13 Encoder | 📂 GitHub | 暗号(古典暗号) | ROT13エンコーダー | HTML+JavaScript |
006 | Hacking Scene Simulator | 📂 GitHub | その他 | ハッキングシーンシミュレーター | HTML+JavaScript |
007 | Image Exif Checker | 📂 GitHub | フォレンジック OSINT | 画像Exifチェッカー | HTML+JavaScript Python |
008 | Caesar Cipher Breaker | 📂 GitHub | 暗号(古典暗号) | シーザー暗号解読ツール | HTML+JavaScript |
009 | Frequency Analyzer | 📂 GitHub | 暗号(古典暗号) | 頻度分析ツール | HTML+JavaScript |
010 | Scytale Cipher Visualizer | 📂 GitHub | 暗号(古典暗号) | スキュタレー暗号可視化ツール | HTML+JavaScript |
Day011~Day020
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
011 | OSM Infrastructure Viewer | 📂 GitHub | OSINT | OSMインフラ可視化ツール | HTML+JavaScript |
012 | Uesugi Cipher Tool | 📂 GitHub | 暗号(古典暗号) | 上杉暗号ツール | HTML+JavaScript |
013 | Capture Time & Place Analyzer | 📂 GitHub | OSINT | WhereShot(ウェアショット) 撮影時刻・場所解析ツール | HTML+JavaScript |
014 | Shinobi Iroha Cipher Tool | 📂 GitHub | 暗号(古典暗号) | 忍びいろはの暗号ツール | HTML+JavaScript |
015 | DoH Watcher | 📂 GitHub | ネットワーク | DNS over HTTPS効果観察ツール | Python |
016 | IOC Hunter | 📂 GitHub | ネットワーク | IOC(侵害の痕跡)ハイライトツール | HTML+JavaScript |
017 | Vigenere Cipher Tool | 📂 GitHub | 暗号(古典暗号) | ヴィジュネル暗号ツール | HTML+JavaScript |
018 | Cipher Climb | 📂 GitHub | 暗号(古典暗号) | ヒルクライミング法による単一換字式暗号の解読ツール | HTML+JavaScript |
019 | PassCloud | 📂 GitHub | パスワード解析 | パスワードのワードクラウド可視化ツール | HTML+JavaScript |
020 | Dork Watcher | 📂 GitHub | OSINT | Google Hacking支援ツール | HTML+JavaScript |
Day021~Day030
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
021 | ImageDiffSec | 📂 GitHub | フォレンジック OSINT | 2画像のピクセル差分検出ツール | HTML+JavaScript |
022 | DancingMen CipherLab | 📂 GitHub | 暗号(古典暗号) | ドイルの踊る人形暗号ツール | HTML+JavaScript |
023 | WeirdString Inspector | 📂 GitHub | ソーシャルエンジニアリング フォレンジック | Unicode異常文字検出ツール | HTML+JavaScript |
024 | Grille CipherLab | 📂 GitHub | 暗号(古典暗号) | 回転グリル暗号の可視化ツール | HTML+JavaScript |
025 | MorseTree Visualizer | 📂 GitHub | 通信技術 | モールス信号を視覚化する学習ツール | HTML+JavaScript |
026 | CDN Trainer | 📂 GitHub | ネットワーク | セキュアなCDN構成を学べる体験型ツール | HTML+JavaScript |
027 | Playfair CipherLab | 📂 GitHub | 暗号(古典暗号) | ビジュアルで学ぶプレイフェア暗号ツール | HTML+JavaScript |
028 | RepeatSeq Analyzer | 📂 GitHub | 暗号(古典暗号) | 反復文字列の特定ツール | HTML+JavaScript |
029 | OTP Animation | 📂 GitHub | 暗号(古典暗号) | ワンタイムパッドのアニメーションツール | HTML+JavaScript |
030 | Modular Text Divider | 📂 GitHub | 暗号(古典暗号) | テキスト列分割ツール | HTML+JavaScript |
Day031~Day040
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
031 | Git Secrets Playground | 📂 GitHub | フォレンジック | Git情報漏洩シミュレーター | HTML+JavaScript |
032 | Pigpen CipherLab | 📂 GitHub | 暗号(古典暗号) | ピッグペン暗号ビジュアル学習ツール | HTML+JavaScript |
033 | ClipThreat Studio | 📂 GitHub | Webセキュリティ ソーシャルエンジニアリング | クリップボード悪用攻撃の体験ツール | HTML+JavaScript |
034 | RailFence CipherLab | 📂 GitHub | 暗号(古典暗号) | レールフェンス暗号可視化ツール | HTML+JavaScript |
035 | Anti-MailSpoofing School | 📂 GitHub | ネットワーク(メールセキュリティ) | メールなりすまし対策学習ツール | HTML+JavaScript |
036 | Hidden Message Challenge | 📂 GitHub | 暗号(古典暗号) | 分置式暗号文解読チャレンジツール | HTML+JavaScript |
037 | QuickROT47 | 📂 GitHub | 暗号(古典暗号) | ROT47変換ツール | HTML+JavaScript |
038 | LocalStorage Playground | 📂 GitHub | Webセキュリティ | Webストレージの危険性体験ツール | HTML+JavaScript |
039 | URLPurifier | 📂 GitHub | Webセキュリティ | URL浄化ツール | HTML+JavaScript |
040 | MagicSign Inspector | 📂 GitHub | フォレンジック | ファイルシグネチャ可視化ツール | HTML+JavaScript |
Day041~Day050
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
041 | Mic Gain Logger | 📂 GitHub | 物理的セキュリティ(音響監視) | マイク音量ロガー | HTML+JavaScript |
042 | Classic JS Obfuscator | 📂 GitHub | Webセキュリティ 暗号(古典暗号) | 古典暗号JavaScript難読化ツール | HTML+JavaScript |
043 | Columnar CipherLab | 📂 GitHub | 暗号(古典暗号) | 縦列転置式暗号Webツール | HTML+JavaScript |
044 | Cipher Clairvoyance | 📂 GitHub | 暗号(古典暗号) | 暗号化方式推定ツール | HTML+JavaScript |
045 | Anagram Hunter | 📂 GitHub | 暗号(古典暗号) | 高速アナグラム探索ツール | HTML+JavaScript |
046 | AlphaLoom | 📂 GitHub | 暗号(古典暗号) | 文字組み合わせ&生成文字列分析ツール | HTML+JavaScript |
047 | IC Learning Visualizer | 📂 GitHub | 暗号(古典暗号) | 一致指数をビジュアル理解するツール | HTML+JavaScript |
048 | Token Entropy Estimator | 📂 GitHub | 認証 | エントロピー測定によるトークン強度チェッカー | HTML+JavaScript |
049 | Affine CipherLab | 📂 GitHub | 暗号(古典暗号) | アフィン暗号学習ツール | HTML+JavaScript |
050 | DialSafe Simulator | 📂 GitHub | 鍵開け | 金庫ダイヤルシミュレーター | HTML+JavaScript |
Day051~Day060
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
051 | Involution Studio | 📂 GitHub | 暗号(古典暗号) | インボリューション総合体験ハブツール | HTML+JavaScript |
052 | BaseXX Visualizer | 📂 GitHub | 基礎技術(符号化) | Base32/58/64/91比較ツール | HTML+JavaScript |
053 | JWT Inspector | 📂 GitHub | Webセキュリティ | JWT(JSON Web Token)可視化・検証ツール | HTML+JavaScript |
054 | Canary File Generator | 📂 GitHub | 攻撃検知 | 教育用カナリア/ハニーファイル生成ツール | HTML+JavaScript |
055 | Bacon CipherLab | 📂 GitHub | 暗号(古典暗号) | ベーコン暗号ツール | HTML+JavaScript |
056 | HashViz | 📂 GitHub | 暗号(現代暗号) | 教育用ハッシュ関数ビジュアライザー | HTML+JavaScript |
057 | Perceptron OTP Visualizer | 📂 GitHub | ディープラーニング 暗号(現代暗号) | パーセプトン疑似OTPツール | HTML+JavaScript |
058 | Invisible Clicks | 📂 GitHub | Webセキュリティ | クリックジャッキング攻撃体験ツール | TypeScript |
059 | Asset Inventory Helper | 📂 GitHub | セキュリティマネジメント | ソフトウェア資産整形ツール | HTML+JavaScript |
060 | Reverse Brute-force Demo | 📂 GitHub | パスワード解析 | リバースブルートフォース攻撃デモツール | HTML+JavaScript |
Day061~Day070
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
061 | Seal Tamper Lab | 📂 GitHub | 物理的セキュリティ サイバー忍術 | 封印シールのセキュリティ教育ツール | HTML+JavaScript |
062 | Port Scan Visualizer | 📂 GitHub | ネットワーク サーバー侵入 (ターゲッティング) | ポートスキャン手法可視化ツール | HTML+JavaScript |
063 | KeyPress Pattern Analyzer | 📂 GitHub | 物理的セキュリティ サイバー忍術 | キーストローク解析ツール | HTML+JavaScript |
064 | PatternLock Security Trainer | 📂 GitHub | モバイルハッキング(Android) パスワード認証 | パターンロック強度測定ツール | HTML+JavaScript |
065 | IDOR Clinic | 📂 GitHub | Webセキュリティ | IDOR体験ツール | HTML+JavaScript |
066 | GrayNinja | 📂 GitHub | コンピューターサイエンス(符号化) | グレイコードのエンコーダー・ディスク可視化ツール | HTML+JavaScript |
067 | Polybius CipherLab | 📂 GitHub | 暗号(古典暗号) | ポリュビオス暗号ツール | HTML+JavaScript |
068 | PathEscape | 📂 GitHub | Webセキュリティ | ディレクトリートラバーサル学習ツール | HTML+JavaScript |
069 | Trevanion CipherLab | 📂 GitHub | 暗号(古典暗号) | トレヴァニオン暗号支援ツール | HTML+JavaScript |
070 | VisualCryptography CipherLab | 📂 GitHub | 暗号(現代暗号) | 視覚暗号ツール | HTML+JavaScript |
Day071~Day080
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
071 | Strip CipherLab | 📂 GitHub | 暗号(古典暗号) | ストリップ暗号ツール | HTML+JavaScript |
072 | Zigzag CipherLab | 📂 GitHub | 暗号(古典暗号) | ジグザグ暗号ツール | HTML+JavaScript |
073 | InfoQuantity Academy | 📂 GitHub | コンピューターサイエンス(情報理論) | 情報量の基礎学習ツール | HTML+JavaScript |
074 | QR Risk Radar | 📂 GitHub | Webセキュリティ | QRコードリスク分析ツール | HTML+JavaScript |
075 | CAPTCHA Art Generator | 📂 GitHub | Webセキュリティ | CAPTCHAアート生成ツール | HTML+JavaScript |
076 | Crypto Emoji Translator | 📂 GitHub | 暗号(古典暗号) コンピューターサイエンス(符号化) | 絵文字暗号変換ツール | HTML+JavaScript |
077 | Browser Fingerprint Mirror | 📂 GitHub | Webセキュリティ | ブラウザー指紋ミラー | HTML+JavaScript |
078 | Beaufort CipherLab | 📂 GitHub | 暗号(古典暗号) | ビューフォート暗号ツール | HTML+JavaScript |
079 | LeetForge | 📂 GitHub | ハッカー文化 | リートコンバーター | HTML+JavaScript |
080 | Porta CipherLab | 📂 GitHub | 暗号(古典暗号) | ポルタ連字暗号ツール | HTML+JavaScript |
Day081~Day090
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
081 | Emotion‑Based Scam Detector | 📂 GitHub | ソーシャルエンジニアリング | メッセージの感情トリガー検出ツール | HTML+JavaScript |
082 | Global Cultural Scam Atlas (GCSA) | 📂 GitHub | ソーシャルエンジニアリング | 文化文脈に基づく攻撃事例のデータベース | HTML+JavaScript |
083 | Intrusion Path Mapper | 📂 GitHub | 物理的侵入 サーバー侵入 | 侵入経路マッピングツール | HTML+JavaScript |
084 | Mirror CipherLab | 📂 GitHub | 暗号(古典暗号) | ミラー系暗号化・難読化ツール | HTML+JavaScript |
085 | CamoForge | 📂 GitHub | サイバー忍術 | カモフラージュデザイン生成ツール | HTML+JavaScript |
086 | Epigraph Chronogrammer | 📂 GitHub | 暗号(古典暗号) | クロノグラム解析・生成ツール | HTML+JavaScript |
087 | Physical Key Ledger | 📂 GitHub | 物理的セキュリティ | 物理鍵管理台帳 | HTML+JavaScript |
088 | PIN Threat Simulator | 📂 GitHub | 物理的セキュリティ サイバー忍術 | PIN認証攻撃シミュレーター | HTML+JavaScript |
089 | KeyWalk Analyzer | 📂 GitHub | 物理的セキュリティ パスワード認証 | キーボード依存パスワード分析ツール | HTML+JavaScript |
090 | FontOrigin Analyzer | 📂 GitHub | フォレンジック OSINT | 文書出所解析ツール | HTML+JavaScript |
Day091~Day100
Day | ツール名 | GitHub | ジャンル | 一言説明 | 言語・技術 |
---|---|---|---|---|---|
091 | Reverse Logo Hunt | 📂 GitHub | OSINT | ロゴ逆引きOSINTツール | HTML+JavaScript |
092 | Browser Permission Radar | 📂 GitHub | Webセキュリティ | ブラウザー権限可視化ツール | HTML+JavaScript |
093 | Hill CipherLab | 📂 GitHub | 暗号(古典暗号) | ヒル暗号ツール | HTML+JavaScript |
094 | ToySPN Builder | 📂 GitHub | 暗号(現代暗号) | SPN体験ミニツール | HTML+JavaScript |
095 | Permutation CipherLab | 📂 GitHub | 暗号(古典暗号) | 転置式暗号ツール | HTML+JavaScript |
096 | RollingStock Planner – | 📂 GitHub | 防災 プレッパー | 防災備蓄管理ツール | HTML+JavaScript |
097 | Classical Cipher Structure Trainer | 📂 GitHub | 暗号(古典暗号) | 古典暗号の構造理解の教育ツール | HTML+JavaScript |
098 | OpsLoadout | 📂 GitHub | 物理的セキュリティ プレッパー サイバー忍術 | 任務対応型の装備品チェックリストツール | HTML+JavaScript |
099 | Book Code Builder | 📂 GitHub | 暗号(古典暗号) | 書籍暗号支援ツール | HTML+JavaScript |
100 | CORS Playground | 📂 GitHub | Webセキュリティ | SOP・CORS・プリフライトの学習ツール | HTML+JavaScript |
プロジェクトの今後の予定
「生成AIで作るセキュリティツール100」は、AIの力を借りて100個のセキュリティツールを作りきるというチャレンジです。
とはいえ、実用的なものを作ろうとか、すごいツールを作ってやろうという気持ちはあまりなく、楽しく100個やりきること自体が目的になっています。
このプロジェクトで大事にしていること
- 実用性よりも「面白いか」「やってみたいか」を重視
思いついたらすぐに形にするスタイルを採用しています。そのため、実験的なものもたくさんあります。
もちろん中には役立つツールもあるかもしれませんが、それは結果論というくらいの温度感です。 - 進捗や制作裏話は基本的に非公開
実はこのプロジェクトのことをブログやSNSではほとんど話していません。
GitHubの公開リポジトリにはあるので見ようと思えば見つけられる状態ではありますが、特に発信はしていません。
最終的に新刊のお品書きを出すときが、プロジェクト完了のお知らせになる予定です。 - 楽しく作り続けることがいちばんのモチベーション
誰かのために作っているというより、自分のため、自分の本のため。
プログラミングそのものが特別好きというわけではなく、成果物が少しずつ積み上がっていくのが楽しいという感覚でやっています。
書籍や発信との連動
- 100個作ったら、同人誌にまとめます
技術書典19(2025年11月)で新刊として頒布予定です。詳細は後述。 - 売れたら商業展開もあるかも?
反応しだいでは、書籍として再構成する形での出版も視野に入れています。 - 過去の本との連携もしやすい
自分が書いた既刊に関連するテーマも多く、READMEから本へ、本からツールへとリンクを張れる構造が作れそうです。
新刊にはツールの紹介やリンク、スクリーンショットも載せやすいので、本とツールが互いを補完する関係にできたら面白いなと思っています。 - 講演でも活かせそう
ツールをその場で動かして見せるだけで、話に説得力が増すということもありそうです。デモとしても使えそうなツールがいくつか出てきています。
100個作ったあとの展開
- GitHub Projectを立ち上げる
ツールが100に到達したら、GitHub Projectにプロジェクトページを正式に立ち上げます。
当ページは頻繁にメモがてら、思ったことを自由に書いたり、ツールを作るたびにリストを更新したりする場所です。それに対して、GitHub Projectは正式のプロジェクトページであり、対外的にプロジェクトの理念やツールをきちんと紹介する予定です。 - 100で終わりじゃない
正直、作りたいツールのアイデアが100個で収まりきらない感じがしています。
なので、101個目以降は名前を変えて続けるつもりです(プロジェクト名も変更予定)。 - セキュリティ以外にも広がるかも
生成AIを活かせる分野はまだまだあるので、もしかしたらセキュリティにとどまらず他ジャンルにも手を伸ばすかもしれません。 - 自分のブランド力が上がるかも
今までにはなかった仕事・人脈ができればよいなあと思っています。 - 学校サイトスタート
ついに独自セキュリティツールをベースに学校サイトを開校します。
同人誌化の詳細
本プロジェクトを同人誌化する予定です。
タイトルはだいたい決まっていて、現在のところ『ハッキング・ラボの挑戦 生成AIで作るセキュリティツール100』(仮題)を予定しています。
主眼は以下のとおりです。
・作り方よりも「作ったもの」から学べるセキュリティの知識と視点を重視する。
・各ツールの紹介+使い方や背後にある考察・教育的ポイントを掲載
時期的には2025年11月の技術書典19(あるいは20)を狙っています。
おわりに
「AIで100個セキュリティツールを作った」という意外性が、あとからジワジワと効いてくるかもしれない、という期待も少しあります。
それが私の新しいイメージやブランドにつながれば面白いし、何より自分の本とツールが連携する形で世に出せるのは、とても楽しい体験になりそうです。
このプロジェクトが終わったらまた次にやりたいこともあるので、今はこの100個をしっかり完走することに集中しています。
このページが参考になったら、XやGitHubをフォローしてください。