要約
- AFRINIC の Africa IPv6 & DNSSEC Deployment Monitor は、2026年8月18日付の 2.12.0 で、政府・大学ドメインの運用者が監視を申請でき、入口はトップと各国ページに表示されると告知した。
- 9月5日に取得した公開ファイルでは、両方のページに申請用要素があるものの、最初から
hiddenが付いている。共通スクリプトのFORM_URLは空文字列で、絶対 HTTPS URL を検証できた場合にだけ非表示を解除する。 - 設定不備を安全側に倒す実装であり、同じ版のセキュリティ改善には稼働を確認できるものもある。確認できたのは一機能の未有効化であって、監視サイト全体の障害や別経路の不存在ではない。
「表示される」と「HTMLにある」の間
2.12.0 の更新履歴は二つのことを一続きに述べる。政府機関と大学の運用者は自分たちのドメインについて監視を申請できる。そして、そのボタンはトップページとすべての国別ページ上部に表示される。
トップページの HTML には、確かに data-request-form を持つリンクがある。ところが、リンク先は # のままで、ブール属性 hidden も付く。そばのコメントには、行き先を request-form.js が設定し、それまでは隠すと明記されている。
南アフリカの国別ページにも、同じ設計のリンクがナビゲーション内にある。トップ専用の置き忘れではない。更新履歴が対象にした二種類の画面に、共通の部品として配備されている。
スタイルシートは .hero-cta[hidden] と .topnav-cta[hidden] の双方を display: none にする。したがって、ソース内に要素が存在することを、そのまま利用者に見えることへ読み替えることはできない。部品は配備済み、機能は未有効化という状態が成立する。
行き先が空なら、処理はそこで終わる
申請専用スクリプトの設定は次の一行である。
const FORM_URL = '';
コードは [data-request-form] を持つ要素を集め、設定値を URL として解析する。許可するのは https: の絶対 URL だけだ。空欄、形式不正、別プロトコルのいずれでも、有効な target は得られず、リンク先を書き換える前に処理が戻る。
有効な値が入った場合の流れも公開されている。リンク先を設定し、新規タブで開くようにし、noopener noreferrer external を付け、最後に btn.hidden = false とする。9月5日に配信されていた空文字列では、この最後の分岐へ到達しない。
トップページ用の landing.js と国別ページ用の country.js は、申請用のセレクターを扱っていない。地図や統計、表の表示が担当だ。二つのページはそれぞれの処理とは別に、同じ申請スクリプトを読み込む。公開ファイルの範囲では、ボタンを有効化する責任の所在は一つに絞られている。
この判断は、9月5日に直接取得した HTML、JavaScript、CSS、レスポンスヘッダーに基づく。ブラウザー上の目視確認は完了していないため、画面で見えなかったと証言するものではない。ただし、配信された静的ファイルが定める分岐は明確である。
隠す判断は正しい
行き先がないのにボタンだけ表示すれば、利用者は動かない入口を押すことになる。任意のスキームを許せば、javascript: や data: などを混入させる余地も生まれる。今のスクリプトは、手で貼られる値を信用せず、絶対 HTTPS URL だけを通し、それ以外では何も見せない。
正常時にも、新しく開くページへ opener を渡さず、参照元情報を抑える指定が加わる。これは場当たり的に消えているのではなく、危険な行き先や死んだ入口を出さないための fail-closed 設計だ。
その点は評価できる。しかし、ブラウザー内の安全性と、更新履歴の正確さは異なる。前者が正しく働いても、「申請できる」「ボタンが表示される」という後者の記述を自動で狭めてはくれない。よい停止処理は、稼働証明の代わりにはならない。
公開資料から、空欄の理由や期間は分からない。別の場所にフォームがあるか、会員向けの連絡経路があるか、過去に一時有効だったかも不明だ。調査では申請を送っておらず、受領番号、待ち行列、応答時間も確認していない。障害、被害、意図を推測する根拠はない。
さらに、JavaScript と CSS は1時間の公開キャッシュを示していた。後の配備で状態は変わりうる。必要なのは永久的な断定ではなく、いつ、どのファイルが、どの設定で配られたかという時点付きの記録だ。
同じ版で動いている改善もある
2.12.0 は申請機能だけでなく、セキュリティ変更も挙げる。robots.txt は /data/ をクロール対象から外し、ダッシュボードが読む JSON は検索結果に載せない実装詳細だと説明する。南アフリカの JSON を直接取得すると HTTP 200 で応答したが、ヘッダーに X-Robots-Tag: noindex が付いていた。
国別ページのスクリプトには、特殊文字を HTML 用に逃がす関数もある。GeoJSON 由来になりうる国名を地図のツールチップへ埋める前に、その関数を通す。これは更新履歴にある国名のエスケープと対応する。
一方、ビルド用作業ファイルを Web から到達不能にしたという項目は独立確認していない。公開された変更履歴が対象パスを示しておらず、未知のパスを探索する調査も行っていないからだ。
この混在を残すことが重要である。申請機能が無効だからといって、版全体を失敗と呼べない。検索インデックス対策と文字列処理には稼働証拠がある。逆に、その成功を理由に申請機能まで完了と扱うこともできない。
| 確認項目 | 9月5日時点 |
|---|---|
| 申請機能の告知 | あり |
| トップ・国別ページ内の要素 | HTMLにあり |
| 初期表示 | hidden |
| 共通の行き先 | 空欄 |
| 有効化前の検証 | 絶対 HTTPS URL |
| 申請から受領まで | 未検証 |
| 同じ版の他機能 | 一部は稼働確認可能 |
入口だけ見ても、母集団は分からない
この監視サイトは公共機関や大学のドメインを扱う。申請入口が使えなければ、監視対象の選ばれ方に影響する可能性はある。ただし、今回のファイルだけで影響量は測れない。
調査ではドメインを追加せず、新しいスキャンもしていない。ある国の比率が低い理由や、何件の対象が欠けているかを、ボタンの状態から導くことはできない。入口が表示されても、申請が採用されるとは限らない。
検証すべき仮説は、公開経路が閉じている間、既に担当者を知る組織だけが非公式に申請できるのではないか、というものだ。それが続けば監視対象が既存関係に偏る可能性がある。しかし、申請、受領、採否、対象一覧の変更記録がなければ、観測済みの偏りとは呼べない。
必要なのは別の比率ではなく、測定前の履歴である。申請受領、確認、採否、ドメイン追加、初回スキャン、除外理由を分けて残せば、後から分母の変化を説明できる。
版ではなく機能を受け入れる
小さな稼働受領票があれば、更新履歴と実装をつなげられる。版番号と告知文、配備ファイルのハッシュ、FORM_URL の状態、試験した画面、申請成功と受領番号、効力発生時刻、担当ロール、取り消しや訂正を一つの履歴にする。申請内容そのものを公開する必要はない。
状態には「延期」も必要だ。フォームが準備できていないなら、更新履歴を日付付きで訂正することも正しい完了である。常時オンを強制するのではなく、説明と稼働を一致させる。
この粒度なら、同じ版の安全対策を独立して評価できる。あとから担当者が版番号だけを受け取り、断片的なコードから各機能の過去を復元する必要もなくなる。
情報源
機能の告知は監視サイトの公開更新履歴にある。配備された要素はトップページと南アフリカの国別ページで確認した。有効化条件は request-form.js にあり、トップ用スクリプト、国別用スクリプト、スタイルシートで役割を切り分けた。
セキュリティ面の対照には robots.txt、南アフリカの JSONのヘッダーと内容、国別スクリプトのエスケープ処理を用いた。いずれも2026年9月5日に取得した公開資料である。フォーム送信と、成功したブラウザー目視確認は行っていない。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

