「icat for JSON」とは?IPAの脆弱性注意喚起を自サイトに埋め込む設置方法
「icat for JSON」は、IPA(情報処理推進機構)が無料で提供するサイバーセキュリティ注意喚起サービスです。IPAが公開する「重要なセキュリティ情報」の一覧を、指定のタグを1行貼るだけで自社サイトへ自動表示できます。名称に「JSON」と付くため誤解されやすいものの、JSONログを解析するログビューアではなく、IPAの脆弱性・注意喚起情報をJSON形式で配信し表示するウィジェットである点が要点です。
まとめ
- 正体:IPAが無料提供する「重要なセキュリティ情報」の配信・表示サービス。ログ解析ツールではない。
- 名称:IPA Cyber security Alert service for JSON。2011年のFlash版「icat」を、非Flash化して2016年2月に置き換えたもの。
- 設置:
icatw.jsなどのscriptタグを貼るだけ。jQueryに依存する。 - レイアウト:縦型・横型・横型ワイド・カスタムサイズから選べる。
- 表示されない主因:公開Webサーバー以外での動作不可、ファイアウォールでのURL遮断、旧Flash版タグの貼り残し。
以下で、配信される情報の中身、旧icatとの違い、具体的なタグの貼り方、つまずきやすい制約、そしてウィジェットを介さずJSONを直接使う方法まで順に整理します。
icat for JSONの正体と配信される情報
icatは「IPA Cyber security Alert service」の頭字語で、for JSONはデータをJSON形式で配信することを指します。読み方は「アイキャット・フォー・ジェイソン」。IPAが公開した脆弱性対策情報や注意喚起の一覧を取得し、ウェブページ上に自動で表示します。
配信されるのはIPAの「重要なセキュリティ情報」で、緊急度に応じて「緊急」「注意」に分類されます。公開から直近1週間の情報はオレンジ色で強調表示され、閲覧者が新しい脅威に気づきやすい作りです。企業ポータルや会員サイトに置けば、担当者が手動で更新しなくても最新の注意喚起が反映されます。利用料はかからず、IPAが公共サービスとして提供しています。
旧「icat」(Flash版)との違いと提供の経緯
icatはまずAdobe Flash Playerを前提とした「icat」として2011年11月に公開されました。その後、Flashに依存しない方式へ作り替えたのが「icat for JSON」で、IPAとソフトウェア協会(SAJ)の告知によれば2016年2月22日に公開されています。
Flash版の「icat」はAdobe Flash Playerのサポート終了に伴い、2021年1月4日でサービス提供を終了しました。現在も稼働しているのはicat for JSONだけです。移行のポイントは方式の置き換えにあります。Flash版のタグをそのまま残しているとバナーは表示されないため、古いタグはJSON版のscriptタグへ貼り替える必要があります。表示が出ないときは、この貼り替え漏れが原因となっていることが少なくありません。
ウェブサイトへの設置方法
設置はIPAが配布するJavaScriptファイルをscriptタグで読み込むだけで、サーバー側の設定は不要です。サイトがjQueryを使っているかどうかで貼るコードが変わります。
jQueryを使っているサイト
すでにjQueryを読み込んでいるページなら、レイアウトに対応するscriptを1行追加します。横型(350×150)の例は次のとおりです。
<script type="text/javascript" src="https://www.ipa.go.jp/security/announce/irss/icatw.js"></script>
この1行を、注意喚起を表示したい位置に置きます。
jQueryを使っていないサイト
jQueryが読み込まれていないページでは、jQuery本体を先に読み込んでからicat側のscriptを読み込みます。
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://www.ipa.go.jp/security/announce/irss/icatw.js"></script>
読み込み順は必ずjQueryが先です。順序が逆だとウィジェットが動作しません。
レイアウトの選び方
表示枠は縦型・横型・カスタムから選べ、それぞれ読み込むファイル名が異なります。設置スペースに合わせて選び、実際のタグはIPA公式ページからコピーします。
| レイアウト | 目安サイズ(幅×高さ) | 用途 |
|---|---|---|
| 縦型 | 約190×350px | サイドバー |
| 横型 | 350×150px | 本文上下の帯 |
| 横型ワイド | 700×150px | ヘッダー・フッター |
| カスタム | 200〜1200 × 100〜800px | 任意の枠に合わせる |
カスタムは幅200〜1200px、高さ100〜800pxの範囲で指定でき、既存デザインの空きスペースに収めやすい選択肢です。
設置時の注意点と利用できないケース
手軽に貼れる一方、動作条件を満たさないと枠が空欄のままになります。次のケースでは正しく表示されません。
- ローカルファイルでの確認:ファイルを直接ブラウザで開いても表示されない。公開Webサーバーに設置して確認する。
- ファイアウォールでの遮断:src先のIPAのURLへアクセスできない環境では動かない。社内イントラなどはURLの通信許可が必要。
- SharePointのモダンUI:モダンUIではicat for JSONを利用できない。
- jQueryの競合:jQuery依存のため、他プラグインが読み込む別バージョンと競合すると動かないことがある。
社内向けサイトに設置するなら、まず検証用の公開環境で表示を確認し、そのうえで本番のファイアウォール設定を調整するのが確実です。外部URLへの通信を厳格に絞る運用のイントラでは、そもそも導入に向きません。その場合は後述のJSON直接取得で自組織のプロキシ経由に寄せる、あるいはIPAのページへのリンク掲示に留めるほうが現実的です。
JSONフィードの直接利用(開発者向け)
icatw.jsは内部でIPAが配信するJSONを取得し、規定のデザインで描画しています。この仕組みを踏まえると、JSONを自前で取得して独自のUIに組み込むこともできます。既存デザインに枠のサイズやフォントを合わせたい、既存の社内ダッシュボードに一覧を差し込みたい、といった要件で有効です。
配信データには、各情報の見出しにあたるitem_title、詳細ページへのリンクitem_link、日時item_dateといったフィールドが含まれます。これらを取得して任意の要素に描画する最小構成は次のようになります。
fetch(feedUrl) // フィードURLはIPA公式で最新仕様を確認
.then(res => res.json())
.then(data => {
// item_title, item_link, item_date を任意のUIに描画する
});
フィードのURLやパラメータは提供側の都合で変わりうるため、実装前に必ずIPA公式ページで現行の仕様を確認してください。RubyのGemやGitHub上の一覧取得ページなど、有志による実装例も公開されており、独自表示の参考になります。ただし公共サービスへの過度なアクセスは避け、取得は必要な頻度に留めるのが前提です。
よくある質問
icat for JSONは無料ですか
無料です。IPAが公共のサイバーセキュリティ注意喚起サービスとして提供しており、利用にあたって料金や申請は不要です。
旧「icat」(Flash版)はまだ使えますか
使えません。Flash版はAdobe Flash Playerのサポート終了に伴い2021年1月4日で提供終了しています。旧タグを残しているサイトは表示されないため、JSON版のscriptタグへ貼り替えてください。
WordPressに設置できますか
設置できます。テーマのテンプレートやウィジェット領域、カスタムHTMLブロックにscriptタグを貼れば表示されます。ただしjQueryを読み込むプラグインとのバージョン競合や、scriptを除去するセキュリティプラグインの挙動には注意してください。
スマートフォンでも表示されますか
表示されます。HTMLとJavaScriptで描画するため、Flash非対応のスマートフォンでも動作します。狭い画面に合わせたい場合はカスタムサイズで幅を調整します。
タグを貼っても表示されないときは何を確認すべきですか
公開Webサーバーに設置しているか、src先URLへの通信がファイアウォールで遮断されていないか、Flash版の古いタグが残っていないか、jQueryが正しく(重複や順序の誤りなく)読み込まれているかを順に確認します。原因はこのいずれかに絞られることが多く、上から順に潰すのが早道です。