Search Header Logo

Quiz - Atelier 8 : Software and Data Integrity Failures

Authored by Stéphane Janvier

Computers

12th Grade

Used 1+ times

Quiz - Atelier 8 : Software and Data Integrity Failures
AI

AI Actions

Add similar questions

Adjust reading levels

Convert to real-world scenario

Translate activity

More...

    Content View

    Student View

5 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Votre équipe veut intégrer une librairie JavaScript trouvée sur npm. Un développeur remarque que le nom ressemble à une librairie populaire mais avec une petite différence : "lodaash" au lieu de "lodash". La librairie a été publiée il y a 2 jours et n'a que 15 téléchargements. Quelle est votre principale préoccupation ?

La librairie est trop récente pour être stable en production
C'est probablement du typosquatting - une librairie malveillante qui imite un nom populaire
Il faut vérifier si elle a une licence open source appropriée
Le nombre de téléchargements est trop faible pour une librairie fiable

Answer explanation

Le typosquatting est une technique commune où des attaquants créent des packages avec des noms similaires aux librairies populaires pour tromper les développeurs et installer du code malveillant.

2.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Votre application reçoit des données JSON d'une API externe et les traite ainsi : const userData = JSON.parse(req.body.data); user.profile = userData.profile;. Un développeur dit : "C'est sécuritaire, JSON.parse() ne peut pas exécuter de code contrairement à eval()". Quelle est votre réaction ?

Il a raison, JSON.parse() est toujours sécuritaire
Il faut valider et assainir les données avant de les utiliser, même après JSON.parse()
JSON.parse() est sécuritaire tant qu'on utilise HTTPS
Il faut remplacer JSON.parse() par une librairie plus sécurisée

Answer explanation

Bien que JSON.parse() ne puisse pas exécuter de code, les données désérialisées peuvent être malveillantes si utilisées sans validation. Il faut toujours valider les données externes.

3.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Votre application utilise une fonctionnalité de mise à jour automatique qui télécharge des mises à jour depuis votre serveur. Actuellement, elle vérifie seulement que l'URL commence par "https://votredomaine.com/". Quelle amélioration de sécurité devriez-vous implémenter en priorité ?

Vérifier que le certificat SSL du serveur est valide
Implémenter la vérification d'intégrité avec des signatures numériques ou des checksums
Utiliser un tunnel VPN pour télécharger les mises à jour
Limiter les mises à jour seulement pendant les heures d'ouverture

Answer explanation

Les mises à jour doivent être vérifiées pour leur intégrité et authenticité avant installation. Les signatures numériques ou checksums permettent de détecter toute modification malveillante.

4.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Un développeur utilise cette regex pour valider des entrées utilisateur : /^(a+)+$/ et remarque que l'application devient très lente quand un utilisateur entre "aaaaaaaaaaaaaaaaab". Quel est le problème et la solution ?

La regex est trop restrictive, il faut la simplifier
Il s'agit d'une attaque ReDoS causée par un backtracking catastrophique - implémenter un timeout
L'utilisateur envoie trop de caractères, limiter la longueur d'entrée
Il faut utiliser une regex plus performante avec des flags globaux

Answer explanation

Cette regex mal conçue cause un backtracking exponentiel avec certaines entrées, permettant une attaque ReDoS (Regular Expression Denial of Service). Il faut implémenter des timeouts.

5.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Dans votre pipeline CI/CD GitLab, vous voulez auditer automatiquement les dépendances npm. Votre collègue propose cette configuration : npm install && npm audit. Quelle amélioration suggérez-vous ?

Utiliser npm install --production pour éviter les devDependencies
Utiliser npm ci au lieu de npm install et fixer un niveau d'audit avec --audit-level=moderate
Ajouter --verbose pour avoir plus de détails dans les logs
Exécuter npm update avant npm audit pour avoir les dernières versions

Answer explanation

npm ci installe exactement les versions du lock file (reproductible) et --audit-level permet de contrôler le seuil de sévérité. Plus sécurisé que npm install qui peut modifier le lock file.

Access all questions and much more by creating a free account

Create resources

Host any resource

Get auto-graded reports

Google

Continue with Google

Email

Continue with Email

Classlink

Continue with Classlink

Clever

Continue with Clever

or continue with

Microsoft

Microsoft

Apple

Apple

Others

Others

Already have an account?