
| A OWASP® ESAPI (OWASP Enterprise Security API) é uma biblioteca gratuita e de código aberto de controles de segurança para aplicações web que facilita para os programadores escreverem aplicações de menor risco. A biblioteca ESAPI para Java é projetada para facilitar a adaptação de segurança em aplicações existentes pelos programadores. A ESAPI para Java também serve como uma base sólida para novos desenvolvimentos. |
Você pode encontrar as páginas wiki da OWASP ESAPI em https://owasp.org/www-project-enterprise-security-api/. O repositório GitHub do ESAPI legacy também tem algumas páginas wiki úteis.
Este é o branch legado do ESAPI, o que significa que é um branch do projeto ativamente mantido; no entanto, um desenvolvimento significativo de *novos* recursos para este branch *não* será feito. Os recursos que já foram programados para o branch 2.x seguirão adiante. Você encontrará esse repositório GitHub em [https://github.com/ESAPI/esapi-java-legacy](https://github.com/ESAPI/esapi-java-legacy).
NOTAS IMPORTANTES: O branch padrão do ESAPI legacy agora é o branch 'develop' (em vez do branch 'main' (antigamente 'master')), onde serão feitos o desenvolvimento futuro, correções de bugs, etc. O branch 'main' agora está marcado como "protegido"; ele reflete a última versão estável do ESAPI (2.1.0.1 até esta data). Observe que essa mudança de tornar o branch 'develop' o padrão pode afetar quaisquer pull requests que você pretendia fazer.
Além disso, a versão Java mínima necessária para usar o ESAPI é Java 7. (Isso foi alterado de Java 6 durante o lançamento da versão 2.2.0.0.)
https://github.com/ESAPI/esapi-java
Observe, porém, que o trabalho no ESAPI 3 ainda não começou de verdade e está apenas nos estágios iniciais de planejamento. Até o código atualmente presente provavelmente mudará.
As notas de versão do ESAPI podem ser encontradas no diretório "documentation" do ESAPI. Elas geralmente são nomeadas "esapi4java-core-2.#.#.#-release-notes.txt", onde "2.#.#.#" se refere ao número da versão do ESAPI (que usa versionamento semântico).
A partir do ESAPI 2.2.3.0, o ESAPI está usando uma versão do AntiSamy que, por padrão, inclui 'slf4j-simple' e faz validação de esquema XML nos arquivos de política do AntiSamy. Por favor, LEIA as notas de versão do lançamento 2.2.3.0 (pelo menos a parte inicial) para obter algumas notas importantes que provavelmente afetarão seu uso do ESAPI! Você foi avisado!!!
A última versão do ESAPI é a 2.2.3.0. O jar de configuração padrão e sua assinatura GPG podem ser encontrados em esapi-2.2.3.0-configuration.jar e esapi-2.2.3.0-configuration.jar.asc, respectivamente.
Os jars regulares mais recentes do ESAPI estão disponíveis no Maven Central.
No entanto, antes de iniciar um novo projeto usando o ESAPI, certifique-se de ler "Devo usar o ESAPI?".
A menos que estraguemos tudo sem querer, nossa intenção é manter classes, métodos e/ou campos anotados como "@deprecated" por um mínimo de dois (2) anos ou até o próximo número de versão principal (por exemplo, 3.x até agora), o que ocorrer primeiro, antes de removê-los. Observe que esta política não se aplica a classes no pacote org.owasp.esapi.reference. Não se espera que você use essas classes diretamente em seu código.
Faça um fork e envie um pull request! Simples como pi! Geralmente só aceitamos correções de bugs, não novos recursos, porque, como um projeto legado, não pretendemos adicionar novos recursos, embora possamos abrir exceções. Se você deseja propor um novo recurso, o melhor lugar para discuti-lo é por meio da lista de discussão ESAPI-DEV mencionada abaixo. Observe que analisamos todos os pull requests, incluindo o estilo de codificação de quaisquer contribuições; use o mesmo estilo de codificação encontrado nos arquivos que você já está editando.
Se você é novo no ESAPI, um bom lugar para começar é procurar issues do GitHub marcadas como 'good first issue'. (Por exemplo, para encontrar todas as issues abertas com esse rótulo, use https://github.com/ESAPI/esapi-java-legacy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22.)
Você pode encontrar detalhes adicionais no arquivo 'CONTRIBUTING-TO-ESAPI.txt'.
Em meados de 2014, o ESAPI migrou todo o código para o GitHub. Essa migração foi concluída em novembro de 2014.
Todas as issues do Google Code foram migradas para as issues do GitHub. Temos uma instância JIRA/Confluence alocada para nós, mas ela não foi configurada para sincronizar com as issues do GitHub e, portanto, não deve ser usada. O JIRA é bom, mas se não pudermos sincronizá-lo com as issues do GitHub (que é onde a maioria dos nossos usuários relata problemas), ele não é utilizável. Como desenvolvedores, não queremos gastar tempo fechando issues de vários sites de rastreamento de bugs. Portanto, até que essa sincronização aconteça (consulte a issue #371 do GitHub), use SOMENTE o GitHub para relatar bugs.
Ao relatar uma issue, seja claro e tente garantir que a equipe de desenvolvimento do ESAPI tenha informações suficientes para reproduzir seus resultados. Se você ainda não o fez, este pode ser um bom momento para ler o clássico de Eric S. Raymond "How to Ask Questions the Smart Way", em http://www.catb.org/esr/faqs/smart-questions.html, antes de postar sua issue.
Se você encontrou um bug, crie uma issue no repositório esapi-legacy-java: https://github.com/ESAPI/esapi-java-legacy/issues
NOTA: Por favor, NÃO use as issues do GitHub para fazer perguntas sobre o ESAPI. Se desejar fazer isso, poste em uma das 2 listas de discussão (agora no Google Groups) encontradas no final desta página. Se encontrarmos perguntas como issues do GitHub, simplesmente as fecharemos e indicaremos que você faça isso de qualquer forma.
Se você encontrou uma vulnerabilidade no ESAPI legacy, primeiro pesquise na lista de issues (veja acima) para ver se ela já foi relatada. Se não foi, entre em contato diretamente com Kevin W. Wall (kevin.w.wall at gmail.com) e Matt Seil (matt.seil at owasp.org). Por favor, não relate vulnerabilidades por meio de issues do GitHub ou das listas de discussão do ESAPI, pois queremos manter nossos usuários seguros enquanto um patch é implementado e implantado. Se você deseja ser reconhecido por encontrar a vulnerabilidade, siga este processo. (Eventualmente, gostaríamos que a BugCrowd cuidasse disso, mas ainda está longe.) Além disso, ao postar o e-mail descrevendo a vulnerabilidade, faça-o a partir de um endereço de e-mail que você normalmente monitora.
Mais detalhes estão disponíveis no arquivo 'SECURITY.md'.
Wiki: https://owasp.org/www-project-enterprise-security-api/
Compilação Noturna: Travis CI - https://travis-ci.org/bkimminich/esapi-java-legacy
JIRA: https://owasp-esapi.atlassian.net/browse/ESAPILEG
Issues: Até novo aviso, use as issues do GitHub para relatar bugs e solicitações de melhorias.
Documentação: https://owasp-esapi.atlassian.net/wiki/display/ESAPILEG/ESAPI+Legacy (Em breve), por enquanto encontre a documentação geral no diretório 'documentation/' e o Javadoc mais recente em https://www.javadoc.io/doc/org.owasp.esapi/esapi/
Suporte em tempo real disponível em nosso canal IRC (mas se você quiser fazer isso e quiser que a equipe de desenvolvimento do ESAPI participe, envie-nos um e-mail antes informando a data/hora):
Servidor: irc.freenode.net
Canal: #esapi
Webchat: https://webchat.freenode.net/
Listas de discussão: A partir de 2019-03-25, as 2 listas de discussão do ESAPI foram oficialmente removidas das suas listas Mailman e transferidas para um novo lar no Google Groups.
Os nomes dos 2 Google Groups são "esapi-project-users" e "esapi-project-dev", para os quais você pode POSTAR depois de se inscrever por meio de "Inscrever-se na lista de usuários do ESAPI" e "Inscrever-se na lista de desenvolvedores do ESAPI", respectivamente.
Os arquivos antigos das antigas listas de discussão Mailman para ESAPI-Users e ESAPI-Dev ainda estão disponíveis em https://lists.owasp.org/pipermail/esapi-users/ e https://lists.owasp.org/pipermail/esapi-dev/, respectivamente.
Para uma visão geral do Google Groups e sua interface web, consulte https://groups.google.com/forum/#!overview
Para obter ajuda para se inscrever e cancelar a inscrição em grupos do Google, consulte 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 é uma marca registrada da OWASP Foundation, Inc.