Podcast
Root Causes 437: Don't Blame the Linter


Linters are essential tools for maintaining quality of certificate issuance. Public open-source linters are available to help CAs assure compliance. As a result, CAs have begun attributing gaps in coverage by public linters as the root cause for misissuance events. We explain why this is faulty reasoning.
Podcast Transcript
Lightly edited for flow and brevity.
I think it's problematic for a couple reasons. One of which is, the linters aren't going to catch everything. They're just not. If you start to act like you think that the linter is the only line of defense you need, then you are destined for trouble, because they can never be comprehensive. Another problem with it is that linters are open source projects made by volunteers, and sometimes those volunteers are working on their day jobs, and those volunteers might not put the new thing into the linter the same day that the new thing goes into effect. So there's a new requirement and now we need a things-a-bobem. Nobody gets around to adding things-a-bobems into the linter for two months because they have jobs. In the meantime, the linter didn’t tell me there was no things-a-bobem. So there is this tendency we're seeing for CAs to give up their own ability to understand and be responsible for what they need to do, because they feel like they can outsource it entirely to a linter, and that is proving not to work.
Point number two is all CAs need to recognize that linters will inevitably, by their nature, remain incomplete, and there will always be a race to keep them current. So linters can have gaps, and linters can have time gaps, and both of those things are built into the system and the process. So you as a CA need to recognize that.
Then number three, of course, is if you did have one of these problems, and your root cause problem was to blame the linter, then when we get to the what are you going to do about it, one of the things that also I can't stand is when the CAs don't say we'll make the linter better. Like these are open source projects. If you have a flaw because the linter didn't catch it, go put it in. Be part of the solution. Contribute to the community. So those are all things that I think we shouldn't really be tolerant of. If those are being used as excuses for a CA having a failure.