frontend-mobile-security-xss-scan
Сканирование фронтенд-кода на уязвимости XSS
Этот навык помогает разработчикам выявлять уязвимости межсайтового скриптинга (XSS) в коде React, Vue, Angular и чистом JavaScript, предоставляя практические исправления и шаблоны безопасного кодирования.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «frontend-mobile-security-xss-scan». Просканируйте этот код на XSS: element.innerHTML = userInput;
Ожидаемый результат:
## Обнаружена уязвимость XSS
**Уровень серьезности:** Критический
**Тип:** Небезопасная манипуляция HTML
**Расположение:** Строка 1
**CWE:** CWE-79
**Описание:** Назначение пользовательских данных на innerHTML создает риск XSS.
**Исправление:** Используйте element.textContent для простого текста или выполните санитизацию с помощью DOMPurify:
```javascript
import DOMPurify from 'dompurify';
element.innerHTML = DOMPurify.sanitize(userInput);
```
Использование «frontend-mobile-security-xss-scan». Проверьте этот код React: <div dangerouslySetInnerHTML={{__html: content}} />
Ожидаемый результат:
## Обнаружен риск XSS в React
**Уровень серьезности:** Высокий
**Тип:** Небезопасный рендеринг HTML в React
**Расположение:** Компонент
**Проблема:** dangerouslySetInnerHTML используется без санитизации.
**Исправление:** Выполните санитизацию перед рендерингом:
```javascript
import DOMPurify from 'dompurify';
<div dangerouslySetInnerHTML={{__html: DOMPurify.sanitize(content)}} />
```
Использование «frontend-mobile-security-xss-scan». Найдите проблемы XSS в: <a href={userUrl}>Link</a>
Ожидаемый результат:
## Обнаружен риск инъекции URL
**Уровень серьезности:** Высокий
**Тип:** Инъекция URL
**Проблема:** Пользовательский URL в атрибуте href без проверки.
**Исправление:** Проверьте и выполните санитизацию URL:
```javascript
const safeUrl = url.startsWith('http://') || url.startsWith('https://')
? url
: '#';
```
Аудит безопасности
БезопасноThis 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.
Проблемы среднего риска (1)
Проблемы низкого риска (1)
Факторы риска
⚡ Содержит скрипты (1)
📁 Доступ к файловой системе (1)
Оценка качества
Что вы можете построить
Аудит безопасности веб-приложения
Сканирование кодовой базы React или Vue перед выпуском в продакшн для выявления и исправления уязвимостей XSS.
Интеграция безопасности в CI/CD
Интеграция сканирования XSS в конвейеры сборки для обнаружения уязвимостей до развертывания.
Помощник в проверке безопасного кода
Использование в качестве помощника по кодированию для проверки изменений кода на наличие проблем безопасности во время разработки.
Попробуйте эти промпты
Просканируйте этот JavaScript-код на наличие уязвимостей XSS: ``` [ВСТАВЬТЕ КОД СЮДА] ``` Определите любое использование innerHTML, вызовы document.write или рендеринг непроверенного пользовательского ввода.
Проверьте этот компонент React на наличие уязвимостей XSS: ``` [ВСТАВЬТЕ КОД REACT СЮДА] ``` Проверьте использование dangerouslySetInnerHTML, инъекцию обработчиков событий и обработку данных на основе props.
Выполните комплексный аудит безопасности XSS для следующей кодовой базы. Включите уровни серьезности, ссылки на CWE и рекомендуемые исправления: ``` [ВСТАВЬТЕ КОД СЮДА] ```
Какие существуют безопасные альтернативы этому потенциально уязвимому шаблону кода? ``` [ВСТАВЬТЕ УЯЗВИМЫЙ КОД] ``` Предоставьте конкретные исправления с использованием DOMPurify или безопасных методов фреймворка.
Лучшие практики
- Всегда выполняйте санитизацию пользовательского ввода перед рендерингом HTML с помощью DOMPurify или аналогичных библиотек
- Предпочитайте textContent вместо innerHTML для рендеринга простого текстового контента
- Проверяйте и добавляйте в белый список протоколы URL (http, https) перед назначением на href или location
Избегать
- Использование innerHTML с прямым пользовательским вводом без санитизации
- Использование dangerouslySetInnerHTML без санитизации DOMPurify
- Назначение пользовательских URL на location.href без проверки
Часто задаваемые вопросы
Что такое XSS?
Работает ли этот навык с TypeScript?
Может ли это сканировать приложения Vue?
Какие уровни серьезности используются?
Предоставляет ли он исправления для уязвимостей?
Может ли это заменить ручные проверки безопасности?
Сведения для разработчиков
Автор
sickn33Лицензия
MIT
Репозиторий
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/frontend-mobile-security-xss-scanСсылка
main
Структура файлов
📄 SKILL.md