カテゴリー: Family
五味破風高原から馬籠宿、妻籠宿に
地獄谷野猿公苑から志賀高原へ
白鳥から平湯を抜けて五味破風高原に
夏の避暑に 広島から白鳥に
五日市埋立で散歩


4.結果
- mainマージ+本番デプロイ3回、すべて成功・稼働確認済み(最終コミット bd1cf1b)
- 自動テスト: 106件(うち5件失敗)→ 119件全パス(テスト14件新規追加・失敗0)
- 外形確認済み: セキュリティヘッダー出力・CookieのSecure属性・自己登録の閉鎖・診断ページの撤去
- 2026-07-11再検証の指摘は完了。システムは「Critical/High/Medium指摘ゼロ・依存脆弱性ゼロ(リスク受容2件は記録済み)」の状態
5.残課題(急ぎでない・別フェーズ)
- H-3: CSPのunsafe-inline除去(インラインJSの外部化 or nonce方式・大きめの作業)
- L-3: 同時編集ロックの精度向上(lock_version整数化)
- vite 4→8 メジャー更新(開発サーバー限定の脆弱性解消)
- x-data-spreadsheet(表エディタ)の代替検討 — XSS修正版が存在しないため。現状は同一会社内の編集権限者に限られるためリスク受容中
- 動作中の旧式遷移ボタン6箇所の data-href 方式への移行(1と同時に実施が効率的)
セキュリティ再検証・是正作業 全体総括
1.目的
システム全体を改めて検査(再検証)し、見つかった弱点を重要度順にすべて是正して本番に反映する
2.計画
4つの観点(認証・テナント分離・インジェクション対策・設定/依存関係)で並列監査を実施し、指摘を重要度別に整理 → Critical 0件・High 4件・Medium 9件・Low 9件・依存脆弱性多数・・・中核部分(認証・会社間のデータ分離・SQL/XSS対策)は基準適合と評価
| 区分 | 内容 |
|---|---|
| バッチ1 | 緊急度の高いもの:テンプレート操作の権限制限・AI生成HTMLのXSS対策・不要ファイル削除 |
| バッチ2 | 入力データの保存範囲固定・Cookie保護の既定化・セキュリティヘッダー補強・古いテストの整理 |
| バッチ3 | 依存パッケージの脆弱性解消・細かな改善9件(L-1〜L-9) |
| 確認事項5件 | 確認事項5件 |
3.実施
バッチ2
- 現場情報の保存を「検証済みの項目だけ」に固定 — 従来は細工したデータ送信で現場の所属会社を書き換えられる余地があった(調査中に登録処理側にも同じ問題を発見し、両方修正)
- セッションCookieのSecure属性を既定でON — 設定漏れがあっても自動的に安全側になる
- セキュリティヘッダー補強 — カメラ・マイク等のブラウザ機能無効化、クリックジャッキング・フォーム送信先の制限
- 実態と合わなくなっていた古いテスト5件を「現仕様の回帰検知」に書き換え
バッチ3
- 依存パッケージの脆弱性: composer 26件 → 0件(Excel処理ライブラリの重大な脆弱性含む)、npm 18件 → 4件(残りは開発環境限定等で影響なし・記録済み)
- パスワード変更・リセット時に他の端末のログインを即時無効化(乗っ取り後の締め出し対策)
- ファイル保存名のランダム化、デバッグ出力の削除、旧Gemini設定の廃止 ほか
確認事項
- 変更履歴(UserChangeLog): 会社間分離の仕組みを適用(設計どおり)
- 本番設定: 現地確認の結果、実は問題なし(APP_ENVは行なしでも本番扱い・GEMINIキーも本番には無かった)
- プロキシ設定: 診断ページを一時設置しTAMの実測で「前段プロキシなし」と確定 → IP偽装を許す設定を撤去
- 過去のAI生成データ: 一括洗浄コマンドを作成 → 本番で確認した結果、対象0件(すべて安全なデータのみ)
- 旧GeminiAPIキー: TAMがGoogle側で失効済み
海の見えるレストラン
久しぶりに映画を観に行きます
ソノタンの外出
KGAさんと食事
誕生日会 Cluadeに乗換
彼岸の中日は墓参り
神戸で安全研修をする
昼前に広島を出発して、新神戸から地下鉄で大倉山に、歩いてアステップ神戸に、今日はここで安全研修を実施する(研修資料にかけた工数は対価にはまったく合わないが)・・・予定通り、研修は終わって、予定より早い新幹線に乗ることができた

今回の研修のために12月後半から色々と考察をしてよい勉強となり、この結果を今回のWebアプリケーション(建設アシストシステム)を作るきっかけとなった・・・昔、BASICで徹夜してプログラミングしていた頃を思い出しながら、面白さにすっかりのめり込んでいる
帰ってから、法規制チェックリストのAI判定部分をつくる・・・やはり、このパートは簡単には行かない・・・AIの判定スピードの調整、APIとの整合、結果の受取、その都度エラーが続き、何回かテストプログラムを走らせて検証しながら作成する、さすがに研修後のなので頭が痛くなったが、何とか判定部分のプログラムを完成させて・・・今夜は終わり

サーバーにLaravelをインストール
Webアプリケーションを商用に対応するために、作成したアプリを「Laravel」のフレームワークで構築しなおすことに、これはセキュリティホールをなくするためです・・・そのため新しいサブドメインを設定、契約しているサーバーには、フレームワークの「Laravel」自動インストールができませんでした・・Linuxコマンドを使って手動でインストールしてサブドメインに「Laravel」の環境を構築
難しい・・・これは完全にプロのIT技術者の世界だな・・・Gemini3の指導のもと実施
手順は簡単だが、環境が異なるのでエラーの続出、ステップごとにかなりのトライが必要だった




















































































