
エンタープライズセキュリティAPIライブラリ。Java Webアプリケーション向けに、認証、アクセス制御、入力検証、出力エンコーディング、暗号化操作などのセキュリティ制御を提供し、アプリケーションのリスクを低減します。
| OWASP® ESAPI(OWASP Enterprise Security API)は、プログラマーがより低リスクなアプリケーションを書きやすくする、無料のオープンソースWebアプリケーションセキュリティコントロールライブラリです。ESAPI for Javaライブラリは、プログラマーが既存のアプリケーションにセキュリティを後付けしやすくするように設計されています。ESAPI for Javaは、新規開発のための強固な基盤としても機能します。 |
OWASP ESAPI wikiページはhttps://owasp.org/www-project-enterprise-security-api/にあります。ESAPIレガシーGitHubリポジトリにも、いくつかの役立つwikiページがあります。
これはESAPIのレガシーブランチです。つまり、このプロジェクトのブランチは積極的にメンテナンスされていますが、このブランチに対する大幅な*新規*機能開発は行われ*ません*。2.xブランチですでに計画されている機能は前進します。 このGitHubリポジトリは[https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy)にあります。
重要な注意事項: ESAPIレガシーのデフォルトブランチは現在「develop」ブランチ(以前の「main」(旧「master」)ブランチではなく)になり、今後の開発やバグ修正などはここで行われます。「main」ブランチは現在「保護」とマークされており、最新の安定版ESAPIリリース(本日時点で2.1.0.1)を反映しています。デフォルトを「develop」ブランチに変更したことは、あなたが行おうとしていたプルリクエストに影響を与える可能性があることに注意してください。
また、ESAPIを使用するための最小ベースラインJavaバージョンはJava 7です。(これは2.2.0.0リリースの際にJava 6から変更されました。)
https://github.com/ESAPI/esapi-java
ただし、ESAPI 3の作業はまだ本格化しておらず、ごく初期の計画段階にすぎないことに注意してください。現在存在するコードでさえ変更される可能性があります。
ESAPIリリースノートはESAPIの「documentation」ディレクトリにあります。通常は「esapi4java-core-2.#.#.#-release-notes.txt」という名前で、"2.#.#.#"はESAPIのリリース番号(セマンティックバージョニングを使用)を指します。
ESAPI 2.2.3.0以降、ESAPIはデフォルトで「slf4j-simple」を含み、AntiSamyポリシーファイルに対してXMLスキーマ検証を行うバージョンのAntiSamyを使用しています。ESAPIの使用に影響を与える可能性のある重要な注意事項については、2.2.3.0リリースのリリースノート(少なくとも冒頭部分)をお読みください!警告しました!!!
最新のESAPIリリースは2.2.3.0です。デフォルト設定jarとそのGPG署名は、それぞれesapi-2.2.3.0-configuration.jarとesapi-2.2.3.0-configuration.jar.ascにあります。
最新の通常のESAPI jarはMaven Centralから入手できます。
ただし、ESAPIを使用して新しいプロジェクトを開始する前に、「ESAPIを使うべきですか?」を必ずお読みください。
私たちが意図せずしくじらない限り、クラス、メソッド、および/またはフィールドで「@deprecated」と注釈が付けられたものは、削除する前に最低2年間、または次のメジャーリリース番号(例:現時点では3.x)のいずれか早い方まで保持する方針です。 このポリシーはorg.owasp.esapi.referenceパッケージ配下のクラスには適用されないことに注意してください。そのようなクラスをコード内で直接使用することは想定されていません。
Forkしてプルリクエストを送ってください!とても簡単です!レガシープロジェクトとして新機能を追加する予定はないため、例外を設けることはありますが、通常は新機能ではなくバグ修正のみを受け付けています。新機能を提案したい場合は、下記のESAPI-DEVメーリングリストで議論するのが最適です。すべてのプルリクエストは、コントリビューションのコーディングスタイルを含めて審査されることに注意してください。編集しているファイルと同じコーディングスタイルを使用してください。
ESAPIに慣れていない場合は、「good first issue」とラベル付けされたGitHub issuesを探すのが良い出発点です。(例:そのラベルが付いたすべてのオープンなissueを見つけるには、https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22を使用してください。)
詳細は「CONTRIBUTING-TO-ESAPI.txt」ファイルに記載されています。
2014年半ばにESAPIはすべてのコードをGitHubに移行しました。この移行は2014年11月に完了しました。
Google CodeのすべてのissuesはGitHub issuesに移行されました。JIRA/Confluenceインスタンスが割り当てられていますが、GitHub issuesと同期するように設定されておらず、したがって使用すべきではありません。JIRAは問題ありませんが、GitHub issues(大多数のユーザーがissueを報告する場所)と同期できないのであれば、実用的ではありません。開発者として、複数のバグトラッキングサイトからissueをクローズするために時間を費やしたくありません。したがって、この同期が行われるまで(GitHub issue #371を参照)、バグの報告にはGitHubのみを使用してください。
issueを報告する際は、明確にし、ESAPI開発チームがあなたの結果を再現できる十分な情報を提供するようにしてください。まだ読んでいない場合は、issueを投稿する前に、Eric S. Raymondの古典的名著「How to Ask Questions the Smart Way(賢い質問の仕方)」をhttp://www.catb.org/esr/faqs/smart-questions.htmlで読む良い機会かもしれません。
バグを発見した場合は、esapi-legacy-javaリポジトリでissueを作成してください:https://github.com/ESAPI/esapi-java-legacy/issues
注記:ESAPIに関する質問をGitHub issuesで行わないでください。質問したい場合は、このページの下部にある2つのメーリングリスト(現在はGoogle Groups上)のいずれかに投稿してください。GitHub issuesに質問が投稿されているのを見つけた場合、当チームは単にそれらをクローズし、そのようにするよう案内します。
ESAPIレガシーに脆弱性を発見した場合は、まず上記のissuesリストを検索して、すでに報告されていないか確認してください。まだ報告されていない場合は、Kevin W. Wall(kevin.w.wall at gmail.com)とMatt Seil(matt.seil at owasp.org)の両方に直接連絡してください。パッチが実装・展開される間、ユーザーの安全を守りたいため、GitHub issuesやESAPIメーリングリストを介して脆弱性を報告しないでください。脆弱性を発見したことに対して謝辞を受け取りたい場合は、このプロセスに従ってください。(最終的にはBugCrowdにこれを任せたいと考えていますが、まだ先の話です。)また、脆弱性を説明するメールを投稿する際は、普段監視しているメールアドレスから送信してください。
詳細は「SECURITY.md」ファイルに記載されています。
Wiki: https://owasp.org/www-project-enterprise-security-api/
ナイトリービルド: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Issues:追って通知があるまで、バグ報告と機能拡張リクエストにはGitHub issuesを使用してください。
ドキュメント: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (近日公開予定)、当面は「documentation/」ディレクトリの下に一般的なドキュメントがあり、最新のJavadocはhttps://www.javadoc.io/doc/org.owasp.esapi/esapi/ にあります。
IRCチャンネルでリアルタイムサポートを利用できます(ただし、参加してESAPI開発チームにも参加してもらいたい場合は、日時を事前にメールでお知らせください):
サーバー:irc.freenode.net
チャンネル:#esapi
Webチャット:https://webchat.freenode.net/
メーリングリスト: 2019年3月25日現在、ESAPIの2つのメーリングリストは正式にMailmanメーリングリストからGoogle Groups上の新しい場所に移行しました。
2つのGoogle Groupsの名前は「esapi-project-users」と「esapi-project-dev」で、「ESAPIユーザーリストを購読」と「ESAPI開発者リストを購読」でそれぞれ購読した後に投稿できます。
ESAPI-UsersとESAPI-Dev用の旧Mailmanメーリングリストの過去アーカイブは、引き続きhttps://lists.owasp.org/pipermail/esapi-users/ と https://lists.owasp.org/pipermail/esapi-dev/ でそれぞれ利用できます。
Google Groupsとそのウェブインターフェースの一般的な概要については、https://groups.google.com/forum/#!overviewを参照してください。
Google Groupsの購読および購読解除については、https://webapps.stackexchange.com/questions/13508/how-can-i-subscribe-to-a-google-mailing-list-with-a-non-google-e-mail-address/15593#15593を参照してください。
OWASPはOWASP Foundation, Inc.の登録商標です。