トラッキング/はてなブックマーク

どなたでも編集可です。気軽に編集してください。
新しいページがほしい場合は要望に書いてください。

参考リンク

セキュリティホール memo
 http://www.st.ryukoku.ac.jp/~kjm/security/memo/2012/03.html#20120312_hatena

はてなブックマークボタンのトラッキング問題で高木浩光先生が決別ツイートをするに至った経緯まとめ
 http://matome.naver.jp/odai/2133131006928771201

有識者が外し始めた「はてなブックマークボタン」問題の動向まとめ
 http://matome.naver.jp/odai/2133148062634963401

2012年3月13日16時
SF Magazineからの はてなブックマークボタン等の削除に関してのご案内 (更新有り)
 http://sourceforge.jp/forum/forum.php?forum_id=28622

2012年3月13日18時に、はてな社から公式の発表がされた。

2012年3月13日18時32分
「はてなブックマークボタン」、マイクロアドへの行動履歴の送信を停止
 http://japan.cnet.com/news/service/35015105/

2012年3月13日18時36分
はてな、「はてブ」ボタンから取得した行動情報の第三者提供取りやめ 近藤社長「間違った情報の使い方」と謝罪
 http://www.itmedia.co.jp/news/articles/1203/13/news091.html

2012年3月13日19時22分
はてな、ブックマークボタンで周知せず行動情報取得を行なっていたことを謝罪
 http://internet.watch.impress.co.jp/docs/news/20120313_518471.html

2012年3月13日20時12分
はてな、「はてブ」ボタンの仕様変更で謝罪 行動情報を収集
 http://news.so-net.ne.jp/article/detail/682694/

はてなブックマークとは

「はてなブックマーク」とは、はてな社が提供するオンライン・ブックマークです。
サイト運営者が、はてな社が提供する「はてなブックマーク」パーツをページに設置すると、
そのページの閲覧者に、オンライン・ブックマークしたり、そのページをブックマークした人数やコメントを見れるようにできます。

どんな問題があるのか

はてな社は、既存のサービスである はてなブックマークの機能に、後から、ページ閲覧者の行動情報を取得してターゲッティング広告会社に提供するようにした。
このような方法は、そのサービスを設置したサイトのプライバシーポリシーや、閲覧者の認知に反する場合がある。

はてな社が行動履歴収集機能を追加したときの説明

 http://b.hatena.ne.jp/guide/bbutton より引用
はてなブックマークボタンの作成・設置について (はてな)
なお、はてなブックマークボタンは、2011年9月1日より興味関心に基づく広告の掲載を目的とした行動情報の取得(個人情報以外)をしています。
はてなブックマークボタンをご利用いただく場合は、この行動情報を取得を許可したものとみなします。

この時、はてな社はオプトアウト版を別に用意したが、当然ながら、このサービスを利用する多くのサイトは気づかずにそのまま設置しつづけた。

そして現在、このことが知られてきた。

はてなブックマーク設置サイトについて

設置状況を調べた表の項目の記号は、次のとおり。 注: 2012年3月13日夕方以降、bookmark_button.js , bookmark_button_wo_al.js の両方ともオプトアウト版になっています。

JS欄

記号 意味
トラッキング版の設置(bookmark_button.js の読み込み)
オプトアウト版の設置(bookmark_button_wo_al.js の読み込み)
○でも△でもない

除外欄

記号 意味
トラッキング版のスクリプト(bookmark_button.js) 内で microad.jpの呼び出しを無効しているドメイン
○ではない

調査方法

このページ下部にある調査用スクリプトを使った。

除外サイト

トラッキング版スクリプト内にある除外リストにあるドメインのサイト。しかしドメインの違いで除外されてないサイトを含む。

サイト名 URL JS 除外 備考
@IT  http://atmarkit.co.jp www.atmarkit.co.jp にリダイレクト
@IT  http://www.atmarkit.co.jp 2012年3月11日19時には オプトアウト板に変更
BARKS  http://barks.jp barks.jp にリダイレクト
BARKS  http://www.barks.jp 11日時点で既にオプトアウト版だった
Business Media 誠  http://bizmakoto.jp
builder  http://builder.japan.zdnet.com エントリーボタンのみ
AOLセレブリティ  http://celebrity.aol.jp
EDN Japan  http://ednjapan.cancom-j.com ednjapan.com にリダイレクト
EDN Japan  http://ednjapan.com
EE Times Japan  http://eetimes.jp
エキサイトブログ  http://exblog.jp
エキサイトブログ  http://staff.exblog.jp
Excite エキサイト  http://excite.co.jp www.excite.co.jp にリダイレクト
Excite エキサイト  http://www.excite.co.jp
GROUPON(グルーポン)  http://groupon.jp ボタン見つからなかった
 http://itmedia.co.jp 除外リストに書いてあるがページが存在しない
IT総合情報ポータル「ITmedia」  http://www.itmedia.co.jp 2012年3月13日14時には オプトアウト版に変更
CNET Japan  http://japan.cnet.com
GameSpot? Japan  http://japan.gamespot.com
ZDNet Japan  http://japan.zdnet.com エントリーボタンのみ
Engadget Japanese  http://japanese.engadget.com
Autoblog JP  http://jp.autoblog.com
MSN Japan  http://money.jp.msn.com エントリーボタンのみ。money だけでなく他もたぶん同じ
TechCrunch? Japan  http://jp.techcrunch.com
毎日jp  http://mainichi.jp
東洋経済オンライン  http://www.toyokeizai.net
東洋経済オンライン  http://member.toyokeizai.net 会員用サイトなので調査できなかった
朝日新聞デジタル  http://www.asahi.com
日本経済新聞  http://www.nikkei.com 右クリック禁止
Re:SOURCE  http://www.re-source.jp
YOMIURI ONLINE  http://www.yomiuri.co.jp 2012年3月12日18時には 削除
日経BPネット  http://www.nikkeibp.co.jp

通常サイト

ここでは、除外リストに含まないドメインのサイトを通常サイトと読んでいます。

サイト名 URL JS 備考
togetter  http://togetter.com
Gigazine  http://gigazine.net
クラウド Watch  http://cloud.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
PC Watch  http://pc.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
デジカメ Watch  http://dc.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
akiba pc hotline  http://akiba-pc.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
AV Watch  http://av.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
Game Watch  http://game.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
窓の杜  http://www.forest.impress.co.jp 2012年3月11日 オプトアウト版に変更
Internet Watch  http://internet.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
ケータイ Watch  http://k-tai.impress.co.jp 2012年3月11日 オプトアウト版に変更
家電 Watch  http://kaden.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
Car Watch  http://car.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
Video Watch  http://video.watch.impress.co.jp 2012年3月11日 オプトアウト版に変更
ヨドバシ.com  http://www.yodobashi.com
ギズモードジャパン  http://www.gizmodo.jp
ライフハッカー  http://www.lifehacker.jp
Kotaku  http://www.kotaku.jp
TABROID(タブロイド)  http://www.tabroid.jp
サーチナ(Searchina)  http://searchina.ne.jp
日刊サイゾー  http://www.cyzo.com
トビラフォン  http://tobilaphone.com 2012年3月12日22時 告知してオプトアウト版に変更
週プレNEWS  http://wpb.shueisha.co.jp
Xperia  http://www.xperia-index.com 2012年3月12日 告知してオプトアウト版に変更
recbike  http://recbike.com 2012年3月11日 告知して はてブ削除

通常サイト - コンピュータ系

サイト名 URL JS 備考
日立ソリューションズの情報セキュリティブログ  http://securityblog.jp
IifoQ  http://www.infoq.com トラッキング版があった記憶があるのだが…、確証がない
DOS/V POWER REPORT  http://www.dosv.jp 2012年3月11日 18時
ascii.jp  http://ascii.jp 2012年3月13日には オプトアウト版に変更
sourceforge.jp  http://sourceforge.jp 2012年3月12日午前 はてブを削除 13日16時告知
facebookアプリケーション開発ガイド - 達人出版会  http://tatsu-zine.com 2012年3月10日 告知してオプトアウト版に変更
Codezine  http://codezine.jp 2012年3月13日 オプトアウト版に変更

通常サイト - ゲーム系

サイト名 URL JS 備考
4gamer  http://www.4gamer.net 2012年3月10日 17時には はてブを削除
海外ゲーム専門 Webマガジン  http://www.game-damashi.com 2012年3月13日 はてブ削除
ファミ通  http://www.famitsu.com 2012年3月13日にはオプトアウト版に変更
日本棋院  http://www.nihonkiin.or.jp
日本将棋連盟  http://www.shogi.or.jp

通常サイト - 政党系

サイト名 URL JS 備考
自民党  http://www.jimin.jp 2012年3月12日6時 オプトアウト版に変更
自由民主党  http://www.dpj.or.jp
公明党  http://www.komei.or.jp
みんなの党  http://www.your-party.jp エントリーボタンだけ
日本共産党  http://www.jcp.or.jp 2012年3月10日 1時~22時にオプトアウト版に変更
社会民主党  http://www5.sdp.or.jp
新党きづな  http://www.kizuna-party.jp
国民新党  http://kokumin.or.jp
新党大地・真民主  http://www.muneo.gr.jp
たちあがれ日本  http://www.tachiagare.jp
新党改革  http://shintokaikaku.jp
新党日本  http://www.nippon-dream.com

通常サイト - スポーツ新聞系

サイト名 URL JS 備考
日刊スポーツ  http://www.nikkansports.com
サンスポ  http://www.sanspo.com
スポニチ  http://www.sponichi.co.jp
スポーツ報知  http://hochi.yomiuri.co.jp
デイリースポーツ  http://www.daily.co.jp ブックマーク追加ボタンのみ

除外リストとは

下の情報は古いので、はてなの公式発表をお読みください。

トラッキング版である bookmark_button.js 内には、スクリプト内でトラッキングを除外するドメインのリストが記述してある。
これをここでは除外リストと記述しています。
現状、この除外リストがなぜあるのか経緯は不明です。

除外リスト一覧

現在の bookmark_button.js には下記のリストは含まれません。

2012年3月11日版

www.toyokeizai.net
member.toyokeizai.net
excite.co.jp
exblog.jp
mainichi.jp
jp.msn.com
*.jp.msn.com
itmedia.co.jp
bizmakoto.jp
atmarkit.co.jp
eetimes.jp
ednjapan.cancom-j.com
ednjapan.com
barks.jp
www.asahi.com
*.asahi.com
jp.techcrunch.com
japanese.engadget.com
jp.autoblog.com
celebrity.aol.jp
www.nikkei.com
*.nikkeibp.co.jp
japan.cnet.com
japan.zdnet.com
builder.japan.zdnet.com
japan.gamespot.com
www.re-source.jp
www.yomiuri.co.jp
groupon.jp

はてなブックマークのスクリプトの変化

行動情報の第三者への送信機能を入れる前
 http://b.st-hatena.com/js/bookmark_button.js

行動情報の第三者への送信機能を入れた後
 http://b.st-hatena.com/js/bookmark_button.js トラッキング版
 http://b.st-hatena.com/js/bookmark_button_wo_al.js オプトアウト版

公式の謝罪発表後
 http://b.st-hatena.com/js/bookmark_button.js
 http://b.st-hatena.com/js/bookmark_button_wo_al.js
両方とも送信機能を入れた後のオプトアウト版と同一になった。

オプトアウト版を使いたい人は、どちらをつかっていても公式発表どおりになにもしないでよい。

調査用スクリプト

使い方

調べたいサイトを開いてしばらくしてから(外部jsがちゃんと読み込み終わってから)、開発ツールやブックマークレットなどで下のスクリプトを実行する。
実行すると解析結果がアラートとページ下部に表示される。

解析結果の見方

"オブジェクト: ..."があれば トラッキング版かオプトアウト版のブックマークボタンの JavaScript?が読み込まれている証拠である。
さらに、"スクリプト: URL"をみれば、トラッキング版(bookmark_button.js)かオプトアウト版(bookmark_button_wo_al.js)を判別できる。

オブジェクト: Hatena.Bookmark.BookmarkButton?

もし、"オブジェクト: Hatena.Bookmark.BookmarkButton?"と表示されれば、
bookmark_button.js か bookmark_button_wo_al.js が読み込まれている。

スクリプト: URL

"スクリプト: " は script タグの src に hatenaという文字列が含まれていた場合に表示する。
この src 文字列で bookmark_button.js か bookmark_button_wo_al.js かを判別できる。
ただし、設置しているサイトのスクリプトから、間接的にハテナのスクリプトを読んでいるサイトもある。
その場合はページ内の script タグの src に hatena の文字列がないので "スクリプト: " では区別できない。
そういう場合は、ソースをみたり proxy やパケットキャプチャーでトラッキング版かオプトアウト版かを調べる。

リンク: ...

ただの参考用のデータ

文字列: ...

ただの参考用のデータ

改変履歴

2012年3月11日 Version 1.0.4 タイトルと時刻を出力するようにした。
2012年3月11日 Version 1.0.3 console.log()だとエラーがでる場合があるので、ページ下部に文字列を出力するようにした。
2012年3月11日 Version 1.0.2 console.log()で出力するようにした。
2012年3月11日 Version 1.0.1 アラートの"文字列" は最後に表示するようにした。
2012年3月11日 Version 1.0.0 初版

スクリプト本体

調査用スクリプト Version 1.0.4 (Public Domain Software)

だれでも書き換えられる wiki なので、ソースを読んでから使うこと。

(
  function() {
    var D = document;
    var B = D.body;
    var S = D.createElement("script");
    S.type = "text/javascript";
    S.src = "http://code.jquery.com/jquery-1.7.1.min.js";
    B.appendChild(S);
    var bottom = D.createElement("div");
    B.appendChild(bottom);
    bottom.style.cssText = "color: black; background-color:yellow;";

    function callback(data) {
      var date = new Date();
      var date_str = date.getFullYear()  + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes(); 
      var r = new Array();
      r.push("解析結果");
      r.push("|| " + $("title")[0].text + " || " + D.location.href + " || || || " + date_str + " ||");
      r.push("");

      /* オブジェクトの存在を調べる */
      try {
        r.push(Hatena.Bookmark.BookmarkButton ? "オブジェクト: Hatena.Bookmark.BookmarkButton" : "");
      } catch (e) { }

      /* scriptタグのsrcを調べる */
      var tags = document.getElementsByTagName('script');
      for (var i = 0;i < tags.length;i ++) {
        if (tags[i].src && tags[i].src.match(/hatena/i)) {
          r.push("スクリプト: " + tags[i].src);
        }
      }
      /* aタグのsrcを調べる */
      tags = document.getElementsByTagName('a');
      for (var i = 0;i < tags.length;i ++) {
        if (tags[i].href && tags[i].href.match(/hatena/i)) {
          r.push("リンク: " + tags[i].href);
        }
      }

      /* ページ内の文字列を調べる */
      var m = data.match(/[^'"<>\/]+hatena.(?:com|ne\.jp|co\.jp)\/[^'"<>]+/gi);
      if (m) { 
        for (var i = 0;i < m.length;i++) {
          r.push("文字列: " + m[i]);
        }
      }

      /* 解析結果の表示 */
      alert(r.join("\n"));

      for (var i = 0;i < r.length;i ++) {
        bottom.appendChild(D.createTextNode(r[i]));
        bottom.appendChild(D.createElement("br"));
      }
    }

    function main() { $.get(D.location.href, { }, callback); }

    setTimeout(main,500);
  }
)();

編集履歴

  • 2012年3月13日
    • 「参考リンク」「はてなブックマークとは」 「どんな問題があるのか」を追加
    • 「はてな社から公式の発表」と「はてなブックマークのスクリプトの変化」 を追加
    • あまりに編集料が多くなったので、ここには履歴を書かないことにします。
  • 2012年3月12日
    • アウトラインの整形
    • bookmark_button.js と bookmark_button_wo_al.js を分かりやすいように、トラッキング版とオプトアウト版に書き換える。
    • 仕様変更されたサイトの整形
    • 日付と時刻のフォーマットを変更

ご意見、ご要望

ここに書いてください。