元宇品の海岸 墓の掃除

元宇品の森から海岸に

4月末に申請していた、小規模事業者持続化補助金の第19回目の採択の発表が、7月末にあり、申請した店舗の厨房器具が採択された・・さっそく見積を用意しなくてはならないが、事務局に電話して内容を確認して、もう一度、計画を見直しするために、厨房図面を修正する・・・だいたい、配置が決まったので、見積の徴収をしなくては
カレー店舗開店のための一つのハードルがクリアできたので、3月末オープンに向けて張り切らなくては

今は海岸の遊歩道は通行止めとなっているので人はいない
静かな海岸を歩く
墓を掃除して、盆のための柵をセットする

QMACでHP打合せ

スリーシップス(THREE SHIPS)は、南アフリカのジェームズ・セジウィック蒸溜所が造る、12年 シングルモルト: アメリカンオーク樽などでじっくり熟成された、フルーティーで奥行きのある高級銘柄、力強く豊かな味わいだが、かなり個性的な味

久しぶりに横川のQMACの事務所により、QMACのHPに関する打合せ
今までQMACのHPの維持をしていたが、何かがあった時に迷惑をかけてはいけないので、TAMもこの辺で区切りをつけて、少しづつ業務を少なくして行く・・そろそろ引き際の時期です
HPは業者に移管することにしたが、金額が高いので、TAMがHPをWerdPressで作り直して、HPの更新は事務局が実施することにする
ITOさんも、事務局長のKNMさんも9月末でQMAC事務局から退職して、新体制となる
そのためには、新しいHPは、新しくサーバーを契約しなおして、そのサーバーに新しいHPをインストールすることにする・・・そんな打ち合わせを夕方までして、その後は、いつもの流れで、ITOさんと横川で食事(スペイン料理だったが、あまりぱっとしなかった)をして、振りが付いたので、LIGHT HOUSEで一杯飲んでゆく

久しぶりにLIGHT HOUSEにゆく

五味破風高原から馬籠宿、妻籠宿に

太陽が上がる前の破風高原のヤナギランの群生 幻想的でしたね・・また、来ることができるかな
中山道の馬籠宿で、甲斐犬のキクと三度笠 長い坂道の宿場町は疲れます
▶この続きを見る・・・・

白鳥から平湯を抜けて五味破風高原に

早朝、宿の前には蓮の花が満開
狭い道の登って、更に歩いて城に
B&B弥次右衛門の前で
五味破風高原は小雨でした
気温は20℃以下
八幡城(郡上)に登ります
山小屋を丸ごと貸していただけることに・・夕食はジンギスカンセットを購入してバルコニーで焼きます
▶この続きを見る・・・・

夏の避暑に 広島から白鳥に

今夜の宿は、白鳥のB&B弥次右衛門ではコーヒーの焙煎販売をしている
郡上八幡でかき氷、量が多い3人分はある
鯉が多く泳いでいる、いがわ小径を散策
▶この続きを見る・・・・

夏のキャンプ旅行

2026/7/25(土) 広島8:00==山陽自動車道==姫路=中国縦貫自動車道==中国自動車道==舞鶴若狭自動車道=近畿自動車道 =敦賀= 北陸自動車道 =福井北JCT==R158==道の駅 越前おおの 荒島の郷=九頭竜IC==588km–16:30白鳥==郡上八幡=いがわ小径=郡上踊り=白鳥

B&B 弥次右衛門 Rakuten

2026/7/26(日) 白鳥8:30==八幡城(郡上)==中部縦貫自動車道/東海北陸自動車==60km–9:10高山IC==平湯(ひらゆの森) ==80.0km-11:00松本IC====須坂長野東IC===91km–五味池破風高原(山小屋に宿泊)

五味池破風高原

2026/7/27(月) 五味池破風高原==渋湯温泉=地獄谷野猿公苑==志賀高原=熊の湯=草津白根==万座温泉=嬬恋高原=つまごいパノラマライン=菅平=須坂==五味池破風高原

五味池破風高原

2026/7/28(火)五味池破風高原7:00==駒ヶ根==天竜峡==馬籠宿=妻籠宿==恵那市 恵那はなれの宿

恵那はなれの宿

2026/7/29(水) 恵那8:30==中央道==土岐JCT=東海環状自動車道=豊田東JCT==第二東海自動車道==名古屋南JCT==伊勢湾岸自動車道==四日市JCT==新名神高速道路=====16:30広島

徳島から広島に

徳島駅から特急うずしお(ジーゼルカー)

徳島での仕事は思いのほか早く終わった
今回はメンバーなので取りまとめ役は無いので気が楽だ
少し早い便に予約を変更するが。1時間に1本の特急は出たばかり・・・徳島駅で1時間ほど時間をつぶす
今回は予約はe5489でチケットレスで予約していたが、徳島駅ではICカードは使えない、仕方がないので発券したら、予約変更前の特急券が発行されていた、しばらく気が付かなかったが、席がブッキングしていて気付いた・・・2重購入になっていたので、車掌さんに説明して払い戻しにはできるようになったが、広島のみどりの窓口では1時間以上待たなくてはいかないので、精算せずに帰宅

高知から徳島に

徳島駅の周辺を歩く

高知での仕事が終わり、徳島までは車で送ってもらった
公共交通機関だと、高松をまわっても3時間半はかかる
車だと2時間半ほど、早く徳島のホテルに到着できた
少し、駅の周辺を歩いてみるが、食にの良さそうなところはないので、コンビニで購入となる

墓参り

墓を掃除して花を入れて・・・暑い
週末からのキャンプ道具を詰め込み

内部監査支援システムの構築

LLM(AI)に対するセキュリティ対策

AIに監査の内容を検討依頼するにはセキュリティの観点から、固有名詞等は排除しなくてはならない
固有名詞辞書を作成して、入力後チェックが行われるようにするが、まだ色々と誤検知が多いので修正

  • 工種辞書(一般的な工事種別のストップワード化)、建設業の一般工種は固有名ではない。stopwordsに追加:PC杭打工事, 杭打工事, 杭工事, 土工事, 鉄筋工事, 型枠工事, 躯体工事, 仮設工事・・・・
  • 関係節ガード:名前部分に連体修飾の接続語が含まれる場合は名称でなく説明文なので検出しないに関する|に係る|を伴う|における|についての|に対する(例:「騒音に関する工事」「振動を伴う工事」は非検出)
  • 接頭辞の反復剥がし:検出語の先頭から以下を繰り返し除去し、残りが工種辞書・stopwordsに一致すれば非検出とする(例:「各工区の土工事」→「各」除去→「工区の」除去→「土工事」=工種辞書→非検出)
パターン照合には原理的な精度限界があるため、確度に応じて扱いを分ける:
  • ブロック級(修正しないと先に進めない。従来通り):
  • 会社形態(株式会社/㈱等)、敬称付き人名(〜さん/氏/様)、識別子(認証番号等)、動的辞書・user_stopwords外のラベル由来一致
  • 注意級(黄色ハイライト+「固有名の可能性。問題なければそのまま進めます」。
    クリック不要で続行可能):
    工事名catch-all、作業所/建物、地名系(市/川/駅等)、役職付き人名、部署系

ハイライト色を分け(赤=ブロック級、黄=注意級)、注意級のみの場合は次へ進むボタンを有効のままとする。metrics.jsonlに「注意級を残したまま進んだ件数」を記録(実運用での注意級の妥当性評価用)。
v1.1の「一般名称として許可」ボタンは両級で引き続き有効。

待ち時間UX(API呼び出し中の表示)

全API呼び出し(/api/clarify, /api/factdraft, /api/candidates, /api/generate)に:

  • ボタンを即時無効化+スピナー表示(二重送信防止)
  • 段階メッセージを表示: 例
    candidates: 「類似事例を検索しています…」→(API送信後)「条項を判定しています…」
    factdraft: 「事実文を作成しています…」
    generate: 「指摘文案を作成しています…」
  • 経過秒数を小さく表示(「(12秒)」)
  • 可能なら /api/generate と api/factdraft はストリーミング応答(SSE)で文章を逐次表示する。実装が重い場合はスピナー+段階メッセージまでで可(その場合はREADMEに今後の課題として記載)
  • タイムアウト(120秒)時は再試行ボタンを表示

ひろしまみなとマルシェに 内部監査支援システム開発

朝は元宇品に散歩に行き、帰りにひろしまみなとマルシェに寄ってみる・・・炎天下の下、出店している人たちには脱帽ものです・・やはりお客は少なく営業的には苦しい・・・よしろう農園でしばらく雑談して帰宅、シャワーを浴びたらもう昼食
帰って月下美人を見ると昨晩に咲いていた・・残念見ることができなかった

ひろしまみなとマルシェでVFKさんとキク

内部監査支援システム開発

内部監査の指摘では、監査員の力量に左右されて的確な条項に基づく指摘が出来ていないのが実情である・・・今回、力量の不足をAIによって支援するシステムのモデルを構築する・・以下の課題は2点がメインだが、TAMの監査指摘4年分をデータ化し構造化することによって支援の形態が現実的に見えてきた

  • AIに情報を渡すが、その情報が漏洩リスクとならないために、固有名詞などを送らせない
  • 具体的な支援方法について、イメージが具体的にならない
内部監査システム構築のためのステップ
  • STEP 1-1: 事実メモを箇条書きで入力(固有名チェックあり。通らないと進めない)
  • STEP 1-2: AIが事実の不足を質問(最大3問×2ラウンド。スキップ可)
  • STEP 1-3: 対話結果から事実文を自動文書化 → 監査員が修正・確定
  • STEP 2: 条項候補Top-3+境界注記 → 選択または手入力
  • STEP 3: ランク選択 → 指摘文案生成 → 修正
  • STEP 4: 確定 → 事例DBに蓄積(次回のAI参照例に自動反映)
これまでに構築したもの
  • [TAMの審査記録xlsx 4年分をデータ化してサンプルとする] : audit_case_extract(抽出+三段匿名化: パターン/辞書/ローカルLLM検査)
  • [匿名化済み事例DB cases.csv 388件] :clause_bench(条項マッチング実力測定)
  • [実測: ゼロショット85.5%/適合性系93.8% → RAGで88.1%・混同半減] :検討結果書(二層アーキテクチャ: 規格層=共通/流儀層=組織別)
  • [audit_assist_proto(動くプロトタイプ)] :事実引き出し対話 → 匿名化ゲート → 条項候補 → 人間確定 → 事例蓄積(自己学習)
主要な実測値(仕様書の根拠数字)
  • 条項マッチング(Top-3実務粒度): ゼロショット全体85.5% / 適合性系93.8%
  • 粒度規約+TAM事例RAG(v2b): 全体88.1%、最大混同ペア(8.1↔6.1.2)半減
  • ランク別定型句の対応(388件分析): 改善の機会=「推奨します」、観察事項= 「検討の余地があります」が相互汚染ゼロの完全分離 → 文章生成テンプレートに採用
  • 適合性系(観察事項・懸念領域・改善指摘)と意見系(改善の機会・充実点)の 2群構造を確認 → ランクはAIが当てず、2分類推定+監査員選択の設計に
実地試用の状況と次回のTODO

済み: 2022年審査データで10件試用・・「力量ある監査員には良い指標」との評価・・記録済みデータ: confirmed_cases.csv・metrics.jsonl に実データ10件保持
次回確認すること:

  • v1.1修正の適用確認(重要): v1.2完了報告にv1.1(過剰検知修正・許可ボタン・ ランク2分類化)の適用言及がない。「建築部」「工務課長」「2件の作業所」が ブロックされないか確認し、未適用ならv1.1指示書を先に適用させる
  • 採用率18.2%の原因調査: 体感(「非常によくできている」、明確な条項誤りは1件)と 記録上の採用率18.2%が大きく乖離している。候補カードをクリックせず手入力で 条項を入れる操作習慣だと、候補が正しくても「手入力=不採用」と記録される。 metrics.jsonlの確定条項の生値と候補を突合し、指標定義の問題か候補品質の問題かを 切り分ける(次回セッションでmetrics.jsonlをアップロードすれば分析可能)
  • 1.2の意地悪テスト: 最低品質のメモ(「・教育記録を確認 ・不十分」)への AIの質問が、TAMが新人に返す問いと一致するか 試用を10〜20件継続し、指標の推移を観察
▶この続きを見る・・・・

暑い朝の散歩 ローカルLLM(Ollama)の構築

朝から纏わりつくような暑さ、キクも暑い

ローカルLLM(AI)の構築

ローカルLLMとして、Ollamaを選択、ローカルでOpenAI互換APIを提供、Laravelから通常のAPI呼び出しと同じ形式でローカルLLMを叩ける
インストールするWindowsPCは、・マザー ASUS ROG STRIX B550-A GAMING、CPU Ryzen9 3950X(16C32T 3.5-4.7GHz)、メモリ DDR4 PC4-28800 3600MHz 2✕32GB=64GB、グラフィックボード GeForce RTX™ 4070 Ti、M.2SSD PCle4.0 NVMe M.2 Kingston KC3000 1021GB、 PCIe Gen 4.0 x4 70000MB/Sで、GPUが少し不足気味だが、Ollama Qwen2.5 14B (Q4量子化 約9GB)が動きそうなのでインストールして試行する

Ollama本体のインストール

https://ollama.com/download/windows からOllamaSetuo.exeをダウンロード 実行してインストール、インストール後、Ollamaは常駐サービスとして起動します(タスクトレイにラマのアイコン)

NVIDIAドライバの確認

nvidia-smiを実行して、ドライババージョンとRTX 4070 Ti、VRAM 12288MiBが表示されればOK

モデルの取得と実行

ollama pull qwen2.5:14bをダウンロード完了したら、ollama run qwen2.5:14bで起動して、プロンプトから質問できる

GPU配分の確認

ollama psと入力して、OROCESSORが100%GPUとなっているので、VRAMに全部納まっている

API経由での動作確認(サーバ連携の予行)

Ollamaは自動的にhttp://localhost:11434でAPIを開いているので、Laravelから叩く検証ができる

月下美人とエスティマ整備

4年ぶりに月下美人の花が咲きそう・・冬に枯らしてしまってから、初めて復活

キクを散歩させて、眼医者に行き、青崎で気になっていたパン屋でモーニングを頂き、エスティマのオイル交換をする・・・7月末の信州旅行の準備

エスティマのオイル交換をする

YouTubeのお勧め画面に、フランク・チャックフィールドの引潮があり、久しぶりにクリックして視聴、波の音とカモメの鳴き声、そして聞きなれたメロディ・・この曲は、中学1年の時に、父が初めてビクターのステレオを購入したとき、おまけで付いていたサンプルレコードに収録されていた曲、はじめて水主町にあった我が家でステレオを味わった

▶この続きを見る・・・・

Jeepの車検

甲斐犬のキク・・タヌキ?と遭遇
J58 Jeepの車検 今年も無事に終わりました

今朝も暑い、キクを連れて元宇品を散歩、キクはタヌキを見つける・・・走りすぎてバテてました・・・午前中に、J58の車検に、無事に終わって、今回はブレーキオイルを入れ替えたので¥5万程、昼からNGIさんが訪ねて来て久しぶりに雑談

会社概要登録画面を刷新
マネジメントシステム登録画面をモーダル化
▶この続きを見る・・・・

日赤の定期診断 CodeX(GPT-5.6 Sol)

今日は3か月ごとの定期診断と栄養指導で、広島日赤病院に朝から、血液を採取して診断、前回は血糖値が悪かったが、今回は改善していた・・夕食を減らして、体重を2㎏程減量した効果が出たようだが、クレアチンは少し高くなっていた・・まあ、ほとんど体調は変更なしということか

日赤での定期診断 病院にスターバックスがある  血糖値が改善した

帰ってから、ログイン画面から会社概要への遷移が気に入らなかったので、修正して、会社概要ページを大幅に修正する・・ここに内部監査の計画及び実施状況をまとめる予定で、スペースを開けておく

会社概要のページを変更

Claude Fable5の試用期間が20日まで再び延長となった・・・OpenAIのGPT5.6のリリースで競争が激しくなった結果のようだ・・・GPT5.6はSol / Terra / Lunaのクラスがあり、Solは、Claude Fable5と同じ性能のようだ、GPT5.6のCodexはコーディング作業を支援する製品・エージェントという位置づけが明確になり、Claude Codeのプラグインとして使用できる
Claude Code(要件整理、設計、実装、リファクタリング)
Codex(セキュリティレビュー、バグ検出、性能改善)
さっそくClaude CodeにcodeX 5.6 solをプラグインで使えるように、指示してインストールを任せて、それと同時にChatGPTを無料版からPlusの有料版に切り替え、Claude CodeへのCodeXプラグインの設定は、便利なのもので調べる必要はなくすべてClaude Codeが以下のように実施してくれる

  1. Codex CLI更新: 0.130.0 → 0.144.4(GPT-5.6対応版)
  2. config.toml設定: C:\Users\syste.codex\config.toml の先頭に2行追記、model = “gpt-5.6-sol”、model_reasoning_effort = “medium”
  3. 既存の設定(プラグイン・trust設定)は無変更です
  4. 動作確認: テスト実行でヘッダーに model: gpt-5.6-sol / OpenAI Codex v0.144.4 を確認し、正常に応答が返りました

Claude Codeのcodexプラグインはモデル未指定時にconfig.tomlのデフォルトを使うため、今後 /codex:rescue やレビュー依頼はすべてSolで実行されます。推論の深さを変えたい場合は model_reasoning_effort を low / high に変更できます。

/codex:rescueメインの依頼コマンド。調査・修正・実装タスクをCodex(GPT-5.6 Sol)に委譲
/codex:review現在の変更をCodexにレビューさせる
/codex:adversarial-reviewより厳しい敵対的レビュー
/codex:status実行中ジョブの状況確認
/codex:resultバックグラウンドジョブの結果取得
/codex:cancel実行中ジョブの中止
/codex:setupCLI接続確認・設定

普段使いは /codex:rescue に続けて依頼内容を書くのが基本です。例:/codex:rescue 工程表の印刷でヘッダーがずれる原因を調査して
また、コマンドを打たなくても、会話の中で「これはCodexに調査させて」「Codexで直して」と指示してもらえれば、こちらからCodexエージェントを起動して結果を報告します。どちらでも同じSolが使われます

キクと散歩 工事一覧の変更

体が少し重い 今日はみなと公園で軽くキクを散歩させる

システムログインでは、最初に会社概要に遷移し、工事一覧と進んでいたが、最初に工事一覧へ遷移するように切り替え、工事一覧のデザインを変更して、工事のサムネイルが表示されるようにした・・・バタバタと変更するが、じっくり見るとボタンの配置が雑多なので、少し変更することにする

五日市埋立で散歩

五日市の埋め立てでキクを散歩
昼食はボンベイで、ここはナンが美味しい
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側で失効済み



元宇品の森を歩く ユーザー管理の検証

元宇品の森を歩く

ユーザー管理検証

1.ユーザー管理・基盤是正の検証とリリース

今回反映された機能

  • パスワードリセットのレート制限復活
  • ログの日付別ファイル化(info・30日保持)※本番.envも書き換え済み
  • パスワード強度10文字以上・英数字必須(日本語エラー)
  • ユーザー無効化(is_active)+ログイン中セッション即時遮断
  • 認証ログauth_logs(ログイン失敗・ロックアウト・無効化ブロック)
  • 仮登録トークン72時間二段期限(承認時再セット)
2.検証中に発見・修正したmain由来バグ(3件)

検証したからこそ見つかった、以前から存在した問題:

  • 新IPログイン通知メールが未捕捉 — メールサーバー障害時、初IPユーザーが全員ログイン500になるリスク → try-catch+警告ログ化
  • 本登録リンクの無効/期限切れメッセージが非表示 — redirect(‘/’)経由でメッセージが捨てられていた → ログイン画面のメール欄下に表示
  • パスワードリセット画面のルート喪失 — 「パスワードをお忘れですか」リンクが非表示になり機能の入口が無かった → ルート復活(既知テスト失敗も1件解消)
3.追加実施
  • 認証まわりの日本語化: リセット画面・リセットメール本文・ログイン失敗/ロックアウトメッセージ(lang/ja.json・passwords.php・auth.php新設)
  • パスワード変更専用ページ: 既存の/profileが導線ゼロで放置されていたのを発見。パスワード変更専用に改修し、ヘッダー右上に「PW変更」ボタンを設置。自己退会・自己情報変更はルートごと廃止(405)し、管理者経由+is_active無効化運用に一本化
4.検証で手間だった点と今後の改善
  • メール確認: Mailtrap接続切れ→MAIL_MAILER=log化→メール本文がLOG_LEVEL=infoで消える、と二段のハマり。今後はローカル検証開始時にstorage/logs/mail.logの動作確認を最初にやる
  • 「操作したつもりが反映されていない」事例が2回(更新ボタン未押下・ログイン済みウィンドウでのログイン試行)。検証はDBの記録とセットで確認するのが確実(今回はその方式で全件裏取りした)
  • 419/500エラーは検証の中断ポイントになった。今後の検証手順書には「必ずCtrl+F5してから操作」を明記する
5.残課題(別起票)
  • 既知テスト失敗5件(logout外部リダイレクト・パスワード確認・registration無効化×2・トップ302)
  • script-srcの’unsafe-inline’除去(別フェーズ)
  • フェーズ1候補: login_successのauth_logs統合・activitylog・SoftDeletes・uncompromised()・2FA
テスト基準(今後の比較用)

92パス / 5失敗(失敗はすべて上記の既知5件)。mainは 8e3b354

VFKさんが来る 建設アシスト 品質・セキュリティ改善 総括

朝は京橋川を散歩させて、シャワーを浴びて五日市の病院に、帰りに元宇品の森でキクを散歩させていたらVFKさんから電話、昼は近くの『はる』でお好み焼きを食べて、晩秋には北海道へJeepでキャラバンすることで盛り上がる・・・夕方に、贈り物がしたいということなので、洋酒の酒店に行く、ウイスキーが好みだそうで2種類を購入、TAMにも一本贈り物として頂いた

朝は甲斐犬のキクを京橋川で散歩 夏の日差しが暑い

建設アシスト 品質・セキュリティ改善 総括

1.目的

建設アシストは、現場マネジメントDXの実践アプリケーションで、本プロジェクトの目的は以下の3点

  • 大手組織のセキュリティ審査に耐えるシステムにする 複数テナント(会社)が同居するSaaSとして、テナント間のデータ分離を構造的に保証する
  • AIに投げる情報の管理と漏洩リスクの低減 工事情報・現場情報をAI APIに送信する以上、何をどう送り、何を記録するかを一元的に管理できる構造にする
  • 今後の機能追加に耐える保守性の確保 一人開発で継続的に機能を追加していくため、重複コード・デッドコードを排除し、「1箇所直せば全体に効く」構造を作る
2.出発点の課題(Fable 5による全体検証の結果)

セキュリティ(フェーズ1)

  • Critical 7件・High 12件。中心はIDOR(他社データへの越境アクセス)で、工程表・安全パトロール・RA・施工計画書の主要機能に集中していた
  • テナント分離がコントローラの手動認可(authorizeProject)に全依存しており、
    1箇所の実装漏れがそのままデータ漏洩に直結する構造だった
  • 当時の評価:「現時点では大手組織のセキュリティ監査に耐えられない」

保守性(フェーズ2)

  • AI呼び出しが8箇所に散在し、URL・タイムアウト・エラー処理がコピペ重複
  • 工程表のJS約4,100行がBladeにインラインで埋め込まれ、CSP強化の障害に
  • テナント設計が未完了のモデル(company_id未設定)が多数
  • デッドコード(未完成のWord/Excel出力サービス、旧版施工計画書、孤立したAIサービス等)が大量に残存。

バグ(フェーズ3)

  • 確定バグ14件。空CSVで法規制マスタが全削除される致命的バグ、工程表の無限ループ、祝日計算誤りによるCPMの1日ズレ等
  • トランザクション欠落が主要機能に多数(途中失敗で中途半端なデータが残る)
  • 同時編集の保護が皆無(後勝ち上書きで先の編集が無警告で消える)。
VFKさん、久しぶりにJeepで
アイリッシュウイスキー バスカー シングルモルト
▶この続きを見る・・・・
  • 2026年8月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31