Trac とは
スウェーデンにある EdgeWall Software が開発した プロジェクト管理ツールです。
Python で作成された Web アプリケーションであり、ソフトウェア開発のプロジェクト管理に特化しています。
Trac は以下の機能で構成されています。
2010年3月11日現在の安定版バージョンは 0.11.7です。
特徴
- Wiki の活用により、単なるバグトラッカではなくプロジェクトポータルとして利用できます。
- バグトラッカのコメントの記述や、Subversion のコミットログなどで表現力が高まります。
- Wiki, Subversion リポジトリ, バグトラッカを横断したリンクを簡単に作成することが出来ます。
- メールサーバの設定は不要です。
- Wiki ページ更新、バグトラッカの更新、 Subversion へのコミット等をRSS 配信できます。
- もちろん必要であればバグトラッカの更新はメール通知できます。
- Subversion で成果物を管理しているプロジェクトでは最大の効果を発揮します。
- ユーザ認証に HTTP 基本認証を使用するため、 Subversion のために作成したユーザをそのまま使用できます。
- リポジトリブラウザを使用することで、コミット内容やファイルの状態などが簡単に表示できます。
- Subversion に hook-script を設定することで、コミットとバグトラッカの状態を同期できます。
セキュリティ情報
セキュリティフィックス以前のバージョンをご利用の場合、更新を強く推奨します。
- 0.8 系列:
-
- 0.8.3 以前のバージョンには添付ファイル機能にディレクトリトラバーサルに対する脆弱性が存在します。
- 0.9 系列:
-
- 0.9.2 以前のバージョンには SQL インジェクションに対する脆弱性が存在します。
- 0.9.4 以前のバージョンには XSS に対する脆弱性が存在します。(関連情報: JVN#84091359)
- 0.9.5 以前のバージョンかつ reStructuredText の WikiProcessors を有効にしている場合、プライバシー情報の抜き取りと、サービス拒否攻撃(DoS)に対する脆弱性が存在します。この対応のため、 Trac-0.9.6 以降ではサポートする docutils のバージョンが0.3.9 以降に改められました。
- 0.10 系列:
-
- 0.10 (系列全体ではなく、最初のリリース) 以前の全てのバージョンには、CSRF に対する脆弱性が存在します。
- 0.10.3 以前のバージョンの添付ファイル機能に、 XSS に対する脆弱性が存在します。
- 0.10.3 以前のバージョンで、 Microsoft Internet Explorer を使用している場合に、 Wiki ページのテキスト形式でのダウンロードに XSS に対する脆弱性が存在します。(関連情報: JVN#91706484)
- 0.10.4 以前のバージョンの WikiFormatter 機能に、 XSS に対する脆弱性が存在します。
- 0.10.4 以前のバージョンの検索機能に、クロスサイトリダイレクションに対する脆弱性が存在します。
- 0.11 系列:
-
- 0.11.1 以前のバージョンの Wiki parser 機能に、処理性能が極端に悪くなるパターンがあり、その箇所を突くことで DOS 攻撃となりうる脆弱性が存在します。
- 0.11.1 以前のバージョンの WikiFormatter 機能に、 HTML 出力時の危険なコードの無効化が不十分なパターンがあります。この脆弱性を突かれることで、フィッシングの挿入の危険になり得ます。
- 0.11.5 以前のバージョンの TracReports では、 HTML 以外の形式で出力する際に FineGrainedPermission によるポリシーが適用されていない問題が存在します。 IPermissionPolicy インタフェースを実装するプラグインを使用している場合のみ影響があります。
- 0.11.5 以前のバージョンでは、 docutils-0.6 で実装された raw_role チェック相当の機能が実装されていません。 0.6 より古い docutils を使用している場合のみ影響があります。
- 0.11.6 以前のバージョンでは、権限が与えられていないユーザであっても、チケットのステータス ("status") と、解決方法 ("resolution") を変更できてしまうバグが存在します。
Trac-ja とは
Trac はオリジナル配布物のままでも、 Wiki ページ、バグ管理システムでの日本語利用や、 Subversion リポジトリでの日本語利用も基本的には可能です。(詳しくは配布に含まれる TracJa に記載しました)
しかし、ページのレイアウトテンプレートや、 Wiki 形式で同梱されているオンラインマニュアルが英語のみとなっているため、英語圏以外の利用者にとっては、必ずしも使いやすいとは言えません。
弊社では Trac を社内利用のために日本語ローカライズしており、その成果を Trac-ja として一般に提供しています。
配布に当たっての注意事項
- Trac-ja はフリーウェアです。
- ライセンス条項に従い、無償でご利用いただけます。
- 提供内容は "AS IS" です。配布物および、その利用による責任の一切を弊社は負いません。各自の自己責任においてご利用ください。
- Trac-ja に関しての質問やバグ報告は、 EdgeWall Software および Trac Project に行わないで下さい。
- Trac-ja は Trac の派生物であり、 EdgeWall Software および Trac Project はサポートしていません。
- また EdgeWall Software と弊社の間には、いかなる契約も締結されておらず、弊社も EdgeWall Software から見ると一ユーザに過ぎません。
ライセンス
ベースとなる Trac のバージョンと同じライセンスを適用します。現時点では 修正 BSD ライセンス です。
インストール方法
Trac-ja にはオリジナル配布に相当する全てのファイルが含まれています。通常通り setup.py を使用してインストールすることが出来ます。
書籍などによっては、オリジナル配布をインストールした上で、上書きインストールするように記述されている場合もありますが、この場合、一部のファイルが上書きされないことがあります。オリジナル配布が既にインストールされている場合、一旦アンインストールしてから新たに Trac-ja をインストールしてください。
詳しくは配布に含まれる TracJa, TracInstall, TracUpgrade をご覧ください。
謝辞
Trac-0.9.5 のリリースは、 Kazuhiro Nishiyama 様による IPA への情報提供が契機となりました。また EdgeWall Software への報告や対処については、 JPCERT/CC 脆弱性情報ハンドリングチームにご尽力いただきました。
Trac-0.10.3.1 のリリースは、株式会社ビジネス・アーキテクツ 太田 良典 様による IPA への報告が契機となりました。情報セキュリティ早期警戒パートナーシップに基づき、 JPCERT/CC 脆弱性情報ハンドリングチームにご尽力いただきました。
Trac-0.11 の日本語化にあたって、株式会社 NTTデータ様にご協賛いただきました。
ありがとうございました。
ソース
お問い合わせ
Trac-ja のバグ、ライセンス等に関するお問い合わせは Trac 日本語化作業グループ までお願いします。セキュリティ等の問題について、弊社では可能な限り誠意的に対応したいと考えておりますが、これは全てのお問い合わせに対して回答をお約束するものではありません。