[DISCUSSÃO] Como lidar com segurança em projetos open source?
Oi pessoal! Estou desenvolvendo um projeto open source, mas que em algum momento quero motenetizar algumas funcionalidades dele. Não seria inseguro abrir o codigo onde ocorreram transações financeiras reais? De algum jeito não estaremos criando uma vulnerabilidade para o projeto, dando a chance de pessoas maliciosas entenderem como opera o codigo daquelas transações em produção, e de alguma forma capturarem dados financeiros dos usuários? E qual seria o jeito de mantermos o codigo aberto, mas ainda com segunrança principalmente no que se tratar a transações financeiras.
Eu não tenho essas respostas mas acho interressante levantar essa discussão por aqui.
- pic triste:
É um enorme problema. Se você não confiar no que está fazendo no código. Se fechar o código for a única forma de dar segurança, então tanto faz. Se o código opera a segurança de forma correta, não muda nada. O Linux é aberto e opera coisas das mais críticas possíveis, muito mais do que qualquer projeto individual.
Segurança é algo que a pessoa precisa saber fazer. Para isso precisa dominar toda computação. O que os hackers/crackers fazem é explorar vulnerabilidades porque eles dominam toda computação e esperam que as pessoas façam códigos sem dominar ou sem a devida atenção.
Facilita poder ver um código? Claro que sim, mas não muda muito. Alguém vai tentar explorar alguma vulnerabilidade? Só se for usado em algo realmente que faz sentido um ataque. Tem casos que nem vão saber que existe, mesmo com código aberto.
Como complemento: https://pt.stackoverflow.com/q/46057/101
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Barba, ótima pergunta e nós estamos na mesma situação aqui no TabNews, dado que o repositório é open source.
Eu acredito que no nosso caso o saldo seja positivo, porque estamos facilitando que seja encontrado brechas de segurança tanto para pessoas mal-intencionadas, quanto pessoas bem-intencionadas, e como o projeto tem uma certa popularidade, há uma chance de esbarrar em pessoas bem-intencionadas, onde se o projeto não fosse open source, estas pessoas bem-intencionadas não teriam como contribuir (a não ser que você tenha programas de bug bounty em plataformas como HackerOne, mas é uma operação extremamente cara).
A questão é que você precisa ter um objetivo na escolha de disponibilizar o projeto open source, e tentar atingir esse objetivo. Como esse código faz parte de um serviço sério, não deixe o projeto aberto só por deixar.