WordPressの更新をTwitterに投稿してくれるプラグイン「WordTwit」を快適に使っていたのですが、ちょっと気になることが。
WordTwitでは、Twitterとの認証をOAuthで行うため、アカウントとパスワードを生値で持つことはありません。しかしその代わりと言ってはなんですが、WordTwitを含めOAuthを行うクライアントは「Consumer key」と「Consumer secret」という一見ランダムな文字列を内部に持つ必要があります。これらの値が外部に漏洩すると、他のアプリケーションが自己を詐称してユーザーに認証を求めることが可能になります。WordTwitにアクセス権を与えていたつもりが、知らない間に別のプログラムからもアクセスされていたということが起こりえるわけです。
で、WordTwitはPHPで記述されているため、「Consumer key」と「Consumer secret」をソースコードから読みとれてしまいます。さすがにConsumer secretはパッと見わからないようBASE64エンコードされていましたが、BASE64は単なる文字変換で暗号化ではありません。BASE64でデコードすればあっさりConsumer secretを知ることが出来ます。
これって使い続けるの危険じゃないかということで、当ブログではWordTwitの使用を中止し、以前使用していたFeedBurner+dlvr.itでTwitter通知を行うこととしました。リアルタイム性が落ちてしまいますが、安全にはかえられません。
恐怖をあおるつもりはありませんが、参考までに。