DAY 3:自分を信じないための仕組みを、3層で仕込んだ


昨日までで、ブログは本番公開&自動デプロイ。 ただ、ひとつ消化不良があった。

ClaudeCodeが書いたコードに、悪意や脆弱性が混じっていても、自分では見抜けない。

だから今日は、自分の判断に頼らない守りを5個入れた。

今日の数字

項目
入れた守り5個
自動で動く層3層
pre-commit の処理時間約1秒
GitHub Actions の所要時間44秒
作業時間約1時間

1. Dependabot(見張り番)を有効化

やったこと

Dependabot alerts / security updates / malware alerts / grouped security updates をON。

理由

ブログを作っている部品(パッケージ)に、あとから脆弱性が見つかることがある。 気づく手段が欲しい。

具体例

自転車のチェーン屋さんが「この型、切れるかも」と発表する。 Dependabotは毎日その発表を見張っていて、自分のチェーンが該当したら「これに交換して」と教えてくれる番人。


2. npm audit(検問)を自動デプロイに追加

やったこと

git push で走る自動デプロイに、高リスクの脆弱性があれば公開を止めるステップを追加。

理由

通知だけだと、公開は止まらない。 「危険なまま世に出る」を物理的に塞ぎたい。

具体例

「Dependabotを有効化」がテレビの「この電池は危険」ニュースなら、「npm auditを自動デプロイに追加」は空港の搭乗口のX線検査。 両方あるから安心。


3. 事故時の緊急手順メモ(避難訓練)

やったこと

HANDOFF.md(新セッション開始時に必ず読むメモ)に、「サイトを止めたい」「鍵が漏れた」「アカウント乗っ取り」のケース別に、押すボタンとURLを書き出した。

理由

焦ると手が動かない。 先に書いてあれば、考えずに動ける。

具体例

火事のとき、非常口の位置を覚えてない人は多い。 でも避難訓練で「ここに走れ」と決めておけば、足が勝手に動く。


4. 公開前チェックの型(指差し確認)

やったこと

記事を公開する前・コードを送る前に何を見るかをチェックリスト化。 個人情報、秘密鍵、文体、壊れたリンク、などなど。

理由

毎回「大丈夫かな」と考えるのは、抜ける。 型にしておけば、抜けない。

具体例

料理人が「火を止めた」「ガス栓を閉めた」「冷蔵庫を閉めた」を、毎回同じ順番で指差し確認するのと同じ。


5. 公開前チェックを勝手に走らせる(三段構え)

やったこと

「公開前チェックの型」を、3層の自動ワナにした。

  • 1層目: ClaudeCodeに「公開前は必ずこのチェック」と指示書(yaduru-blog/CLAUDE.md)。
  • 2層目: 自分のパソコン側で、git commit 時に自動で走るフック(pre-commit)。
  • 3層目: GitHub側で、push のたびに gitleaks が秘密情報を探す。

理由

自分が言い忘れる。 ClaudeCodeが忘れる。 両方ある。 「誰も思い出さなくても勝手に止まる」状態にしたかった。

具体例

コンビニの万引き防止は三段構え。 店員の目(判断できる/疲れる)、出口のゲート(タグが鳴る/機械的)、防犯カメラ(後で見られる/抑止力)。 1つだと穴が開く。 3つ重ねると、逃げ場がほぼない。


今日のまとめ

・部品の脆弱性を自動で見張る番人を雇った。 あとから見つかる脆弱性に気づけないから

・公開直前に脆弱性の検問を立てた。 通知だけだと危険なまま世に出るから

・事故時に押すボタンを先に書き出した。 焦ると手が動かないから

・公開前に見る項目を指差し確認リストにした。 毎回考えると抜けるから

・公開前チェックを3層の自動ワナにした。 自分もClaudeCodeも忘れるから