6 buckets of prodsec

A product security team exists to protect people and their data. 

We do this by making our companies products as secure as possible. Software security is hard though. As a species we are not capable of writing vuln-free software. Hell, we cannot even determine how secure or not it is with much certainty.

Given that, our goal should be to maximally reduce risk. I do this by tracking the outcomes of vulns. 

There are 6 buckets a security bug can fall into on its journey through life

Prevented > autofound > humanfound > externally found > unfound > exploited.

Whenever we shift a vuln leftward on this spectrum, we are winning. 

We aim to shift as many bugs as possible, as far to the left as possible. That’s it, that is our whole job. 

Methods

Here are lots of methods to nudge future bugs towards a given outcome bucket

Each method has a cost (time, $$$, friction to company), a return (# of bugs shifted and how far). Each company, situation, team has different trade-offs here.

Conclusion

All teams will still mess up sometimes and bugs will go unfound until they are exploited. It happens. 

This is painful and bad but security is not an activity where anyone can bat one thousand, its just the nature of the problem. What we can do is put our limited resources behind the methods that shift the most bugs, the furthest to the left.