Development postmortem / 2026-10-31
自動遮断機能の開発・断念の記録
Automatic blocking: development and decision to stop
公開記録日:2026年10月31日 | 対象:Local AI Audit Platform / AutomaticDefense
Record dated October 31, 2026 | Local AI Audit Platform / AutomaticDefense
不正な通信を見つけ、Windows Firewallと連携して自動的に止める仕組みを目指した開発で、何が起き、どこまで直り、なぜ断念したのかをまとめました。
What went wrong while building monitoring and automatic traffic blocking with Windows Firewall, what improved, and why the developer stopped pursuing automatic blocking.
先に結論
The main conclusion
2026年10月31日、自動遮断機能の開発を断念しました。約20日間の修正と検証を繰り返し、8回目の検証用ISO(r8)の作成まで進みましたが、実際の通信を自動で止められたという証拠は得られませんでした。監視アプリ全体を放棄したという意味ではありません。
Development of the automatic blocking feature was stopped on October 31, 2026. About 20 days of repeated revisions led to an eighth test ISO (r8), but no evidence showed that automatic blocking actually stopped live traffic. This does not mean the entire monitoring application was abandoned.
一部のプログラムは起動し、テストに合格し、修正も行われました。しかし必要だったのは、対象の通信だけを遮断し、関係ない通信は通し、解除すると通信が戻ることまで確かめる試験です。そこには到達できませんでした。
Parts of the system ran and passed scoped tests. The missing demonstration was to block the chosen traffic, preserve unrelated connections, and restore the blocked traffic after removing the rule.
記録上の注意:本ページは提供された報告書を要約・再分類したものです。失敗・停止・未実施・未確認を区別し、アプリの不可能性や実際の攻撃被害を断定しません。
Evidence note: This is a synthesis of supplied reports. Errors, deliberate stops, unperformed tests and unknown results remain distinct. It does not establish technical impossibility or an actual attack.
この開発で実現したかったこと
The intended behavior
- 通信や動いているプログラムを観測する。
- 不審かどうかを判定する。
- 必要な場合にWindows Firewallへ遮断ルールを登録する。
- 本当に通信が止まり、解除すると戻ることを確認する。
- Observe traffic and the responsible process.
- Decide whether the activity is suspicious.
- Apply a blocking rule through Windows Firewall when justified.
- Verify real blocking and recovery after removing the rule.
Windows Firewall=Windows標準の通信制御機能。ルール=どの通信を許可・拒否するかという設定。実際のルール登録と通信停止は、単体テストだけでは証明できません。
Windows Firewall is the built-in Windows traffic filter. Rules allow or deny selected traffic. A unit test alone does not prove the OS applied a rule or blocked packets.
項目から読む
Jump to a section
- 開発の経緯
- Development timeline
- 追補:10月13〜18日の記録
- Oct 13–18 addendum
- 初期監査で見つかった18項目(10月7日)
- 18 initial audit findings (October 7)
- 監視アプリの停止・通知・性能の問題
- Monitoring app, notifications and performance
- AutomaticDefenseで起きたこと(10月21日まで)
- AutomaticDefense evidence and VM setup (through Oct 21)
- 安全確認の停止と未完了の検証(10月22〜25日)
- Safety-gate stops and unfinished tests (Oct 22–25)
- 10月30〜31日の停止と修正(17件の報告を整理)
- Oct 30–31: 17 recorded issues and outcomes
- 最後に何が残ったのか
- Final outcome and limits
開発の経緯
Development timeline
複数の資料で対象期間や環境が異なります。以下は日付順の概要であり、同じ仮想マシンで連続して成功したという意味ではありません。
The reports cover different dates and environments. This sequence does not mean every stage succeeded in the same VM.
- 10月7〜10日:監視基盤の不具合を発見・修正:監査でHigh 3件、Medium 10件、Low 5件を整理。SQLiteの競合で画面ごと終了する問題が再発し、10日に修正後の復旧報告がありました。
- Oct 7–10: Monitoring defects and recovery: An audit recorded 3 high, 10 medium and 5 low findings. SQLite lock errors repeatedly stopped the UI; recovery was reported on October 10.
- 10月13〜16日:Auto90と試験環境のつまずき:署名付きSYSTEM実行に失敗し、v2の名前衝突を修正。WindowsとUbuntuのVM間HTTP通信には成功しましたが、90点遮断・解除は未実施でした。
- Oct 13–16: Auto90 and VM setup: A signed SYSTEM probe failed and an alias collision was corrected. Normal HTTP connectivity succeeded, but threshold-based blocking/release was not verified.
- 10月16〜18日:監視・移行・UI修正:サービス設定とSecurityログの読取り権限、旧Auto90移行停止、開発・運用ファイル差、画面更新と実効設定表示を改善。10月18日の132件合格は開発版の結果です。
- Oct 16–18: Monitoring, migration and UI: Permissions, legacy migration checks, source/deployed file mismatch and settings UI issues were documented. The 132 passing tests concerned the development build.
- 10月21〜22日:自動遮断の実証準備と監視の未達:隔離したWindows・Ubuntuの仮想マシンで環境を整備。正式な防御プログラムのOFF稼働は確認しましたが、遮断は未実施。通知表示やメモリ使用量にも未達が残りました。
- Oct 21–22: Test lab setup and limitations: The Windows/Ubuntu test VMs were prepared and the official defense service was observed running while OFF. Blocking was not tested; notification and memory criteria remained unmet.
- 10月23〜25日:安全確認の仕組みを繰り返し修正:失敗結果の保存、DNS候補、証跡の有効期限、仮想NIC、永続経路の判定などが準備を停止。r2〜r5は改善が報告され、r6は修正指示段階でした。
- Oct 23–25: Repeated safety-gate revisions: Preparation stopped on missing error records, DNS checks, evidence expiry, virtual adapters and persistent routes. r2–r5 had reported improvements; r6 was only instructed at the cited handoff.
- 10月27日付のr8検証媒体:作成まで:WatchdogとStatusの競合に対する限定修正、42件のテスト合格、r8 ISOの作成と整合確認が報告されました。しかしr8をVMへ適用した記録はありません。
- r8 test image dated October 27: A Watchdog/Status fix, 42 passing scoped tests and a built/checked r8 ISO were reported. Application of r8 to a VM was not documented.
- 10月30〜31日:権限と更新の停止を経て断念:ACL・SYSTEM権限の問題を修正し、31日11:26には新しい保護領域への移設が成功。一方、11:53の旧VM更新は追加ファイル不足で停止し、L実通信試験は完了しませんでした。10月31日に開発者が自動遮断の断念を表明しました。
- Oct 30–31: Migration, blocked test, decision to stop: ACL/SYSTEM issues were addressed and migration to a protected location was reported successful at 11:26. A legacy VM update failed at 11:53 due to a missing new file; the live-traffic L test was never completed. The developer stated the decision to stop on October 31.
初心者向け用語:VM=仮想マシン(PCの中に作る検証用PC)。ISO=検証用のプログラムなどをまとめたディスクイメージ。
Beginner terms: VM means a virtual machine, an isolated test computer. ISO means a disk-image file used to package test software.
追補:10月13〜18日の記録
Addendum: records from October 13–18
従来の資料ではこの期間を「10月30日以前」と一括していましたが、新しい記録で出来事の一部が分かりました。10月11〜12日・19〜20日は日別ログを確認できず、「問題がなかった」とは判断しません。
Earlier summaries grouped this period vaguely. New reports establish some dated observations. Missing daily logs for Oct 11–12 and Oct 19–20 do not mean nothing happened.
- 10月13〜15日:Auto90の署名付き実行検証:PowerShellの実行制限、既存3タスクの異常終了、v2の関数名衝突、コードの承認記録・XML照合の不足が記録されています。
- Oct 13–15: signed Auto90 probe: Execution policy, task failures, alias collision and integrity-check gaps were documented.
- 10月15〜16日:仮想マシンを使う通信準備:WindowsとUbuntuのVM構築で停止・入力ミス・soft lockupが発生。その後pingやHTTP通信は確認したものの、Auto90の90点遮断と600秒解除は未実施でした。
- Oct 15–16: VM communications: Connectivity tests passed after setup issues, but real Auto90 scoring/blocking/600-second release did not.
- 10月16日:一部のWindowsサービス設定を読めない:Persistence MonitorがMcmSvcの設定でAccessDeniedを報告。未観測箇所を正常表示にせず、収集エラーとして残しました。
- Oct 16: service configuration access denied: Persistence monitoring could not read one service setting; the gap was reported as an error.
- 10月17日:旧Auto90の移行を停止:古いタスクや監視処理との衝突を避けるため複数の移行試行が事前停止。監視の復帰記録はありますが、全工程の移行成功を示すものではありません。
- Oct 17: migration halted: Migration checks prevented conflict with legacy tasks; overall migration success was not established.
- 10月17日:Securityイベントログの権限不足:WorkerがSecurityログにアクセスできず、UIの権限説明を改善。権限追加や本番取得成功は確認されていません。
- Oct 17: Security event log permissions: The worker lacked required reading rights; UI disclosure improved but permission changes were not proven.
- 10月17日:開発側と運用側の版が不一致:承認済み83ファイルのC側統合などが報告されましたが、それだけでD側の実Firewall動作を証明したことにはなりません。
- Oct 17: development/production mismatch: 83 approved files were integrated on the development side; production firewall operation was not established.
- 10月17〜18日:設定と画面の表示を改善:設定値と実効値を分け、入力中に画面が更新される問題を対処。10月18日の開発版では132件のテスト合格が報告されましたが本番適用は別です。
- Oct 17–18: UI and settings fixes: Stored vs effective settings were separated; 132 development tests passed without proving deployment.
- 10月20日に言及された監視制限:後日の資料で10月20日付レポートが参照されますが、当日の実行ログを直接確認したとは言えません。
- Oct 20: cited monitoring limits: A later report references dated documents; it is not direct proof of that day’s live results.
出典の注意:10月11〜20日の追補PDFは、16・17・20日付の資料名を後日の報告で参照した「間接確認」を含みます。一方、新たに提出されたAuto90資料には13〜15日の具体的な記録があります。各PDFの確認範囲を区別して反映しています。
Evidence note: The short Oct 11–20 addendum cites some documents indirectly, while new Auto90 reports contain dated Oct 13–15 details. Different source cutoffs are preserved.
初期監査で見つかった18項目(10月7日)
18 initial audit findings (October 7)
以下は報告書のHigh 3・Medium 10・Low 5を一行ずつ記録したものです。修正報告と、実機での個別受入れは同じではありません。
These are the three high, ten medium and five low findings. Reported fixes do not establish individual live-system acceptance.
- H1 未通知イベントの削除:送信が確定していない警告まで古い履歴として消す危険があり、保存済みの位置より先を消さない方式に修正報告。
- H1 Deletion of undelivered events: Old-event cleanup could delete alerts before durable delivery; the reported fix preserved uncommitted alerts.
- H2 Workerの生存を監視成功と誤認:プログラムが起動していてもスキャン停止の可能性があるため、実際の開始・完了・結果を別に確認するよう修正報告。
- H2 Process alive did not mean scanning worked: A live worker could have stalled; scan start, finish and result were separated.
- H3 不完全起動を正常表示:画面・APIだけが起動しても正常扱いしないよう、必要なWorkerと新しい稼働記録を確認する方式に修正報告。
- H3 Incomplete startup shown as healthy: Startup checks were extended to required workers and fresh activity records.
- M1 通知経路の詰まりが見えない:監視自体の稼働と、通知を送る処理の進行を区別する報告。音が実際に鳴る保証とは別。
- M1 Notification pipeline stalls: Worker health and notification delivery progress were separated; this did not prove a sound was heard.
- M2 DB保存失敗後も処理済み扱い:通信イベントの保存に失敗した場合は、重複防止の「処理済み」印を進めない改善を報告。
- M2 Events marked processed before saving: Deduplication state was to advance only after successful database storage.
- M3 重要な警告が表示上限から漏れる:一覧100件などの制限より前に重要な警告を抽出する改善を報告。
- M3 Critical alerts hidden by list caps: Important alerts were filtered before applying list limits.
- M4 有名な名前のアプリを無条件に除外:名前だけで安全とせず、配置場所も一致する場合に限る方式へ変更報告。
- M4 Trusted names alone treated as safe: Exclusion criteria were narrowed to name plus expected location.
- M5 VSSコマンドの検出漏れ:PowerShellの引数に空白があると誤解釈する初版の問題が見つかり、r2で引数を保持する方式に修正。
- M5 VSS command parsing missed cases: An initial fix mishandled spaced arguments; r2 preserved argument boundaries.
- M6 通知ログの肥大化:通知記録が増え続けるため、容量と世代数に上限を設ける修正報告。
- M6 Unbounded notification logs: Size and rotation limits were reported.
- M7 壊れた比較基準を正常と見なす:監視の基準ファイルが破損しても正常な初回状態に置き換えない改善を報告。
- M7 Corrupt baseline silently reset: A damaged reference state would no longer be treated as a clean initial state.
- M8 DNS照会の滞留:名前解決処理がたまる問題に対し、動作中の照会数を制限する修正報告。
- M8 DNS lookup backlog: Concurrent DNS lookup work was bounded.
- M9 Firewall変更日時の誤解:監視で見つけた時刻を、実際の変更時刻や変更した人の証拠と混同しないよう表記改善。
- M9 Discovery time mistaken for change time: Firewall change discovery times were not presented as definitive modification times or authors.
- M10 二重起動の可能性:専用バッチから起動したWorkerが重複しないよう、共通の起動管理に寄せる修正報告。
- M10 Duplicate workers: Dedicated launch paths were aligned with common lifecycle locking.
- L1 仕様と実装の食い違い:バックアップ間隔や説明などの不一致を整理したと報告。
- L1 Specification drift: Timing and explanatory documentation were reconciled.
- L2 単体ZIPでテスト依存が不足:外部プロジェクトが無い場合だけ、理由を付けて該当テストをスキップする対応。
- L2 External tests missing from ZIP: Unavailable external-only tests were skipped with a reason.
- L3 閲覧だけでDBを初期化:状態を見るだけの診断コマンドがDBを変更しないよう読み取り専用に修正報告。
- L3 Diagnostic read mutated the database: Read-only diagnostics were separated from initialization.
- L4 壊れた基準の退避ファイルが増え続ける:退避履歴を残しながら保存世代数を制限する対応。
- L4 Unlimited baseline backups: Retention was bounded while preserving relevant evidence.
- L5 巨大なFirewall基準ファイル:過大な比較用ファイルを無制限に読み込まないようサイズ制限を報告。
- L5 Oversized firewall baseline files: Read/write size limits were introduced.
初心者向け用語:Worker=裏側で監視を行う処理。DB=記録用データベース。baseline=変更を比べるための基準状態。VSS=Windowsのスナップショット関連機能。
Beginner terms: Worker is a background monitor. DB is a database. Baseline is a reference snapshot; VSS is a Windows snapshot-related service.
監視アプリの停止・通知・性能の問題
Monitoring app, notifications and performance
これらは「自動遮断が成功したか」とは別に、監視側に起きた問題です。
These monitoring-platform issues are separate from proving automatic blocking.
- SQLiteロックでアプリが全停止(10月9〜10日):起動時の表作成確認が読み取り経路でも動き、最初の修正後も通常の書き込みで再発。書き込み失敗後のrollback不足などを修正し、10月10日に利用者が復旧を報告。最初のロック保持者は未特定。
- SQLite locks stopped the app (Oct 9–10): A read path ran schema work; later ordinary writes still hit locks. Rollback/error handling was improved, and recovery was reported October 10. The original lock holder was never identified.
- DB移行・WAL/SHM削除で過去履歴が不確か:開発側から運用側へのDB上書きコピーの可能性と、停止後のWAL/SHM削除を確認。DB本体の整合性検査はOKでも、過去イベントが全件残った証明ではありません。
- Database copying and WAL/SHM deletion: A possible database overwrite and deletion of sidecar files were recorded. Main DB integrity passed, but complete historical event preservation was not proven.
- サービスの説明欄取得で一覧が不完全:Persistence監視で一部Windowsサービスの説明を読めないため、一覧まで不完全扱いに。説明だけ欠ける場合を分離する改善を報告。
- Service descriptions broke a scan: One unavailable Windows service description could invalidate the scan; missing optional description fields were handled separately.
- 定期タスクの時刻変更が警告を連発:標準タスクの開始時刻だけが変わる事例で、重要な設定が同一なら通知を下げる候補版を作成。本番適用の確認はありません。
- Repeated alerts from scheduled tasks: A candidate revision reduced noise when only task start time changed; production application was not verified.
- 通信の正体が分からないだけで危険度が上がる:DNS OFFや短命プロセスによる情報不足を警告点数にしすぎたため候補修正を作成。危険な通信を無条件に許可する変更ではありません。
- Missing network metadata inflated risk scores: A candidate fix reduced alerting based solely on unavailable DNS or transient process data; it was not a blanket allowance.
- Event Logは5系統中3系統のみ取得:System・Defender・PowerShellは取得可能、Securityは権限不足、TaskSchedulerはログ無効。画面表示を「稼働・監視範囲3/5」と分けましたが、欠けたログが取得できたわけではありません。
- Only three of five Event Log sources available: System, Defender and PowerShell worked; Security was access-denied and TaskScheduler logging disabled. UI wording changed, not the underlying access.
- イベントIDと発行元の照合ミス:SecurityイベントID 1102の発行元(Provider)指定に誤りがあり、修正版r2を作成したと報告。
- Event ID matched to wrong provider: The provider used for Security event 1102 was corrected in a reported r2 revision.
- 画面の警告件数・5秒更新が誤解を招く:画面の99件などは全記録ではなく表示上限内の件数。古い警告が再表示されても、新しい通知が鳴った証拠とは限りません。
- Display counts and five-second refresh confused users: Counts such as 99 represented a limited view. Re-rendering an old alert did not prove a fresh notification.
- Toast通知が画面に表示されず(10月22日):送信関数は成功扱いでも利用者の画面に通知が現れず不合格。その後の「通知が来た」報告は対象イベントと照合されていないため、正式な受入れは未了。
- Windows Toast not visibly delivered (Oct 22): The send call completed but no toast appeared to the user. Later notification reports were not matched to the exact test event.
- メモリ535.67MB、初期上限300MBを超過:取得できた22個の関連プロセスのRSS測定値だけで初期目標を超過。SYSTEM側の3タスクは権限不足で未測定。CPU 1.1979%も製品全体ではありません。
- 535.67 MB measured against a 300 MB target: RSS from 22 measured processes exceeded the initial target. Three SYSTEM tasks could not be mapped; the 1.1979% CPU figure was also partial.
- 監視対象が一部欠ける・Backup未設定:Persistence・Network・Event Logに部分取得が残りました。バックアップ監視は保存先未設定で起動しませんが、これはバックアップを作成する機能ではありません。
- Partial sensors and unconfigured backup monitoring: Persistence, Network and Event Log had partial coverage. Backup monitoring had no configured path; it does not create backups itself.
初心者向け用語:SQLite=アプリ内のデータ保存庫。rollback=書き込み失敗時の取り消し。Toast=画面の端に出る通知。RSS=メモリ使用量の目安で、共有部分が重複計上される場合があります。
Beginner terms: SQLite is a local database; rollback reverses failed writes. Toast is a desktop pop-up; RSS measures resident memory and may double-count shared pages.
AutomaticDefenseで起きたこと(10月21日まで)
AutomaticDefense evidence and VM setup (through Oct 21)
防御の流れは「観測→自動判定→Firewallへ登録→通信が止まる」の4段階です。確認できた履歴は途中で止まりました。
The required path was observe → decide → apply a firewall rule → stop traffic. Available traces stopped before completing that path.
- 公開履歴20件で採点前に停止:取得できた20件すべてで対象プロセスの情報取得が例外となり、遮断判断へ進みませんでした。対象が既に終了したのか権限不足なのかは個別に不明。
- 20 accessible events did not reach scoring: All 20 accessible records failed process lookup before decision-making. Per-event causes such as exit vs permissions are unknown.
- 記録上の遮断失敗1件・成功0件:保存カウンターは失敗1・成功0。ただし失敗日時・対象・原因は不明で、20件と重複しているかも不明。
- Counter showed one failure and zero successes: Time, target, cause and overlap with the 20 observation events were unknown.
- 保護監査の閲覧でアクセス拒否:命令からFirewall適用までを記録で追い切れませんでした。権限を緩めて証拠を取りに行くことはしていません。
- Protected audit log was inaccessible: The trail from request to firewall application could not be checked; permissions were not weakened.
- 最初は安全な遮断テスト環境が不足:隔離通信相手、専用exe、元に戻す方法、正式防御経路が揃わず、実通信の遮断試験は始めませんでした。
- Safe test prerequisites were missing: Isolated peers, a dedicated executable, restoration plan and official defense path were initially incomplete.
- 仮想マシンの起動待ち・入力ミス:Windowsゲストはログイン待ち、Ubuntuはネットワーク待機。仮想キーボードの日本語配列で記号が化け、サーバー用コード作成が一度失敗しました。
- VM waits and keyboard mapping errors: Windows required login and Ubuntu was still starting. Keyboard layout differences corrupted symbols in a benign echo-server script.
- Pythonと正式防御プログラムが無かった:当初のpythonコマンドは実体のない起動エイリアスでした。その後Python本体・依存部品を正規導入し、OFF状態で稼働確認。
- Python and official components were absent: The initial Python command was only an app alias. Genuine Python and dependencies were installed later, with the defense service checked while OFF.
- PID終了後の再照会で「見つからない」:専用exeが動いている間は情報取得に成功し、終了後は当然見つかりませんでした。この例外は過去20件の原因の証明ではありません。
- A finished process could no longer be found: A live test process was identifiable, but lookup failed after it exited. This did not explain all historical failures.
- 通常TCP通信6回は成功、遮断試験は別:隔離VM間の普通の送受信6/6は確認しました。ただしFirewallによる停止と復元は実行されていません。
- Six normal TCP exchanges succeeded: Ordinary isolated VM traffic passed 6/6; this was not a firewall-blocking test.
- MSIインストール引数の誤り:日本語配列の入力でログ指定が崩れ、Python導入が終了コード1639で2回停止。引数修正後は導入に成功。
- MSI arguments were invalid: Keyboard-related option formatting caused two exit-1639 failures; corrected commands then installed successfully.
- 証明書登録のアクセス拒否:TrustedPublisher登録が初め失敗。正規手順でストアを作成・登録して解消しました。初回拒否の内部原因は未確定。
- Certificate import initially failed: A trusted-publisher store was created and the certificate registered by normal procedure; the initial denial was not fully explained.
- VMスナップショットは2%で中止:稼働中の復元点作成が進まず正規に取消。VM破損の証拠ではなく、導入後の新しい復元点は資料上未確認。
- Live VM snapshot stalled at 2%: The operation was canceled cleanly; this did not prove VM corruption. A post-install snapshot was not documented.
- startup_pending・補助センサーpartial:初回は起動途中、後続でAPI等のOFF稼働を確認。ただし補助情報は一部取得のままで、遮断成功は未証明。
- Startup pending and partial sensors: Later observations confirmed OFF-mode operation, but auxiliary coverage remained partial and no blocking was proven.
初心者向け用語:PID=動いているプログラムの識別番号。TrustedPublisher=署名した発行元を信頼するWindowsの登録先。TCP=通信方式の一つ。
Beginner terms: PID identifies a running process. TrustedPublisher stores trusted signing publishers. TCP is a basic network protocol.
安全確認の停止と未完了の検証(10月22〜25日)
Safety-gate stops and unfinished tests (Oct 22–25)
安全でないときに止まる仕組み自体は必要です。一方、安全な条件まで誤って拒否すると試験が先へ進めません。
A safe stop is necessary when conditions are uncertain, but false rejection can also prevent testing.
- 保護監査・SYSTEM権限と性能の欠測:強い権限で動くタスクのPIDに通常権限からアクセスできず、監視・CPU・RAMの全体像を測れませんでした。
- Protected audits and SYSTEM metrics unavailable: Ordinary privileges could not map SYSTEM task PIDs, preventing full monitoring and resource measurements.
- 古い試験資料と現行コードが一致しない:過去の試験対象と現行PowerShell実装が異なり、古いテスト合格だけでは現行版の合格根拠になりませんでした。
- Old tests did not match current code: Prior test artifacts differed from the current PowerShell implementation and could not be used as proof for it.
- 失敗JSONの保存先が無い:導入先フォルダーを作る前に停止すると、失敗した理由も記録できませんでした。r2で一時保存先へ退避するよう改善し、VMで失敗JSON取得を確認。
- Error JSON missing on early failure: If preparation stopped before creating the installation directory, even failure reports were lost. r2 added a fallback and a VM later retrieved the error report.
- IPv6 DNS候補3件を危険と判定:表示された候補DNSの件数だけで停止。r3は隔離・経路など厳格な条件を満たすときのみ例外を認める方式へ修正報告。
- Three IPv6 DNS candidates blocked preparation: A count-only check stopped testing. r3 reportedly permitted strictly checked default candidates under isolated conditions.
- 証跡の5分期限で準備時間切れ:人手の確認と転送に約753.635秒を要し、300秒の有効期限を超過。r5で600秒に変更し、初回証跡の検証124.144秒を確認。
- Five-minute evidence expiry disrupted setup: Manual preparation took about 753.635 seconds, exceeding 300. r5 raised the limit to 600 seconds and recorded a 124.144-second initial transfer/validation.
- 証跡の更新のみを独立試験できない:更新が正式導入工程と連動しており、古い証跡の再利用拒否などを実VMで単独実証できませんでした。
- Evidence refresh had no independent test entry: Refresh was coupled to the formal install flow; live-VM anti-rollback behavior was not independently demonstrated.
- WindowsのWAN MiniportもNICとして数えた:通信に使わない仮想アダプターがUpと表示され、接続用NICは一つのはずというガードが停止。r6修正指示は出ましたが、当該時点の完成は未報告。
- WAN Miniports caused an adapter-count false positive: Up-state virtual adapters triggered an overly simple single-NIC check. An r6 change was instructed but not confirmed complete at that handoff.
- 永続経路の0件と照会失敗を混同:IPv4/IPv6の個別照会が「該当なし」で停止した一方、全件照会は正常な0件でした。空とエラーを分けるr6修正が指示されました。
- Empty persistent routes treated as query failures: Per-family requests returned no-match errors while a successful unfiltered query returned zero entries. r6 was instructed to distinguish empty from failed.
- OFF12受入れ・L実証は未完了:正式OFFの安全条件を満たす確認と、遮断・無関係の通信維持・所有ルール解除・通信復元は最後まで一連で実証されませんでした。
- OFF12 and end-to-end L test incomplete: The OFF-mode acceptance criteria and blocking, unrelated-traffic preservation, owned-rule cleanup and recovery were not demonstrated together.
初心者向け用語:NIC=ネットワーク接続用の部品・仮想アダプター。DNS=接続先の名前をIPアドレスに調べる仕組み。証跡=その時点の条件を示す保存記録。
Beginner terms: NIC is a network adapter, DNS resolves names to IP addresses, and signed evidence records conditions at a specific point in time.
10月30〜31日の停止と修正(17件の報告を整理)
Oct 30–31: 17 recorded issues and outcomes
この17項目には実際のエラーだけでなく、後に解消した停止や未実施の試験も含まれます。
These 17 entries include errors, later-resolved interruptions and unperformed tests.
- 01 実通信の自動遮断を未実証:Firewall操作コードの限定テストがあっても、対象通信の停止・正常通信維持・解除後の復元は未合格。
- 01 Blocking never proven on live traffic: Scoped firewall code tests did not establish target blocking, unaffected traffic or recovery.
- 02 PowerShell 5.1のACL型変換が失敗:整数型を明示して修正。51件×4方式の204変換を限定確認しましたが、実環境の更新成功とは別です。
- 02 PowerShell 5.1 ACL conversion failed: Explicit integer conversion passed 204 scoped combinations; this was not a real upgrade test.
- 03 ACL復旧失敗と記録誤判定:復旧失敗の記録処理とJSON列挙による不一致誤判定を修正。訂正済み証跡ではACL 51件一致。
- 03 ACL restoration and misleading diagnostics: Error reporting and JSON enumeration were corrected; revised evidence matched all 51 original ACLs.
- 04 Ubuntu VMを操作できない:soft lockupや接続先不明、GuestControlセッションなしで通信相手を操作できず、L試験に進めませんでした。
- 04 Ubuntu VM could not be controlled: Soft-lockup warnings and unavailable remote-control sessions blocked the test server.
- 05 更新ファイルと実行中の版が別:新版をD側に置いてもSYSTEMタスクはC側旧版を参照。コピーと実行先切替を分けて扱いました。
- 05 Copied files were not the running version: The SYSTEM tasks still pointed to the old C: release despite newer files on D:.
- 06 C側親フォルダー権限の弱点:一般権限から親フォルダー経由の置換につながる操作が可能と判明。全ドライブの権限を変えず保護領域へ移す方針に。
- 06 Parent-directory permissions too permissive: A lower-privilege path could permit replacement via parent folders. A protected relocation was chosen instead of broad ACL weakening.
- 07 D側通常配置先も保護不足:SYSTEM実行コードを誰でも変更できる場所に置かないためD直下に専用保護領域を新設。移設後の変更試験12件は拒否と報告。
- 07 Ordinary D: directory was not protected enough: A protected location was created for SYSTEM scripts; 12 low-privilege modification probes were reportedly denied.
- 08 管理者でもMutex取得拒否:管理者とSYSTEMの権限差で拒否。保護を弱めず、署名済み移設処理を一時的にSYSTEMで実行する方式に変更。
- 08 Administrator could not acquire the mutex: ADMIN and SYSTEM privileges differed. The signed migration was adjusted to run via an authorized temporary SYSTEM task.
- 09 SYSTEM移設の途中停止と復旧未確認:旧タスク停止とコピー後に例外。原因未特定で復旧も成功確認できず。その後の別手順で11:26に移設完了報告。
- 09 Migration interrupted with uncertain rollback: An exception followed task stop and copy; rollback was not proved. A later migration completed at 11:26.
- 10 修正コマンド拒否とAI利用上限:コマンドが自動審査で拒否され、Codex利用枠にも到達。実行されていない指示を修正済みとは扱いません。
- 10 Review denial and AI usage limit: A command was rejected and an AI usage cap halted work; proposed commands were not counted as executed.
- 11 11:26に保護領域への移設成功:UI・API・8 Workerが稼働、SYSTEM 3タスク切替、実効OFF、製品所有Firewallルール0件と報告。ただし遮断試験は別。
- 11 Protected migration succeeded at 11:26: UI/API/eight workers and three SYSTEM tasks were reported operational, with defense OFF and zero product-owned firewall rules. Blocking remained untested.
- 12 11:53の旧VM更新で新規ファイル不足:旧版に無いshared/auto_defense_ui.pyを追加できず更新停止。OFF・所有ルール0件で安全に終了し、L試験は未実施。
- 12 Legacy VM upgrade missed a new file at 11:53: The upgrade could not add shared/auto_defense_ui.py; it stopped safely with defense OFF and no owned firewall rules.
- 13 自動遮断を見送り、確認型UIを検討:通知後に利用者が許可・遮断を選ぶ案を検討。ただし設計案段階で、完成・導入を示す証拠はありません。
- 13 Human-confirmation UI considered: A prompt-based permit/block alternative was considered, not shown implemented.
- 14 Streamlitの入力値二重指定:Session Stateとvalueを重複指定した警告を修正。17:27の起動ログには同じ警告はなく、UI終了の直接原因だったとは未確定。
- 14 Duplicate Streamlit widget values: Duplicate value/state initialization was fixed. The warning was absent in the later startup log; it was not proved the cause of earlier UI exits.
- 15 修正ファイルのダウンロード失敗:ChatGPTのファイル配布画面で受け取れず、別名で再配布。アプリ本体の故障とは区別します。
- 15 Patch download failed: A delivery/download failure was resolved by redistributing the file under another name, distinct from a product fault.
- 16 Backup監視は保存先未設定:監視すべきバックアップのパスが指定されず監視が起動しませんでした。自動バックアップ作成機能の故障ではありません。
- 16 Backup monitor lacked a configured path: No folder had been set for monitoring; this did not imply the app was supposed to create backups.
- 17 Persistence収集エラー1件:17:27のログでcollection error_count=1。画面・APIが動いても内部監視のすべてが成功したとは言えず、原因未特定。
- 17 Persistence collection error remained: At 17:27 one collection error was logged. A responsive UI/API did not prove every sensor succeeded; the cause remained unknown.
初心者向け用語:ACL=ファイルのアクセス権限表。SYSTEM=Windowsの高権限の実行主体。Mutex=同じ処理の二重実行を防ぐ仕組み。HTTP 200=Web APIが応答した状態であり、全機能の合格ではありません。
Beginner terms: ACL is the permission list; SYSTEM is a privileged Windows identity; mutex prevents overlapping tasks. HTTP 200 indicates an API response, not total product correctness.
最後に何が残ったのか
Final outcome and limits
2026年10月31日の断念表明を、技術上の「絶対に実現不可能」という判定とは区別します。
The October 31 decision to stop was not a proof that automatic blocking is impossible.
- 成功・進展が報告されたこと:監視・APIの稼働、10月10日の復旧報告、通常TCP通信、限定テスト、一部ACL修正と安全な移設、r8 ISOの作成など。
- Reported working elements: Monitoring and API operation, October 10 recovery, ordinary TCP tests, scoped tests, some ACL/migration corrections and r8 image creation.
- 実証できなかったこと:自動判断からWindows Firewall登録を経て実際の通信を遮断し、正常通信を守り、解除後に復元する一連の試験。r8の実VM適用、正式OFF12の受入れも未完了です。
- What was not proven: Automatic decision through Windows Firewall application to actual blocked traffic, unaffected connections and post-removal recovery. r8 VM application and OFF12 acceptance also remained incomplete.
- 断念の理由:修正とVM検証を約20日間繰り返しても受入れ完了へ到達できず、開発の負担と他の制作活動への影響が大きくなったため、開発者が自動遮断の実現を断念しました。
- Reason for stopping: About 20 days of repeated fixes and VM verification did not produce final acceptance. The developer stopped pursuing this capability due to the cost and disruption to other work.
- AIによる検証条件について:GPT/Codexが提案した条件が厳しすぎたのでは、という開発者の疑問も記録されています。ただし「過剰だった」と技術的に立証されたわけではありません。
- Question about AI-proposed criteria: The developer questioned whether AI-proposed checks were too demanding. The reports do not establish that they were technically excessive.
- 代替案はまだ案のまま:異常らしい通信を知らせ、利用者が許可/遮断を選ぶポップアップ方式を検討しました。Windows Firewall標準機能が任意の初回通信を事前停止して質問するわけではなく、代替方式は実装済みとは確認されていません。
- Alternative proposal remained conceptual: A user-prompt flow was considered. Windows Firewall does not provide a generic pre-connection approval prompt for arbitrary traffic, and no completed alternative implementation was evidenced.
- この記録の範囲:当初の6件に加え、追加の5件(改訂版を含む)の開発・監視・防御関連PDFに基づく追補です。重複項目を分類し直しています。完全な実行ログ、全8版の結果、元コード、独立監査は確認していません。故障と未試験を同一視しません。
- Evidence limitations: This expanded synthesis uses the original six and five newly supplied reports (including a revised report). Overlapping findings are regrouped. The full run logs, all eight version histories, source code and an independent audit were not available.
初心者向け用語:「未実施」=試していない。「未確認」=判断できる証拠が足りない。「修正報告」=限定された範囲の対応結果。「実証成功」=対象の実動作を試験で確かめたこと。
Beginner terms: Not tested means no relevant test ran; unverified means insufficient evidence; reported fix refers to its scoped results; proven requires observed real behavior.
資料と記述の範囲
Sources and evidence scope
基礎資料:『監視アプリの失敗と復旧の記録』『AutomaticDefense 検証で起きた失敗の全記録』『開発・検証で判明した問題と未完了事項』『Local AI Audit Platform 失敗と改善の記録』『開発・運用で起きた失敗の記録』『自動遮断機能 開発・検証の失敗記録』。追補資料は『Auto90開発の失敗・つまずきと学び』『失敗からたどるAuto90の開発・検証記録』『監視アプリPhase 6の失敗と改善の記録(拡充版)』『10月11〜20日の確認結果と不足分の追補』『開発・運用で起きた失敗の記録(24件改訂版)』です。同じ事象が複数資料に登場するため、件数は足し合わせていません。
Based on six supplied reports on the monitoring app, AutomaticDefense, verification gaps, October platform changes and the decision to stop. Several reports describe the same event, so their counts are not summed.
会話・報告の範囲でまとめた公開向け記録であり、アプリ本体・完全な実行ログ・全版のISOを独自に再検証した結果ではありません。秘密情報や端末固有の識別子は掲載していません。
This public record is not an independent re-test of the application, full logs or every ISO revision. Device-specific and private identifiers are omitted.