
OWASP Enterprise Security API ライブラリは、Java Web アプリケーション向けにセキュリティ制御を提供し、認証、アクセス制御、入力検証、暗号化、エンコーディングを含み、脆弱性リスクを低減します。
| OWASP® ESAPI(The OWASP Enterprise Security API)は、プログラマがリスクの低いアプリケーションをより簡単に作成できるようにする、無料のオープンソースのWebアプリケーションセキュリティコントロールライブラリです。Java向けESAPIライブラリは、プログラマが既存アプリケーションにセキュリティを後付けで組み込みやすくするように設計されています。また、ESAPI for Javaは新規開発の強固な基盤としても機能します。 |
OWASP ESAPI Wikiページはhttps://owasp.org/www-project-enterprise-security-api/にあります。ESAPI legacyのGitHubリポジトリにもいくつかの有用なWikiページがあります。
これはESAPIのレガシーブランチであり、プロジェクトのアクティブにメンテナンスされているブランチですが、このブランチへの重要な*新しい*機能開発は行われ*ません*。すでに2.xブランチに予定されている機能は引き続き進められます。GitHubリポジトリは[https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy)にあります。
重要なお知らせ: ESAPI legacyのデフォルトブランチは現在'develop'ブランチ('main'(旧'master')ブランチではなく)になっており、今後の開発やバグ修正などはこちらで行われます。'main'ブランチは"protected"としてマークされており、最新の安定版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を使用して新しいプロジェクトを開始する前に、「Should I use ESAPI?」を必ずお読みください。
意図せず失敗しない限り、"@deprecated"と注釈されたクラス、メソッド、フィールドは、削除する前に最低2年間、または次のメジャーリリース番号(現時点では3.xなど)のいずれか早い方まで保持するつもりです。このポリシーはorg.owasp.esapi.referenceパッケージ以下のクラスには適用されません。そのようなクラスをコード内で直接使用することは想定されていません。
フォークしてプルリクエストを送信してください!パイのように簡単です!レガシープロジェクトとして新機能を追加する予定はないため、通常はバグ修正のみを受け付けますが、例外を認めることもあります。新機能を提案したい場合は、以下に記載されているESAPI-DEVメーリングリストで議論するのが最適です。すべてのプルリクエストは、コントリビューションのコーディングスタイルを含めて精査します。編集しているファイルと同じコーディングスタイルを使用してください。
ESAPIに初めて貢献する場合は、'good first issue'とラベル付けされたGitHub Issueを探すのが良い出発点です。(例:そのラベルが付いたすべてのオープン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のすべてのIssueは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 legacyに脆弱性を発見した場合、まずIssueリスト(上記参照)を検索して既に報告されていないか確認してください。報告されていない場合は、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/
Nightly Build: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Issues: 追って通知があるまで、バグ報告や機能拡張リクエストにはGitHub Issuesを使用してください。
Documentation: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (近日公開)、当面は一般的なドキュメントを'documentation/'ディレクトリ以下、最新のJavadocを https://www.javadoc.io/doc/org.owasp.esapi/esapi/ で参照してください。
Realtime Support available on our IRC Channel (but if you want to do so, and want the ESAPI dev team to participate, email us a heads up first as to the date/time):
Server: irc.freenode.net
Channel: #esapi
Webchat: 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.の登録商標です。