Perché ai programmatori non è stato detto di testare per questo e la schiacciante cultura aziendale non ha dato loro abbastanza margine per avere il loro senso dell'etica professionale e richiedere un altro paio di settimane per testare le vulnerabilità della sicurezza. O per insistere sul fatto che siano sicuri fin dall'inizio.
Perché il capo non voleva passare un paio di settimane in più per testare i problemi di sicurezza per ... qualunque ragione. Un bonus extra alla fine dell'anno. Presentando Johnson dal prossimo dipartimento. Vantarsi. Dovere verso la compagnia. Pigrizia. Diffidenza nei consigli del sottopelle.
Perché il grande capo richiedeva maggiori profitti e promosso Johnson a Bob perché il suo numero sembrava migliore rispetto a richiedere un prodotto migliore. Perché qualità e sicurezza sono valori difficili da visualizzare su un foglio di calcolo. Perché le multinazionali esistono per fare soldi.
Cose come questa sono un problema sistematico. Si riduce a "perché sono pazzi".
Modifica
I programmatori possono evitare di essere la capra sacrificale, dopo aver notato una mancanza, portare il problema al loro capo. Farà la cosa giusta e farà un piano per risolverlo o dirti di ignorarlo. Se non lo aggiusta, rendilo ufficiale, chiedi informazioni via e-mail. Utilizza parole chiave pertinenti al problema, come "vulnerabilità", "iniezione", "violazione della sicurezza" in questo caso. Cose che una ricerca e-mail avrebbe raccolto.
Questo sta superando il limite. È ora la responsabilità dei tuoi capi. Se è importante, come se le persone morissero quando questa cosa fallisce, ripassa la testa e porta il problema al suo capo. Puoi essere licenziato solo per aver passato il dollaro, e puoi comunque essere licenziato anche se lo fai passare, ma è la cosa giusta da fare. Non proprio così come in realtà risolvere il problema, ma chiudere.