La sécurité applicative, souvent abrégée en AppSec, est la spécialisation qui vise à rendre le logiciel lui-même résistant aux attaques. Plutôt que de défendre le réseau qui entoure une application ou de réagir après un incident, les professionnels s'emploient à garantir que le code, ses dépendances et la façon dont il est construit et déployé n'introduisent pas de faiblesses dès le départ. Ce domaine est essentiel parce que les applications détiennent et traitent les données que les organisations tiennent le plus à protéger, et parce qu'une seule faille dans un logiciel largement utilisé peut exposer toute une entreprise. À mesure que les entreprises livrent des logiciels en continu, l'AppSec est devenue l'une des filières de carrière en sécurité qui connaît la plus forte croissance et la plus forte demande.
Au quotidien, un professionnel de la sécurité applicative collabore étroitement avec les équipes d'ingénierie logicielle. Le travail consiste notamment à modéliser les menaces pesant sur les nouvelles fonctionnalités afin de comprendre comment elles pourraient être détournées, à examiner le code et l'architecture pour y repérer des classes récurrentes de faiblesses telles que l'injection ou le contrôle d'accès défaillant, et à exécuter et ajuster les outils qui analysent le code et les dépendances à la recherche de problèmes connus. Une grande partie du rôle consiste à intégrer la sécurité dans la chaîne de développement pour que les vérifications s'effectuent automatiquement et tôt, à trier les constats produits par ces vérifications et à aider les développeurs à comprendre et à corriger ce qui compte vraiment tout en filtrant le bruit. Communiquer le risque en des termes sur lesquels les ingénieurs peuvent agir, et le faire sans ralentir la livraison jusqu'à l'arrêt, est aussi central au métier que l'analyse technique elle-même.
Le rôle exige une véritable compréhension de la façon dont les logiciels sont écrits, ce qui explique pourquoi de nombreux praticiens sont issus du développement. La maîtrise d'un ou plusieurs langages de programmation, la familiarité avec les fondamentaux du web et des API, ainsi qu'une aisance avec la gestion de versions, les systèmes de build et l'intégration continue sont toutes attendues. À cela s'ajoute la nécessité, pour un spécialiste de la sécurité applicative, de connaître les taxonomies courantes de faiblesses et les principes de conception sécurisée, d'avoir le discernement nécessaire pour hiérarchiser les constats selon leur impact réel, et de disposer des compétences relationnelles pour influencer des équipes qui ne dépendent pas de lui. Des référentiels tels que les projets de l'OWASP et les modèles de cycle de développement sécurisé donnent au travail un vocabulaire et une structure communs.
On entre généralement dans ce domaine en venant de l'ingénierie logicielle, de l'ingénierie qualité ou de test, ou d'un rôle de sécurité plus large ayant touché au code. La pratique concrète, l'étude délibérée des classes courantes de vulnérabilités et des certifications reconnues aident les nouveaux venus à asseoir leur crédibilité. Avec l'expérience, un ingénieur AppSec peut évoluer vers des postes seniors et de lead qui définissent les standards et pilotent un programme de développement sécurisé à l'échelle de nombreuses équipes, ou se spécialiser davantage dans des domaines tels que la sécurité produit, la protection des applications cloud natives ou l'architecture sécurisée. Le domaine est proche de plusieurs filières voisines : il partage des techniques offensives avec la sécurité offensive et dépend de l'architecture de sécurité pour une conception solide, tout en transmettant le risque vérifié au programme défensif plus large et en informant les contrôles que les équipes de sécurité cloud mettent en application.