Un chercheur en vulnérabilités est un spécialiste de la sécurité offensive qui découvre des faiblesses jusque-là inconnues dans des logiciels ou du matériel. Plutôt que d'évaluer une cible définie pour le compte d'un client, comme le fait un pentester, le chercheur étudie le fonctionnement réel d'un produit afin de mettre au jour des failles dont ni ses utilisateurs ni ses concepteurs n'avaient conscience. Ce travail se situe à l'extrémité la plus technique du domaine offensif et porte souvent sur les systèmes d'exploitation, les piles réseau, les navigateurs, les firmwares ainsi que les composants embarqués ou matériels.
Au quotidien, le rôle s'articule autour d'une analyse minutieuse du comportement d'un système. Les chercheurs lisent le code source lorsqu'il est disponible, examinent les binaires compilés lorsqu'il ne l'est pas, reconstituent la logique des programmes par la rétro-ingénierie et recourent au fuzzing pour observer la réaction d'un logiciel face à des entrées inattendues. Une grande partie du temps est consacrée à comprendre un composant en profondeur, à formuler des hypothèses sur les endroits où ses présupposés se brisent et à confirmer si une faiblesse suspectée est réelle et significative. Les résultats sont documentés avec soin, avec suffisamment de détails pour qu'un éditeur puisse comprendre et reproduire le problème sous-jacent.
Un aspect déterminant du métier concerne ce qui se passe après la découverte d'une faille. Les chercheurs en vulnérabilités suivent généralement une divulgation responsable ou coordonnée : ils signalent une faiblesse en privé à la partie capable de la corriger et laissent le temps nécessaire à une correction avant toute discussion publique. Beaucoup publient des avis de sécurité ou des analyses techniques une fois le correctif disponible, contribuant ainsi au savoir partagé dans le domaine. Cette pratique de divulgation, de même que l'attention portée aux limites légales et éthiques, distingue la profession d'un détournement des mêmes compétences.
Le rôle exige de solides bases sur le fonctionnement des ordinateurs sous la couche applicative, notamment la gestion de la mémoire, l'assembleur, les rouages internes des systèmes d'exploitation et les classes courantes d'erreurs de programmation. La rétro-ingénierie, la maîtrise des débogueurs et des outils d'analyse, ainsi que la patience face à des investigations longues et incertaines, sont centrales. Les chercheurs arrivent souvent dans ce domaine après avoir acquis une expertise en développement logiciel, en programmation système ou en test d'intrusion, et beaucoup progressent grâce aux compétitions de capture the flag, à l'étude indépendante et à la participation à des programmes de bug bounty ou de divulgation avant de se consacrer pleinement à la recherche. Ils exercent chez des éditeurs de logiciels et des fabricants de matériel, dans des laboratoires de recherche dédiés, au sein de grandes entreprises de sécurité et, parfois, en indépendants.
La recherche de vulnérabilités est étroitement liée aux rôles offensifs voisins, mais s'en distingue par son orientation. Les pentesters et les équipes red team exploitent généralement des faiblesses connues contre des cibles définies dans le cadre d'une mission, tandis que le chercheur en vulnérabilités s'attache à découvrir les faiblesses elles-mêmes, le plus souvent sans périmètre ni échéance fixes. Les développeurs d'exploits peuvent s'appuyer sur les découvertes d'un chercheur pour en démontrer l'impact concret, et les analystes de malwares partagent une grande partie du même bagage en rétro-ingénierie. Ensemble, ces rôles forment un continuum, et les praticiens passent fréquemment de l'un à l'autre à mesure que leurs centres d'intérêt et leur expertise évoluent.