Eu tenho um pouco de discussão no meu local de trabalho e estou tentando descobrir quem está certo e qual é a coisa certa a fazer.
Contexto: um aplicativo da Web da intranet que nossos clientes usam para contabilidade e outros itens de ERP.
Sou da opinião de que uma mensagem de erro apresentada ao usuário (quando as coisas falham) deve incluir o máximo de informações possível, incluindo o rastreamento de pilha. Obviamente, ele deve começar com um belo "Ocorreu um erro, envie as informações abaixo para os desenvolvedores" em letras grandes e amigáveis.
Meu raciocínio é que uma captura de tela do aplicativo com falha geralmente será a única fonte de informações facilmente disponível. Claro, você pode tentar contatar o (s) administrador (es) de sistemas do cliente, tentar explicar onde estão seus arquivos de log, etc., mas isso provavelmente será lento e doloroso (conversar principalmente com os representantes do cliente).
Além disso, ter informações imediatas e completas é extremamente útil no desenvolvimento, onde você não precisa procurar nos arquivos de log para encontrar o que precisa em todas as exceções. (Mas isso pode ser resolvido com um comutador de configuração.)
Infelizmente, houve algum tipo de "auditoria de segurança" (não faço ideia de como eles fizeram isso sem as fontes ... mas tanto faz), e eles reclamaram das mensagens completas de exceção, citando-as como uma ameaça à segurança. Naturalmente, os clientes (pelo menos um que eu conheço) aceitaram isso pelo valor nominal e agora exigem que as mensagens sejam limpas.
Não vejo como um invasor em potencial poderia usar um rastreamento de pilha para descobrir algo que ele não poderia ter descoberto antes. Existem exemplos ou provas documentadas de alguém fazendo isso? Eu acho que devemos lutar contra essa ideia tola, mas talvez eu seja o tolo aqui, então ...
Quem está certo?
Unfortunately there has been some kind of "Security audit"
" - Sério? Que tipo de atitude é essa? As auditorias de segurança são para seu benefício - para melhorar seus sistemas, para encontrar os problemas antes dos bandidos. Você realmente deve considerar tentar trabalhar com eles, não contra eles. Além disso, você pode tentar obter mais informações sobre o PoV de segurança em Information Security .