La NSA est souvent mise en avant pour ses capacités en matière de cybersécurité. Mais comme toute entreprise, l’agence américaine forme ses collaborateurs aux métiers de l’IT et notamment au développement. Pour cela, elle dispose de modules de formation spécifique sur certains langages comme Python. Le problème est que ces cours ne sont pas accessibles pour le grand public.

Un développeur, Chris Swenson, alias Cupcake sur Twitter, a fait une demande d’accès à cette formation en vertu de la FOIA (Freedom of Information Act). Cette loi datant de 1966 prévoit le droit à l’information et oblige les agences fédérales à transmettre leurs documents, à quiconque en fait la demande, quelle que soit la nationalité. La NSA a répondu à Chris Swenson en lui fournissant une version expurgée du cours de Python, répondant au nom de Python COMP 3321.

Un matériel de 400 pages

Le document comprend 400 pages et a été mis en format PDF par le développeur sur un espace de stockage Digital Ocean. Dans le fichier, on apprend qu’un module d’enseignement peut se faire en classe sur une durée de 45 ou de 90 minutes. Dans l’idéal, la formation peut être effectuée sur deux semaines avec 10 modules hebdomadaires. Dans le cours, les étudiants utilisent la distribution Python Anaconda3 en version 4.0 et peuvent exécuter Python en ligne de commande ou sur un notebook Jupyter depuis un navigateur.

Les amateurs de secrets seront déçus car la formation ne dévoile pas grand-chose. Un développeur Python, Kushal Das, a parcouru le document et a relevé quelques points : une galerie Jupyter interne en HTTPS, un index interne de paquets Python, une instance Gitlab, les instructions d’installation git sont pour CentOs, RHEL, Ubuntu, Windows mais pas pour Debian.