frontend-mobile-security-xss-scan
Analyser le code frontend pour les vulnérabilités XSS
Cette compétence aide les développeurs à identifier les vulnérabilités Cross-Site Scripting (XSS) dans le code React, Vue, Angular et JavaScript vanilla, en fournissant des corrections exploitables et des modèles de codage sécurisés.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "frontend-mobile-security-xss-scan". Analyser ce code pour XSS: element.innerHTML = userInput;
Résultat attendu:
## Vulnérabilité XSS trouvée
**Gravité:** Critique
**Type:** Manipulation HTML non sécurisée
**Emplacement:** Ligne 1
**CWE:** CWE-79
**Description:** Les données contrôlées par l'utilisateur assignées à innerHTML créent un risque XSS.
**Correction:** Utiliser element.textContent pour le texte brut, ou assainir avec DOMPurify:
```javascript
import DOMPurify from 'dompurify';
element.innerHTML = DOMPurify.sanitize(userInput);
```
Utilisation de "frontend-mobile-security-xss-scan". Vérifier ce code React: <div dangerouslySetInnerHTML={{__html: content}} />
Résultat attendu:
## Risque XSS React trouvé
**Gravité:** Élevé
**Type:** Rendu HTML non sécurisé React
**Emplacement:** Composant
**Problème:** dangerouslySetInnerHTML utilisé sans assainissement.
**Correction:** Assainir avant le rendu:
```javascript
import DOMPurify from 'dompurify';
<div dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(content)}} />
```
Utilisation de "frontend-mobile-security-xss-scan". Trouver les problèmes XSS dans: <a href={userUrl}>Link</a>
Résultat attendu:
## Risque d'injection URL trouvé
**Gravité:** Élevé
**Type:** Injection URL
**Problème:** URL fournie par l'utilisateur dans l'attribut href sans validation.
**Correction:** Valider et assainir les URLs:
```javascript
const safeUrl = url.startsWith('http://') || url.startsWith('https://')
? url
: '#';
```
Audit de sécurité
SûrThis is a legitimate defensive security skill for XSS vulnerability detection. The static analyzer flagged patterns are educational examples of vulnerable code that the skill teaches users how to detect. These patterns include innerHTML usage, fs.readFile for scanning files, and security best practices - all defensive security content, not malicious code. The skill provides guidance on identifying and fixing XSS vulnerabilities in frontend codebases.
Problèmes à risque moyen (1)
Problèmes à risque faible (1)
Facteurs de risque
⚡ Contient des scripts (1)
📁 Accès au système de fichiers (1)
Score de qualité
Ce que vous pouvez construire
Audit de sécurité pour application web
Analyser une base de code React ou Vue avant la mise en production pour identifier et corriger les vulnérabilités XSS.
Intégration sécurité CI/CD
Intégrer l'analyse XSS dans les pipelines de build pour détecter les vulnérabilités avant le déploiement.
Assistant de revue de code sécurisé
Utiliser comme compagnon de codage pour examiner les modifications de code pour des problèmes de sécurité pendant le développement.
Essayez ces prompts
Analyser ce code JavaScript pour les vulnérabilités XSS: ``` [PASTE CODE HERE] ``` Identifier tout usage de innerHTML, appels document.write, ou rendu d'entrée utilisateur non assaini.
Examiner ce composant React pour les vulnérabilités XSS: ``` [PASTE REACT CODE HERE] ``` Vérifier l'usage de dangerouslySetInnerHTML, l'injection de gestionnaire d'événements, et la gestion de données basée sur les props.
Effectuer un audit de sécurité XSS complet sur la base de code suivante. Inclure les niveaux de gravité, références CWE, et corrections recommandées: ``` [PASTE CODE HERE] ```
Quelles sont les alternatives sécurisées pour ce modèle de code potentiellement vulnérable? ``` [PASTE VULNERABLE CODE] ``` Fournir des corrections spécifiques utilisant DOMPurify ou des méthodes sûres du framework.
Bonnes pratiques
- Toujours assainir les entrées utilisateur avant de rendre du HTML en utilisant DOMPurify ou des bibliothèques similaires
- Préférer textContent à innerHTML pour rendre du contenu texte brut
- Valider et lister les protocoles URL autorisés (http, https) avant de les assigner à href ou location
Éviter
- Utiliser innerHTML avec des entrées utilisateur directes sans assainissement
- Utiliser dangerouslySetInnerHTML sans assainissement DOMPurify
- Assigner des URLs contrôlées par l'utilisateur à location.href sans validation