title: ウェブアーカイブサイトの信頼性
author: Amane Katagiri
summary: 魚心あれば水心
date: 2018-03-24T21:29:00+09:00
modified: 2020-08-03T15:44:00+09:00
category: tech
license: CC BY 4.0
rating: sfw
ai_summary: ウェブアーカイブサービス「archive.is」が保存内容を書き換えているという情報の検証記事です。調査の結果、クローラのIPアドレスをリクエスト元のIPに置換したり、HTMLヘッダを改変したりする挙動が確認されました。robots.txtの無視やUA偽装など、サービスの不透明な運用実態を指摘。Wayback Machine等と比較しながら、ウェブアーカイブの信頼性と利用の是非について考察しています。
ai_keywords: archive.is, ウェブアーカイブ, Wayback Machine, IPアドレス置換, robots.txt, クローラ, コンテンツ改ざん, 信頼性, 検証, ウェブ魚拓

怪情報のタレコミがあったので調査をした結果です。

++(2020-08-03) この記事で示した[アーカイブ](https://archive.is/r5fAh)は、現在 `46.166.139.140` をそのまま表示しています。[同様のテスト](https://archive.is/L03wB)を行ったところ、現在はクローラのIPを書き換えたり `X-Forwarded-For:` でリクエストしたユーザのIPアドレスを漏らすことはなくなったようです。これは一見すると望ましい挙動ですが、archive.isが既にアーカイブしたはずのコンテンツでさえ書き換えてしまうサイトであることを示しています。++

[TOC]

# はじまり

> archive.is、都合のいいようにサイトの内容を書き換えるので、使うならWebArchiveの方がいいですよ（運営元もはっきりしているし、ポリシーもちゃんと出ているので）。 例えば http://taruo.net/e のスナップショットを取ると、書き換えが再現できます。
> """[https://ask.fm/amane_katagiri/answers/146448573544](/askfm/#20180308-438)"""

03/08に上のような情報を受け取りました。

調べてみると、archive.isは取得したページの一部を書き換えてからアーカイブしているという情報が得られました。他にもrobots.txtを無視したりサイト管理者からの削除要求を無視するなどといった運営上の強引さを批判し、サイト管理者の立場からクローラをIPアドレスベースでブロックする方法を紹介する記事もいくつかあるようです。

関連: [archive.is サーバーIPアドレス一覧 « REIMA's Blog](https://web.archive.org/web/20210126093026/https://blog.wolfs.jp/contents/archiveis-ipaddress/)、[Red Fox 魚拓収集魔から自サイトを守るには？(1)〜Archive.isの魚拓拒否法](http://redfox2667.blog111.fc2.com/blog-entry-334.html)

この怪情報を元に、以下の点について考えます。

1. archive.isはサイトの内容をどのように書き換えているのか
3. ウェブアーカイブサイトの信頼性について

# archive.isとは何か？

[archive.is](https://archive.is/)は、リクエストに応じてウェブサイトをクロールして保存および公開する**[ウェブアーカイブ](https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96)**サイトの1つです。ウェブアーカイブサイトとしては[ウェブ魚拓](https://megalodon.jp/)や[Wayback Machine](https://archive.org/web/)もよく知られています。

「行儀の良い」ウェブアーカイブサイトがサイト管理者の意思を尊重してアーカイブのリクエストを拒否するのに対し、archive.isではrobots.txtを無視したり、ウェブアーカイブサイトのクローラであることを知られないようにUserAgentを偽装する[^ua]など怪しい振る舞いが目立ちます。

[^ua]: 調査時点では`Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2704.79 Safari/537.36`を称しています。

> Why does archive.is not obey robots.txt?
>
> Because it is not a free-walking crawler, it saves only one page acting as a direct agent of the human user. Such services don't obey robots.txt (e.g. Google Feedfetcher, screenshot- or pdf-making services, isup.me, …)
> """[https://archive.is/faq](https://archive.is/faq)"""

さらに、アーカイブしたコンテンツの削除についても厳しい基準が定められているようです。

> Do you delete my stored page(s) ?
>
> Pages which violate our hoster's rules (cracks, porn, etc) may be deleted. Also, completely empty pages (or pages which have nothing but text like “502 Server Timeout”) may be deleted.
> """[https://archive.is/faq](https://archive.is/faq)"""

# archive.isが書き換えていること

先述の通り、archive.isでは取得したウェブページの一部を書き換えてからアーカイブしているようです。書き換えられている情報としては、以下のようなものがあります。

* HTMLヘッダの一部（TwitterカードやOpen Graph Protocolに関わるmetaタグ、canonical情報などを変更ないしは追加）
* archive.isが走らせるクローラのIPアドレス（リクエストしたユーザのIPアドレスに置換）

クローラのIPアドレスを隠そうとするのは、悪質と言えば悪質のような気もします。まぁそもそも、ヘッダの変更も含めてウェブページを完全な状態で閲覧できないというのは非常に悪い振る舞いです。

ちなみに、これは書き換えではないですが、クロールの際にリクエストしたユーザのIPアドレスを`X-Forwarded-For:`で漏らしています。

# 実証

IPアドレスの書き換えについて、[適当なサーバ](https://gist.github.com/amane-katagiri/a9ee8686ba56a80637d242fc2a981029)を動かして確認します。

このサーバは、クライアントのIPアドレスとリクエストヘッダを統合して返します。さらに、生成したレスポンスをそのままログに出力します。

## 通常のアクセス

以下はログです。ログとレスポンスは当然一致します。また、`You are:`および`REAL IP:`が指しているIPアドレスも全て同じです。

```text
You are: 127.0.0.1:44662

Host: localhost:8000
User-Agent: curl/7.58.0
Accept: */*

REAL IP: 127-0-0-1:44662
REAL IP: 127_0_0_1:44662
REAL IP: 127 0 0 1:44662
REAL IP: 127　0　0　1:44662
REAL IP: 127の0の0の1:44662
REAL IP: 一二七、〇、〇、一：四四六六二
```

## archive.isを通したアクセス

以下のログに対応するアーカイブは[https://archive.is/r5fAh](https://archive.is/r5fAh)です。

```text
You are: 46.166.139.140:30922

User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2704.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: tt,en;q=0.5
X-Forwarded-For: 54.248.181.34
Connection: Keep-Alive
Accept-Encoding: gzip
Host: 54.248.181.34

REAL IP: 46-166-139-140:30922
REAL IP: 46_166_139_140:30922
REAL IP: 46 166 139 140:30922
REAL IP: 46　166　139　140:30922
REAL IP: 46の166の139の140:30922
REAL IP: 四六、一六六、一三九、一四〇：三〇九二二
```

archive.isによる取得結果では、`46.166.139.140`というIPアドレス[^archiveis]が置換されていますね。下の`REAL IP:`行は書き換えられていないことから、ドットを含んだ単純な置換を挟んでいることが確認できました。

[^archiveis]: このページをアーカイブするとこの部分も書き換えられるでしょう。

```diff
--- clean.txt   2018-03-24 17:55:12.301277873 +0900
+++ dirty.txt   2018-03-24 17:54:58.309615729 +0900
@@ -1,4 +1,4 @@
-You are: 46.166.139.140:30922
+You are: 54.248.181.34:30922

 User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2704.79 Safari/537.36
 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
```

アーカイブのリクエストはlynx[^lynx]を通して行いましたが、その情報は`User-Agent:`には漏らされていませんでした。代わりにクローラだと悟られないようなものを使っています。

他には何を書き換えているのかな？　怖いですね。知っている人がいたら教えてください。天安門[^tena]。

[^tena]: 天安門
[^lynx]: 2.8.6rel.5 (09 May 2007)

# archive.isを使い続けるべきか？

筆者としては、これからは基本的にWayback Machineを使おうかなという感覚があります。サイト管理者がクロールを拒否しないようなウェブサイトにはWayback Machineを使っていけばよさそうです。もちろん、archive.isがお行儀の悪い振る舞いをするのでWayback Machineを全面的に信用しますというのもナンセンスですから、これからも事例に応じてarchive.isでアーカイブすることもあると思います。

とはいえ、archive.isがどのような情報を書き換えているかの全貌が分かっていないため、追加の情報があればまた立場は変わるでしょう。みんなも調べてみよう！

サイト管理者の意向を無視するのが悪いかどうかは個別の事例によるんじゃないかな？　検索サイトにクロールされないようにrobots.txtや画像や疑似要素を駆使して作られた企業の謝罪文をアーカイブできたら、僕はそれなりに嬉しいですけどね。

# ウェブアーカイブサイトの信頼性

私たちはどのウェブアーカイブサイトを信頼すべきでしょうか？　Wayback Machineを信頼すべきなのは、なぜですか？

今のところ、どのウェブアーカイブサイトを信頼すべきかという議論はあまり必要とされていないようです。運営元やポリシーで判断せざるを得ない状況になるまで待たなければなりません。

個人が簡単にウェブアーカイブサイトを立ち上げられるようになれば状況が変わるはずです。Mastodonが流行り始めた頃にも、サーバにパスワードを渡すのは危険などといった注意喚起をしてくれるおじさんがたくさん出てきましたよね。多分この人たちがまたヘンテコな注意喚起を広めてくれるでしょうから……。

fishprinterみたいな名前でウェブアーカイブサーバがゴロッとでてくるといいな。ストレージが巨大になるので流行らんと思う。

# おわりに

あまねけ！サイト管理者としては、ウェブアーカイブサイトを特別に拒否する計画はありません。これは、このサイトのコンテンツがCC BY 4.0でライセンスされているというのもありますが、そもそも魚拓を取られることに対して怒りが湧いたりしないというのが大きいです。

あと、今回のタレコミはそれなりにありがたかったけど、「都合のいいようにサイトの内容を書き換える」みたいなセンセーショナルな怪情報を投げつけて人に調査させるのはやめてほしいかな。ごめんね。

おわりです。
