J58車検準備 工事管理画面UXの実施

朝は京橋川の土手を散歩
明日はJ58の車検 リアシートを付けて,サイドタイヤを外す
工事リストの画面の配置と背景を変更
工事管理画面のUX変更と背景の変更

Claude CodeのプラグインでCodeX(GPT5.6 Sol)を動かして、再びシステムのレビューを実施させてみる・・・さて、レビューに強いと言われているCodeXの実力は
今までCuade Fable5で2回レビューを実施して修正後の結果は

  • 実施: Codexプラグイン(GPT-5.6 Sol)による全コードベースレビュー(読み取り専用・9分41秒)
  • 観点: (1)セキュリティ(テナント分離・認可・XSS/CSRF/SQLi) (2)正確性 (3)アーキテクチャ
  • 結果: Critical 0件 / High 4件 / Medium 9件 / Low 4件(合計17件)
  • Codex session:

評価

  • SQLインジェクション: whereRaw等は固定文字列のみ、ユーザー入力連結なし
  • CSRF迂回: 通常の変更系ルートはwebミドルウェア配下で迂回なし
  • テナントトレイト: A/B/C分類モデルへの適用に明白な抜けなし
  • 既知残課題(unsafe-inline・session success非表示・同一秒ロック)は件数から除外

High4件

  • H-1. RA・安全パトロール添付ファイルが認可なしで公開
  • H-2. 施工計画書テンプレートCSV取込/出力の認可漏れ
  • H-3. 工程表名のStored XSS(未エスケープJSON出力)
  • H-4. 施工計画書diagramノードHTMLのStored XSS(未サニタイズ)

Medium(9件)

  • 監査系コントローラにrole=1例外なし
  • 関連IDのテナント検証漏れ
  • 関連IDのテナント検証漏れ
  • 同一秒内の楽観ロック偽陰性
  • 祝日計算の特例未対応
  • 工程表保存のバリデーション不足
  • 循環ネットワーク検出漏れ
  • 監査回数の採番競合
  • 写真ファイル名競合・拡張子不一致

Low(4件)

  • 写真アップロードにサイズ・ピクセル上限なし(GDデコードのメモリ消費・環境設定要確認)
  • 稼働日・祝日計算がNetwork/BarChartに重複(CLAUDE.md共通化ルール違反・実装が既に分岐)
  • テナント分離find()テストが設計表の全モデル未網羅(回帰リスク)
  • /clear-cache がGETで状態変更(CSRF検証なし)

CodeXのレビュー内容を、Claude codeで是正させる

GPT-5.6 Solによる全コードベースレビュー(High4・Medium9・Low4)の是正。
High 4件+Medium 8件+Low 3件を是正し、本番デプロイ完了・・全138テストパス

バッチ1

  • H-1 RA/パトロール添付: 非公開ディスク(storage/app/private)保存に変更、表示は認可付きルート経由(risk_assessments.viewAttachment/safety_patrols.attachment 新設)。旧public側フォールバック付き AttachmentStorage 新設。テスト8件
  • H-2 テンプレートCSV取込/出力: authorizeTemplateAdmin 適用(一般ユーザーの全社共通テンプレ作成を封鎖)+CSVインジェクション対策。テスト4件
  • H-3 工程表名JSON出力: JSON_HEX_TAG 等でscript脱出を遮断(barchart/network。maintenanceは対策済確認)
  • H-4 図面ノードHTML: 専用サニタイザー sanitizeDiagramHtml(HTMLPurifier・図面表現の許可リスト)を保存時に適用

バッチ2

  • M-5 監査系5コントローラにrole=1全テナント横断例外+一覧全社表示+ISO参照を計画の所属会社基準に
  • M-6 auditor_user_id/target_id/ヘッダーフッターテンプレIDを自社(または共通)所属に限定
  • M-7 `AuditChecklist::firstOrCreate を楽観ロック内へ(初回作成経路テスト追加)
  • M-12 監査回数採番をトランザクション+lockForUpdate
  • M-13 パトロール写真の連番採番→一意サフィックス化・再エンコード後の拡張子自動補正(ImageUploadService共通対応)

バッチ3

  • M-9/L-15 app/Services/WorkdayCalculator.php 新設(両工程表の重複実装を集約)。振替休日の繰越・国民の休日・五輪特例(2020/2021)・即位関連(2019)・法改正年度に対応。ユニットテスト7件
  • M-10 工程表保存/計算のバリデーション強化(arrows/tasks/connectionsの中身検証・欠落キー500を4xx化)
  • M-11 循環ネットワークをカーン法の件数チェックで検出→422明示エラー
  • L-14 写真アップロードに20MB・8000×8000px上限
  • L-17 /clear-cache POST化+管理者メンテにボタン新設

対応しなかった項目

  • M-8(同一秒内の楽観ロック偽陰性): 設計書で受容判断済みのため対応せず
  • L-16(テナント分離テストの全モデル網羅): 効果あるが工数大・別途判断
  • パトロール「写真」・現場写真・会社ロゴのpublicディスク保存はH-1の対象外(添付書類のみ移行)。必要なら別フェーズで検討

ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です