« Keynoteで文字が光っているようにする方法 | メイン | 「Apache Maven2.0入門――Java・オープンソース・ビルドツール」を読んだ »

Mavenで個人情報漏洩

Mavenを使っていて自分の個人情報が漏れかかったので書いておく。
Mavenについて簡単に説明すると、Javaでの開発ライフサイクルを管理してくれる非常に便利なツール。
ライブラリのjarファイルのダウンロード・プロジェクトのビルド・パッケージだけでなく、テスト実行やレポートの作成、作成されたjavadocのサイトへの配置、パッケージしたプロジェクトのデプロイ等々、これらを全て半自動化できる。
Maven自体もプラグインで拡張できるため、Windows向けのexeファイル化、Mac向けのappパッケージ化にも対応できる。
そんな便利ツールで個人情報が漏れかかった。
と言ってもセキュリティホールを見つけたという話ではなく、どちらかというと文化の違いに起因していると思う。
また、個人情報と言っても本名だけである。
日本のコミュニティでは、本名を伏せて活動している人が多いと思うが、PCへのログインは本名を使っている人はどれくらいいるのだろうか。
漏洩は、そのような人達がMavenを使う場合に起こりえる。
Mavenがjarファイルをパッケージする時に、マニフェストファイルを作成してくれるのだけど、その中に「Built-By」という項目がある。
ここに個人の本名が入る可能性がある。
「Built-By」にはデフォルトでuser.nameの値、つまりPCのアカウント名が入ってしまう。
MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Build-Jdk: 1.6.0_15
Main-Class: com.kanasansoft.Jyazo.Jyazo
Built-By: ■■■■
■で伏せた部分にアカウント名が出力される
対応策はいくつかあるが、自分が取った方法はm2eclipseと相性が良いpom.xmlに「Built-By」を指定する方法。
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--略-->
  <build>
    <plugins>
<!--略-->
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
<!--略-->
            <manifestEntries>
<!--略-->
              <Built-By>Kanasansoft</Built-By>
<!--略-->
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
<!--略-->
    </plugins>
<!--略-->
  </build>
<!--略-->
</project>
この対応方法は以下のページを参考にした。非常に助かった。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド