Ovviamente, non c'è una risposta corretta a questo, ma qui ci sono i miei pensieri su questo:
È un vantaggio per un utente malintenzionato avere il codice sorgente. Il test / attacco Black-Box è - per ovvi motivi - più difficile. Sapere come funzionano esattamente le cose è sempre meglio che indovinare come potrebbero funzionare. Inoltre, gli strumenti che ricercano la fonte per possibili vulnerabilità, ne richiedono l'origine;)
Ma il rilascio della fonte ha anche dei vantaggi (almeno in teoria). Altre persone leggeranno il codice sorgente e i bug rilevanti per la sicurezza del programma saranno più veloci.
Questo è ovviamente solo un vantaggio in due condizioni:
1. Le persone effettivamente leggono il codice sorgente e segnalano problemi.
2. Gli sviluppatori risolvono i problemi in modo tempestivo.
Entrambi i punti sono alquanto controversi. Le persone dietro l'idea dell'open source spesso suggeriscono che il punto 1. accade molto (di cui non sono così sicuro) e la pratica mostra che il punto 2. non è seguito da molti sviluppatori (tuttavia, se la vulnerabilità è stata pubblicata apertamente, qualsiasi utente è almeno a conoscenza di esso e può agire di conseguenza).
Quindi per i riepiloghi, è sicuramente un vantaggio per un utente malintenzionato avere il codice sorgente, ma più persone riesaminano la fonte, più bug saranno corretti.