以前からセキュリティ・リスクの高い Flash でセキュリティ脆弱性情報を発信するとかどんなギャグかと思っていたが,ようやく Flash 以外の提供を始めるようだ1。ただ提供されるのは jQuery ベースのブログパーツだったりするのが相変わらずの IPA クオリティである。
提供される JavaScript ファイルを見ると内部で JSON データを取得してるみたい。以下の API で取れそうだ。
$ curl -i "http://isec-myjvn-feed1.ipa.go.jp/IPARssReader.php?1456207434&tool=icatw"
HTTP/1.1 200 OK
Date: Tue, 23 Feb 2016 06:05:32 GMT
Server: Apache
X-Frame-Options: DENY
Access-Control-Allow-Origin: *
X-XSS-Protection: 1; mode=block
Content-Security-Policy: reflected-xss block
Content-Length: 2358
Content-Type: application/json; charset=utf-8; X-Content-Type-Options: nosniff;
{"itemdata":[{"item_title":...
-
1456207434
の部分にはリクエスト時点の UNIX Time が入る。なくてもいけるっぽいが... -
tool=icatw
は出力フォーマットを指しているようだ?itacth
とicatw
の2種類が指定できるようだが,両者で出力の違いは分からなかった。
JSON データの中身は以下のとおり(見やすいように適当に改行・インデントしているが,実際は圧縮されている)。
{
"itemdata":[
{
"item_title":"Microsoft \u88fd\u54c1\u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(2016\u5e7402\u6708)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160210-ms.html",
"item_date":"2016-02-10T12:00:00+09:00",
"item_identifier":[]
},
{
"item_title":"Adobe Flash Player \u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(APSB16-04)(CVE-2016-0985\u7b49)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160210-adobeflashplayer.html",
"item_date":"2016-02-10T12:00:00+09:00",
"item_identifier":[]
},
{
"item_title":"Oracle Java \u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(CVE-2016-0494\u7b49)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160120-jre.html",
"item_date":"2016-01-20T12:00:00+09:00",
"item_identifier":[]
},
{
"item_title":"Microsoft \u88fd\u54c1\u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(2016\u5e7401\u6708)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160113-ms.html",
"item_date":"2016-01-13T12:00:00+09:00",
"item_identifier":[]
},
{
"item_title":"Adobe Reader \u304a\u3088\u3073 Acrobat \u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(APSB16-02)(CVE-2016-0932\u7b49)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160113-adobereader.html",
"item_date":"2016-01-13T12:00:00+09:00",
"item_identifier":[]
},
{
"item_title":"\u3010\u6ce8\u610f\u559a\u8d77\u3011\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3059\u308b\u8907\u5408\u6a5f\u7b49\u306e\u30aa\u30d5\u30a3\u30b9\u6a5f\u5668\u306e\u518d\u70b9\u691c\u3092\uff01",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160106-printer.html",
"item_date":"2016-01-06T16:40:00+09:00",
"item_identifier":[]
},
{
"item_title":"\u300cDX\u30e9\u30a4\u30d6\u30e9\u30ea\u300d\u306b\u304a\u3051\u308b\u30d0\u30c3\u30d5\u30a1\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u306e\u8106\u5f31\u6027\u5bfe\u7b56\u306b\u3064\u3044\u3066(JVN#49476817)",
"item_link":"http:\/\/www.ipa.go.jp\/security\/ciadr\/vul\/20160105-jvn.html",
"item_date":"2016-01-05T14:00:00+09:00",
"item_identifier":[]
}
],
"docTitle":"IPA\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30bb\u30f3\u30bf\u30fc:\u91cd\u8981\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u60c5\u5831",
"docTitleFix":null,
"docLink":"https:\/\/www.ipa.go.jp\/security\/vuln\/icat.html",
"docDate":"2016-02-10T11:58:22+09:00"
}
中身が空の項目については何が入るかわからないが,これだけ情報があれば,皆さんならどうにでも加工できるだろう。ちなみに curl を任意のコードに変換するには cURL as DSL がオススメである。
- cURL as DSL — cURL as DSL 1.0 documentation
- Shibu's Diary: cURL as DSLとは何だったのか。あるいは細かすぎて伝わらないcURL as DSL。
では,安全なネットライフを。
【追記】
手遊びに Go 言語用のパッケージを作ってみた。
-
ちなみに @ICATalerts アカウントで Twitter による情報発信は以前から行われている。普段はこれでも大丈夫だろう。 ↩