#
637
2026/2/17
今日のトレンド

AIコードとExcel方眼紙

どうも、マイクでーす。おはようございます!
ただいまの時刻は朝7時、2026年2月18日、水曜日。ここからの時間は「zenncast」、きょうもZennで話題のトレンド記事をゆるっと、でもしっかりご紹介していきます。

今日はリスナーのみなさんからのお便りはお休みということで、そのぶんガッツリと記事を紹介していきますね。
きょうピックアップする記事は、全部で5本です。セキュリティ、AIコーディング、ターミナル開発環境、GitHub運用、そしてClaude Codeの体験談まで、かなり濃いラインナップになってます。

まず1本目。タイトルは「『1行もコードを書いてない』——3日後、150万APIキー漏洩。身に覚えがあった【前編】」。
AIがコードを書いてくれる時代、ちょっと夢みたいな話ですけど、その裏側にある「セキュリティ」をガチで突きつけてくる記事です。
AIが自動生成したコードで作られたSNS「Moltbook」が、「コード1行も書いてない!」とバズった直後に、Wizから「いやいや、APIキー丸見えですよ」と指摘されるんですね。結果、150万件のAPIキー、数万件のメールやDMを含む約475万レコードが外部から読み放題状態だったと。
原因はSupabaseでRLS、行レベルセキュリティを一切設定していなかったこと。ブラウザから取れる接続情報だけで、誰でもDBを読み書きできちゃう構造になっていた、と。AIは「動くコード」は出してくれるけど、「安全に動くコード」になっている保証はどこにもないんだよね、という話です。
著者自身もAPIキー漏洩を経験していて、その痛みを踏まえつつ、「AIにコードを書かせたら、同じAIでセキュリティレビューもさせよう」と提案しています。特に認証・認可まわりや、キーが露出してないかのチェックは、AIに丸投げしないでダブルチェックしよう、というメッセージ。人間が書いても、AIが書いても、「見えてはいけないものが見えてしまう」構造は同じだという締めくくりで、後編では実際にSupabaseでRLSを外して検証する予告までされています。セキュリティまわりに不安がある方は、前後編セットで読み込みたい内容ですね。

。 。 。 。

続いて2本目。タイトルは「Excel 方眼紙を GitHub Copilot に食わせてみた」。
Excel方眼紙、いわゆる「なんでもかんでもExcelで作る文化」を、逆手に取った面白い実験記事です。GitHub Copilot、特にClaude Opus 4.6に対して、ClosedXMLを使うC#スクリプトのSkillを仕込んでおいて、セル結合しまくりのExcel方眼紙を読ませます。
すると、従業員管理システムの仕様書として作られた方眼紙から、テキストベースの仕様をかなり正確に復元してくれるんですね。さらに「Employee.xlsx を Employee.md にして、図は mermaid で書いて」とお願いすると、項目定義やメモ欄の注意点まで含めたMarkdownドキュメントを、自動でいい感じに生成してくれる。図形部分も、そこそこ高い精度でmermaid図に落としてくれるという結果です。
一方で、Sonnet 4.5の方は、Skillを明示すれば表の読み取り自体はできるものの、外部ライブラリの扱いやER図生成でミスやハルシネーションが目立つ、と冷静に比較。総評としては、「複雑すぎない図なら、CopilotはExcel方眼紙から仕様書をだいぶ読み取れる」となっていて、過去の資産が全部Excelです…という現場にはかなり刺さる実験だと思います。方眼紙の海から仕様を救出したい人は必見ですね。

。 。 。 。

3本目の記事。タイトルは「【コピペすら不要】tmux + Neovimで作るVSCodeライクなターミナル開発環境」。
これはターミナル派エンジニアの心をくすぐるやつです。著者は元々、Zellij + Helixを使っていたんですが、エコシステムの弱さや、「Zellijでなくてもよくない?」という理由から、構成をガラッと変えています。新しいスタックは、Ghostty + tmux + Neovim。
ポイントは役割分担。tmuxはセッション管理だけに徹して、レイアウトやファイルツリー、ターミナル統合といった「IDEっぽいUI」は全部Neovimに任せるスタイルです。プラグイン管理にはlazy.nvimを使っていて、Neo-treeでファイルツリー、fzf-luaでファジーファインド、Snacks.nvimほか多数のプラグインでVSCodeライクな操作感を実現しています。
さらに、GhosttyがCmdキーをエスケープシーケンスとしてtmux経由でNeovimに渡せるので、Cmd+PやCmd+Shift+Fなど、ほぼVSCode同等のキーバインドをターミナル上で再現できるんですね。`NVIM_IDE=1`環境変数付きで起動する`ide`スクリプトも用意されていて、プロジェクトを選ぶと、自動で「エディタ+ファイルツリー+Claude Code用ターミナル2枚」というVSCode風のレイアウトを構築してくれる。
設定ファイルは多いものの、GitHubのセットアップスクリプト1行で全部入るようにしてあって、「VSCodeに慣れてるけど、ターミナルIDEも試したい」という人に、かなり現実的な選択肢を提示している記事でした。

。 。 。 。

4本目。タイトルは「【冷や汗】『あ、それ上げちゃダメ!』GitHubに絶対pushしてはいけないファイル10選&対策」。
これはもう、全GitHubユーザーに一度は読んでほしい内容です。GitHubは便利だけど、「公開しちゃいけないもの」をうっかりpushすると、クラウドの不正利用やサーバー乗っ取りなど、シャレにならない被害につながるよ、という注意喚起。
絶対に上げちゃいけない代表例として挙がっているのが、環境変数をまとめた`.env`、各種クラウドのcredentialsファイル、SSH秘密鍵、DBのダンプや実体ファイルなど。これらは必ず`.gitignore`で除外して、そもそもGitの管理下に入れないようにしよう、と。
逆に「危険ではないけど、上げないほうがいいもの」としては、node_modules、`.DS_Store`や`Thumbs.db`といったOSが勝手に作るファイル、エディタやIDEの設定、ビルド成果物、ログ、個人メモなど。これらはリポジトリを汚して、サイズや差分をムダに増やすだけなので避けましょう、という整理です。
記事では`.gitignore`の具体例や、gitignore.ioでの自動生成、OS全体でのグローバル無視設定のやり方も紹介されています。もし機密をすでにpushしてしまった場合は、「まず鍵を無効化・再発行、そのあとでgit-filter-repoやBFG Repo-Cleanerで履歴から完全に消す」という、実務的な手順も丁寧に説明。きれいで安全なリポジトリこそ、安心してチーム開発できる土台だよね、という締めになっています。

。 。 。 。

そして5本目。タイトルは「ハッカソンに登録したのにClaude Codeが凄すぎて提出できなかった話」。
このタイトルだけでちょっと笑ってしまうんですが、中身はかなり真面目にClaude Codeの可能性を語る記事です。筆者はAgentic AI Hackathonに参加登録したものの、気付いたらGoogle CloudではなくClaude Code中心に開発を進めてしまい、結果的に提出できなかった、と。
紹介されているのは、FlutterとPythonで作る栽培記録アプリの開発事例。日本語2行くらいのざっくりした指示を出すだけで、Claude Codeが既存コードベース全体を解析し、DBスキーマを壊さないようにJSON格納クラスを新設したり、旧データの自動マイグレーションとAPI互換性の維持を考えたり、とにかく自律的に設計判断をしていきます。
さらに、FlutterとPythonをまたいだ一貫した変更、Git連携によるPR作成までやってくれて、最終的には10ファイル、5484行を変更。チェックポイントやロールバック、サブエージェント、CLAUDE.md、MCP連携、バックグラウンドタスクといった機能を駆使して、大規模な変更も破綻なく進められることが示されています。
その結果、「コード修正コストが激減して、『とりあえず作って動かして直す』のが最適戦略になった」と筆者は振り返り、月200ドルのMaxプランでも元が取れる、と結論づけています。記事では、開発中アプリのソースも公開されていて、Claude前提のセットアップも用意されているので、「AIエージェントとガッツリ開発してみたい」という人には、格好の教材になりそうです。

。 。 。 。

ということで、きょうのzenncastでは、
AI生成コードのセキュリティ事故とSupabaseのRLS問題、
Excel方眼紙をCopilotに食べさせて仕様書を救出する話、
tmux + NeovimでVSCodeライクなターミナルIDEを作る方法、
GitHubに絶対上げちゃいけないファイルと.gitignore運用、
そしてClaude Codeが凄すぎてハッカソン提出どころじゃなくなった開発体験、
この5本を駆け足でご紹介してきました。

気になった記事があったら、ぜひショーノートから本編をチェックしてみてください。ここで話した内容はほんの一部なので、実際の記事を読むと、もっと細かいテクニックや具体例が載っています。
番組の感想や、「このツールもっと掘り下げてほしい!」といったリクエストもお待ちしています。あなたの現場での失敗談や、AIとの付き合い方なんかも、どしどし教えてください。

それでは、そろそろお別れの時間です。
お相手はマイクでした。また次回の「zenncast」でお会いしましょう。
きょうも良い一日をお過ごしください。それじゃあ、いってらっしゃい!

Related episodes

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