Что такое Security scan failed?
Ошибка Security scan failed
возникает, когда автоматическая проверка безопасности кода, зависимостей или конфигурации обнаруживает уязвимости или проблемы безопасности.
Причины возникновения
- Уязвимости в зависимостях
- Проблемы с конфигурацией безопасности
- Утечки секретов в коде
- Проблемы с правами доступа
- Уязвимости в Docker образах
- Проблемы с SSL/TLS конфигурацией
- Нарушения политик безопасности
Как отладить ошибку
- Проверь отчет безопасности - изучи детальные результаты сканирования
- Проверь зависимости - найди уязвимые пакеты
- Проверь конфигурацию - убедись в правильности настроек
- Проверь секреты - найди утечки в коде
- Проверь права доступа - убедись в минимальных правах
Как исправить ошибку
1. Обнови уязвимые зависимости
2. Настрой автоматическое сканирование
1# .github/workflows/security-scan.yml
2name: Security Scan
3on: [push, pull_request]
4
5jobs:
6 security:
7 runs-on: ubuntu-latest
8 steps:
9 - uses: actions/checkout@v3
10
11 - name: Run Trivy vulnerability scanner
12 uses: aquasecurity/trivy-action@master
13 with:
14 scan-type: 'fs'
15 scan-ref: '.'
16 format: 'sarif'
17 output: 'trivy-results.sarif'
18
19 - name: Upload Trivy scan results
20 uses: github/codeql-action/upload-sarif@v2
21 with:
22 sarif_file: 'trivy-results.sarif'
3. Настрой проверку секретов
1# .github/workflows/secret-scan.yml
2name: Secret Scan
3on: [push, pull_request]
4
5jobs:
6 gitleaks:
7 runs-on: ubuntu-latest
8 steps:
9 - uses: actions/checkout@v3
10 with:
11 fetch-depth: 0
12
13 - name: Run Gitleaks
14 uses: gitleaks/gitleaks-action@v2
15 env:
16 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4. Настрой проверку Docker образов
1# .github/workflows/docker-security.yml
2name: Docker Security Scan
3on: [push]
4
5jobs:
6 scan:
7 runs-on: ubuntu-latest
8 steps:
9 - uses: actions/checkout@v3
10
11 - name: Build Docker image
12 run: docker build -t myapp .
13
14 - name: Run Trivy vulnerability scanner
15 uses: aquasecurity/trivy-action@master
16 with:
17 image-ref: 'myapp:latest'
18 format: 'sarif'
19 output: 'trivy-results.sarif'
5. Настрой проверку конфигурации
1#!/bin/bash
2# security-check.sh
3
4echo "Checking for hardcoded secrets..."
5grep -r "password\|secret\|key" src/ | grep -v "example\|test"
6
7echo "Checking file permissions..."
8find . -type f -executable -name "*.py" -o -name "*.sh"
9
10echo "Checking SSL configuration..."
11if [ -f "ssl.conf" ]; then
12 openssl x509 -in ssl.conf -text -noout
13fi
Как мониторить подобные ошибки
- Настрой алерты на security scan failures
- Мониторь количество уязвимостей
- Отслеживай время исправления уязвимостей
- Настрой автоматические обновления зависимостей
- Используй дашборды безопасности
FAQ
В: Как настроить пороги безопасности для разных окружений?
О: Используй разные пороги для dev, staging и production, учитывай критичность уязвимостей.
В: Что делать с false positives в security scans?
О: Настрой исключения для проверенных false positives, документируй решения, регулярно пересматривай.
В: Как автоматизировать исправление уязвимостей?
О: Используй автоматические обновления зависимостей, настрой Dependabot, применяй security patches.
Лучшие практики
- Регулярно обновляй зависимости
- Используй автоматические security scans
- Настрой проверку секретов в коде
- Сканируй Docker образы на уязвимости
- Применяй принцип минимальных прав
- Документируй security policies