Comment by jeremyjh
2 days ago
The arrogance of developers who think that they have to understand every threat model before they can address a problem is responsible for so many exploited vulnerabilities.
Please if you develop software, acknowledge that you do not know what you do not know, and take every opportunity to reduce attack surface area and potential information leaks. This is what computer security experts do.
The flip side of this argument is that often times as a developer, you might be asked to implement a "security" change that is actually worse, but the people asking you think it's better. How many people still work with system that require regular password rotations, or arbitrary complexity measures even though that is no longer considered good practice by organizations like NIST?
For that matter, and speaking of NIST, their new guidelines apparently require checks against known breach databases when registering passwords. So if the goal is to "take every opportunity to reduce attack surface area and potential information leaks", if you're following the latest NIST recommendations it sounds like integrating with HIBP is actually the correct thing to do. Obviously they could also do things like offline checking with a downloaded DB (though are you potentially leaking information if HA requests an up to date offline DB?) or make the feature opt in. And I do think they should do both of those things, to be clear. But I don't think it's arrogant to want to understand the proposed threat model before making a change to your application's default security posture. Especially if you chose that posture with the intention of making the system more secure in the first place, and it does reasonably do so.