Giter Site home page Giter Site logo

nathanielcrosby1 / esapi-java-legacy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from esapi/esapi-java-legacy

1.0 0.0 0.0 49.14 MB

ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control library that makes it easier for programmers to write lower-risk applications.

Home Page: https://owasp.org/www-project-enterprise-security-api/

License: Other

Java 98.57% Shell 1.02% HTML 0.38% Batchfile 0.01% Roff 0.01%

esapi-java-legacy's Introduction

Enterprise Security API for Java (Legacy)

Build Status Coverage Status Coverity Status OpenSSF Best Practices

OWASP® ESAPI (The OWASP Enterprise Security API) is a free, open source, web application security control library that makes it easier for programmers to write lower-risk applications. The ESAPI for Java library is designed to make it easier for programmers to retrofit security into existing applications. ESAPI for Java also serves as a solid foundation for new development.

A word about ESAPI and Log4J vulnerabilities

This is way too detailed to litter the README file with, but several of you have been asking about this, so I wrote up something on it and posted it to the ESAPI Users Google group. You can find it at A word about Log4J vulnerabilities in ESAPI - the TL;DR version.

Where is the OWASP ESAPI wiki page?

You can find the OWASP ESAPI wiki pages at https://owasp.org/www-project-enterprise-security-api/. The ESAPI legacy GitHub repo also has a few useful wiki pages.

What does Legacy mean?

This is the legacy branch of ESAPI which means it is an actively maintained branch of the project, however significan *new* feature development for this branch will *not* be done. Features that have already been scheduled for the 2.x branch will move forward. You will find that GitHub repository at [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).

IMPORTANT NOTES: The default branch for ESAPI legacy is now the 'develop' branch (rather than the 'main' (formerly 'master') branch), where future development, bug fixes, etc. will now be done. The 'main' branch is now marked as "protected"; it reflects the latest stable ESAPI release (2.1.0.1 as of this date). Note that this change of making the 'develop' branch the default may affect any pull requests that you were intending to make.

Also, the minimal baseline Java version to use ESAPI is Java 7. (This was changed from Java 6 during the 2.2.0.0 release.)

Where can I find ESAPI 3.x?

https://github.com/ESAPI/esapi-java

Note however that work on ESAPI 3 has not yet become in earnest and is only in its earliest planning stages. Even the code that is presently there will likely change.

ESAPI release notes

The ESAPI release notes may be found in ESAPI's "documentation" directory. They are generally named "esapi4java-core-2.#.#.#-release-notes.txt", where "2.#.#.#" refers to the ESAPI release number (which uses semantic versioning).

IMPORTANT

Starting with ESAPI 2.2.3.0, ESAPI is using a version of AntiSamy that by default includes 'slf4j-simple' and does XML schema validation on the AntiSamy policy files. Please READ the release notes for the 2.2.3.0 release (at least the beginning portion) for some important notes that likely will affect your use of ESAPI! You have been warned!!!

Locating ESAPI Jar files

The latest ESAPI release is 2.2.3.1. The default configuration jar and its GPG signature can be found at esapi-2.2.3.1-configuration.jar and esapi-2.2.3.1-configuration.jar.asc respectively.

The latest regular ESAPI jars can are available from Maven Central.

However, before you start a new project using ESAPI, but sure to read "Should I use ESAPI?".

ESAPI Deprecation Policy

Unless we unintentionally screw-up, our intent is to keep classes, methods, and/or fields whihc have been annotated as "@deprecated" for a minimum of two (2) years or until the next major release number (e.g., 3.x as of now), which ever comes first, before we remove them. Note that this policy does not apply to classes under the org.owasp.esapi.reference package. You are not expected to be using such classes directly in your code.

Contributing to ESAPI legacy

How can I contribute or help with fix bugs?

Fork and submit a pull request! Simple as pi! We generally only accept bug fixes, not new features because as a legacy project, we don't intend on adding new features, although we may make exceptions. If you wish to propose a new feature, the best place to discuss it is via the ESAPI-DEV mailing list mentioned below. Note that we vet all pull requests, including coding style of any contributions; use the same coding style found in the files you are already editing.

If you are new to ESAPI, a good place to start is to look for GitHub issues labled as 'good first issue'. (E.g., to find all open issues with that label, use https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)

You can find additional details in the file 'CONTRIBUTING-TO-ESAPI.txt'.

What happened to Google code?

In mid-2014 ESAPI Migrated all code to GitHub. This migration was completed in November 2014.

What about the issues still located on Google Code?

All issues from Google Code have been migrated to GitHub issues. We have a JIRA/Confluence instance allocated to us, but it has not be configured to synchronize with the GitHub issues, and thus is should not be used. JIRA is fine, but if we can't have it synchronized with GitHub issues (which is where the majority of our users report issues), it is not usuable. As developers, we do not want to spent time having to close issues from multiple bug-tracking sites. Therefore, until this synchronization happens (see GitHub issue #371), please ONLY use GitHub for reporting bugs.

When reporting an issue, please be clear and try to ensure that the ESAPI development team has sufficient information to be able to reproduce your results. If you have not already done so, this might be a good time to read Eric S. Raymond's classic "How to Ask Questions the Smart Way", at http://www.catb.org/esr/faqs/smart-questions.html before posting your issue.

Find an Issue?

If you have found a bug, then create an issue on the esapi-legacy-java repo: https://github.com/ESAPI/esapi-java-legacy/issues

NOTE: Please do NOT use GitHub issues to ask questions about ESAPI. If you wish to do this, post to either of the 2 mailing lists (now on Google Groups) found at the bottom of this page. If we find questions as GitHub issues, we simply will close them and direct you to do this anyhow.

Find a Vulnerability?

If you have found a vulnerability in ESAPI legacy, first search the issues list (see above) to see if it has already been reported. If it has not, then please contact both Kevin W. Wall (kevin.w.wall at gmail.com) and Matt Seil (matt.seil at owasp.org) directly. Please do not report vulnerabilities via GitHub issues or via the ESAPI mailing lists as we wish to keep our users secure while a patch is implemented and deployed. If you wish to be acknowledged for finding the vulnerability, then please follow this process. (Eventually, we would like to have BugCrowd handle this, but that's still a ways off.) Also, when you post the email describing the vulnerability, please do so from an email address that you usually monitor.

More detail is available in the file 'SECURITY.md'.

Where to Find More Information on ESAPI

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: Until further notice, use the GitHub issues for reporting bugs and enhancement requests.

Documentation: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Coming Soon), for now find general documentation under the 'documentation/' directory, and the latest Javadoc under 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/

Mailing lists: As of 2019-03-25, ESAPI's 2 mailing lists were officially moved OFF of their Mailman mailing lists to a new home on Google Groups.

The names of the 2 Google Groups are "esapi-project-users" and "esapi-project-dev", which you may POST to after you subscribe to them via "Subscribe to ESAPI Users list" and "Subscribe to ESAPI Developers list" respectively.

Old archives for the old Mailman mailing lists for ESAPI-Users and ESAPI-Dev are still available at https://lists.owasp.org/pipermail/esapi-users/ and https://lists.owasp.org/pipermail/esapi-dev/ respectively.

For a general overview of Google Groups and its web interface, see https://groups.google.com/forum/#!overview

For assistance subscribing and unsubscribing to Google Groups, see 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 is a registered trademark of the OWASP Foundation, Inc.

esapi-java-legacy's People

Contributors

kwwall avatar jeremiahjstacey avatar xeno6696 avatar chrisisbeef avatar davewichers avatar snyk-bot avatar wiiitek avatar karansanwal avatar augustd avatar anthonyms avatar joelrabinovitch avatar davidmyersdev avatar simon0117 avatar sempf avatar hjw8472 avatar hellyguo avatar jackycct avatar michael-ziluck avatar niklasmehner avatar sunnypav avatar dependabot[bot] avatar mickilous avatar taringamberini avatar

Stargazers

Gábor Mihálcz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.