• #日記
  • #Chrome拡張機能
  • #CF計算書
  • #Chrome DevTools MCP
  • #Search Console
  • #axios
  • #サプライチェーン攻撃
daily-log

2026年3月31日の開発日記

朝から晩までフル回転の一日。Chrome拡張の仕訳管理タブを新設して実機テストまで完走し、CF計算書教材はSVGスライド70枚を一気に制作した。合間にaxiosのサプライチェーン攻撃が飛び込んできてPC全体スキャンに追われ、Chrome DevTools MCPのautoConnect設定を通してSearch Consoleの404を一掃した。

今日やったこと

1. Chrome拡張 仕訳管理タブの新設と実機テスト

会計ソフトA連携のChrome拡張に「仕訳管理」タブを新設した。仕訳帳エクスポート・仕訳一括削除・対象外明細エクスポート・対象外一括復帰の4セクション構成。

API調査では journalizing_suggestionsstatus=ignored パラメータが無視されることを発見し、trans_list のfetchでtbodyが空になる問題はiframe方式で突破した。フルサイクル検証(登録→削除→対象外→復帰)を完了し、confirm() 18箇所をカスタムモーダルに一括置換。Playwright MF API連携PoCではHttpOnlyセッションCookieの壁に当たり、page.evaluate() 必須という結論を得た。

主な成果:

  • 仕訳管理タブ新設(4セクション × 13事業者)
  • 実機テスト全項目パス(Chrome DevTools MCP経由)
  • confirm()→カスタムモーダル置換(18箇所)
  • Playwright PoC完了(Pattern A成功、Pattern B不可の結論)

詳細: Chrome拡張 仕訳管理タブの新設


2. CF計算書教材コンテンツの一気通貫制作

簿記3級編(Ch0-5+総合演習)と2級編のCF計算書教材を一日で制作した。目次HTMLの取り込みからトピックカード追加、Miller Viewer対応の講義ノートページ構築、全チャプターのテキスト拡充+数値例の品質ゲート検算、SVGスライド70枚の一括生成まで走り切った。

全チャプターが1配列にまとまっていてセクション選択が壊れる問題や、TOC名とmillerデータ名の不一致でチャプター切り替えが動かない問題をデバッグで解決。Git LFSでpush拒否された際は git lfs push で2,882個(188MB)をアップロードして対処。

主な成果:

  • SVGスライド70枚(プレースホルダー+教材スライド)
  • 全チャプターのテキスト拡充+検算完了
  • コンテンツ一覧ページ(index.vue)新設
  • 次セッション用制作計画書をCodexレビュー付きで作成

詳細: CF計算書教材コンテンツの一気通貫制作


3. Chrome DevTools MCP autoConnectとSearch Console改善

Chrome 146(M144以上)で使える --autoConnect オプションの設定に取り組んだ。--browserUrl での接続失敗を経て --autoConnect で成功し、普段使いのGWSプロファイルでChrome拡張(SSボタン)の操作にまで到達。プロジェクトレベル設定がグローバルを上書きする落とし穴も解消した。

Search Consoleでは404が317件積み上がっていたことを発見。_redirects が2026年1月から更新されていなかったのが原因で、1,567件のリダイレクトを再生成してビルドプロセスに組み込んだ。ソフト404修正、TODOページ99件のnoindex設定、canonical実装も実施。

主な成果:

  • autoConnect設定完了、グローバルMCP設定に追加
  • リダイレクト1,567件再生成+postgenerateに組み込み
  • ソフト404修正、noindex設定、canonical実装
  • Google Calendarに確認リマインダー登録(4/14, 5/1)

詳細: Chrome DevTools MCP autoConnectとSearch Console改善


4. axiosサプライチェーン攻撃への対応

npm axios v1.14.1 が悪意あるパッケージ plain-crypto-js を取り込んでいた事件が発覚。最初はプロンプトインジェクションと疑ったが、ニュース調査で本物と確認。PC全体をスキャンして plain-crypto-js が見つからないことを確認し、2025年以前の不要プロジェクト6件を削除して環境をクリーンアップした。

主な成果:

  • PC全体スキャン→感染なし確認
  • 不要プロジェクト6件削除
  • npm側で悪意あるバージョン削除済みを確認

詳細: axiosサプライチェーン攻撃への対応


5. その他の作業

  • 蔵書OCRプロジェクト: yomitoku OCRで421ページの書籍を取り込み、Nuxtフロントエンドの存在を再確認してCLAUDE.mdを更新
  • Codexプラグイン設定: 公式codexプラグインをインストール、旧レビュースキルを削除して統合
  • LSP導入: TypeScript Language Serverをグローバルインストール。Vue/Volar LSPは公式未対応
  • 3/27・3/30の日記生成: make-diaryコマンドで過去日記を生成、匿名化ルールを追加
  • 本番環境payload修正: SSGビルドでpayloadがnullになりブログ記事が消えた問題を再ビルドで解消
  • Google Tasks取得テスト: gogcli経由でタスク一覧取得を確認
  • session-envファイル整理: .claude/.gitignoresession-env/追加、不要セッション24件削除

今日の試行錯誤

#テーマ試したこと結果気づき
1対象外明細取得journalizing_suggestionsstatus=ignored無視された(200件同一データ)APIパラメータは実際にフィルタされるか要検証
2trans_list fetchNode.js fetchでHTML取得tbodyが空(Ajax読み込み)X-Frame-Options: SAMEORIGIN なのでiframeで読める
3MCP接続--browserUrl http://127.0.0.1:9222接続エラーChrome 144+は --autoConnect を使うべき
4autoConnect競合プロジェクト設定残存グローバル設定を上書きMCP設定の優先順位に注意
5Miller Viewer全チャプター1配列セクション選択で他トピック表示セクションごとに配列分割が必要
6チャプター切替TOC name ≠ miller name切替が動かない完全一致マッチングなので名前統一が必須
7Git LFS push通常の git push132 unknown LFS objectsgit lfs push で先にLFSオブジェクトをアップロード
8axios攻撃プロンプトインジェクション疑いニュース調査で本物と確認LLMの警告でも裏取りは必須

今日の学び

  • iframe方式はfetchで取れない動的コンテンツの取得に使える。X-Frame-Options: SAMEORIGIN を確認すれば同一オリジン内で動く
  • Chrome DevTools MCP の --autoConnect は M144以上で有効。普段のプロファイルで拡張操作まで可能になった
  • _redirects のような生成物はビルドプロセスに組み込まないと陳腐化する。手動運用は必ず忘れる
  • サプライチェーン攻撃は他人事ではない。不要な依存プロジェクトを放置するとリスクが積み上がる

関連記事