К основному содержанию
скилл CX Codex

vulnerability-scanning · bagelhole — скилл для Claude Code: сканирование CVE

Скилл для поиска и приоритизации уязвимостей в системах и зависимостях: Nessus, OpenVAS, Qualys, Nuclei. Пригодится при аудите и комплаенсе.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add BagelHole/DevOps-Security-Agent-Skills --skill vulnerability-scanning -a claude-code
Открыть на GitHub

Что делает vulnerability-scanning

Скилл закрывает весь цикл работы с уязвимостями: обнаружение, разбор находок, назначение ответственных, отчётность. Внутри — таблица инструментов с пометкой, для чего каждый берут: Nessus для корпоративного сканирования, OpenVAS как бесплатная замена, Qualys для больших объёмов, Nuclei для проверок по шаблонам.

Практическая часть — готовые куски кода. Для OpenVAS это docker run с портом 443 и команды omp для создания цели, задачи, запуска и выгрузки результатов. Для Nessus — класс NessusScanner на Python: создаёт скан по шаблону, запускает его, забирает результаты и экспортирует отчёт. Для Nuclei — установка через go install, обновление шаблонов и пример своего шаблона в YAML.

Отдельный блок — оценка по CVSS с уровнями от Critical до Low и сроками реакции, а также факторы приоритизации: интернет-доступность, чувствительные данные, активная эксплуатация. Скилл требует доступа к сканирующим инструментам, сетевой доступности целей и разрешения на проверку — без авторизации сканировать чужие системы нельзя, и это повод сначала согласовать периметр.

Какие задачи решает

  • найти известные CVE в инфраструктуре и зависимостях
  • разложить находки по критичности и срокам закрытия
  • поднять OpenVAS в Docker и запустить первое сканирование
  • выгрузить отчёт Nessus в PDF через API
  • проверить веб-приложение шаблонами Nuclei

Примеры запросов агенту

  • Составь план сканирования подсети 192.168.1.0/24 через OpenVAS и опиши шаги
  • Напиши скрипт на Python, который создаёт скан в Nessus и экспортирует отчёт
  • Помоги приоритизировать находки по CVSS и факторам эксплуатации

Как установить vulnerability-scanning

1Через Skills CLI (Vercel)

npx skills add BagelHole/DevOps-Security-Agent-Skills --skill vulnerability-scanning -a claude-code

2Вручную: положить файлы

~/.claude/skills/vulnerability-scanning/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/vulnerability-scanning/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора127

ssh-configuration Настраивает OpenSSH на клиенте и сервере, помогает выпускать ключи Ed25519, пробрасывать порты и поднимать бастион-хосты для безопасного удалённого доступа. CX Codex +1 451установок prometheus-grafana Скилл помогает агенту поднять сбор метрик в Prometheus, писать запросы PromQL и собирать панели Grafana. Пригодится, когда в проект нужно добавить мониторинг. CX Codex +1 449установок windows-server Скилл для администрирования Windows Server: роли и компоненты, сайты IIS, пользователи Active Directory, обновления. Пригодится, когда агент работает с Windows-инфраструктурой. CX Codex +1 449установок container-hardening Настраивает запуск контейнеров без root-прав, монтирует файловую систему только для чтения и формирует манифесты Kubernetes securityContext. CX Codex +1 433установок postgresql Помогает администрировать PostgreSQL: настраивать репликацию, резервные копии и параметры производительности. Пригодится при развёртывании и тюнинге БД. CX Codex +1 419установок ssl-tls-management Скилл для работы с SSL/TLS: выпуск сертификатов Let's Encrypt, автопродление, cert-manager в Kubernetes и подбор шифров. Пригодится, когда настраиваешь HTTPS или чинишь истёкший сертификат. CX Codex +1 420установок hashicorp-vault Скилл для работы с HashiCorp Vault: секретные движки, методы аутентификации, политики и выпуск сертификатов прямо из чата с агентом. CX Codex +1 413установок backup-recovery Скилл настраивает резервное копирование и восстановление через rsync и Restic. Пригодится при настройке бэкапов на диск, в AWS S3 или Backblaze B2 по правилу 3-2-1. CX Codex +1 406установок

Другие версии vulnerability-scanning

Похожие

draft-security-advisory frappe Скилл превращает отчёт об уязвимости в готовый черновик GitHub Security Advisory. Он помогает сопровождающим быстро подготовить публикацию без утечки деталей эксплойта. CX Codex +1 480установок dependencies-audit cognitedata Скилл находит уязвимости, устаревшие и заброшенные пакеты, проблемы с лицензиями и чинит их, а не просто составляет отчёт. CX Codex +1 1 900установок security-reviewer https://github.com/Jeffallan Ищет уязвимости в коде и инфраструктуре, назначает уровень серьёзности и предлагает исправления. Нужен для аудита, поиска секретов и проверки зависимостей. CX Codex +1 6 000установок sparkfinderoven-security-compliance-skills reason-machines Набор команд и сценариев для аудита безопасности и соответствия требованиям: сканирование OWASP, поиск CVE, GDPR, SOC 2, моделирование угроз. CX Codex +1 759установок dependency-check ruvnet Сканирует зависимости проекта на известные уязвимости и CVE. Запускается перед релизом, после изменения lockfile или при расследовании Advisory. CX Codex +1 748установок sparkfinderoven-r01-security-compliance-skills reason-machines Набор скиллов для проверки кода на уязвимости OWASP, поиска CVE в зависимостях, аудита GDPR и SOC 2 и моделирования угроз по STRIDE. CX Codex +1 729установок

Рядом в теме «Безопасность»

Всё по теме «Безопасность» →

Вопросы о vulnerability-scanning

Как установить vulnerability-scanning в Claude?

Выполните npx skills add BagelHole/DevOps-Security-Agent-Skills --skill vulnerability-scanning -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/vulnerability-scanning/SKILL.md.

Что делает vulnerability-scanning?

Помогает искать CVE и уязвимости в системах и зависимостях, а затем расставлять приоритеты по CVSS. Внутри есть примеры работы с Nessus, OpenVAS, Qualys и Nuclei.

Что нужно для работы скилла?

Доступ к сканирующим инструментам, сетевой доступ к целям и разрешение на проверку. Для Nessus в примере нужны access key и secret key.

Исходный текст

SKILL.md · MIT
---
name: vulnerability-scanning
description: Scan systems and dependencies for CVEs and security vulnerabilities. Use tools like Nessus, OpenVAS, and Qualys to identify and prioritize vulnerabilities. Use when performing security assessments, compliance scanning, or vulnerability management.
license: MIT
metadata:
  author: devops-skills
  version: "1.0"
---

# Vulnerability Scanning

Identify and prioritize security vulnerabilities across infrastructure and applications.

## When to Use This Skill

Use this skill when:
- Performing security assessments
- Implementing vulnerability management programs
- Meeting compliance requirements
- Triaging and prioritizing remediation
- Scanning infrastructure for known CVEs

## Prerequisites

- Access to scanning tools
- Network access to targets
- Appropriate authorization

## Vulnerability Scanning Tools

| Tool | Type | Best For |
|------|------|----------|
| Nessus | Commercial | Enterprise scanning |
| OpenVAS | Open Source | Free alternative |
| Qualys | Cloud SaaS | Large scale |
| Nexpose/InsightVM | Commercial | Asset management |
| Nuclei | Open Source | Template-based |

## OpenVAS Setup

### Docker Deployment

```bash
# Run OpenVAS container
docker run -d --name openvas \
  -p 443:443 \
  -v openvas-data:/data \
  greenbone/openvas-scanner

# Access web UI at https://localhost
# Default credentials: admin/admin
```

### Scanning Commands

```bash
# Create target
omp -u admin -w admin --xml='<create_target>
  <name>Web Servers</name>
  <hosts>192.168.1.0/24</hosts>
</create_target>'

# Create task
omp -u admin -w admin --xml='<create_task>
  <name>Weekly Scan</name>
  <target id="target-uuid"/>
  <config id="daba56c8-73ec-11df-a475-002264764cea"/>
</create_task>'

# Start task
omp -u admin -w admin --xml='<start_task task_id="task-uuid"/>'

# Get results
omp -u admin -w admin --xml='<get_results task_id="task-uuid"/>'
```

## Nessus

### API Usage

```python
import requests

class NessusScanner:
    def __init__(self, url, access_key, secret_key):
        self.url = url
        self.headers = {
            'X-ApiKeys': f'accessKey={access_key}; secretKey={secret_key}',
            'Content-Type': 'application/json'
        }
    
    def create_scan(self, name, targets, template='basic'):
        """Create a new scan."""
        templates = self.get('/editor/scan/templates')
        template_uuid = next(
            t['uuid'] for t in templates['templates'] 
            if t['name'] == template
        )
        
        payload = {
            'uuid': template_uuid,
            'settings': {
                'name': name,
                'text_targets': targets,
                'enabled': True
            }
        }
        return self.post('/scans', payload)
    
    def launch_scan(self, scan_id):
        """Start a scan."""
        return self.post(f'/scans/{scan_id}/launch')
    
    def get_results(self, scan_id):
        """Get scan results."""
        return self.get(f'/scans/{scan_id}')
    
    def export_report(self, scan_id, format='pdf'):
        """Export scan report."""
        payload = {'format': format}
        response = self.post(f'/scans/{scan_id}/export', payload)
        file_id = response['file']
        
        # Wait for export
        while True:
            status = self.get(f'/scans/{scan_id}/export/{file_id}/status')
            if status['status'] == 'ready':
                break
            time.sleep(5)
        
        return self.get(f'/scans/{scan_id}/export/{file_id}/download')
    
    def get(self, path):
        response = requests.get(f'{self.url}{path}', headers=self.headers, verify=False)
        return response.json()
    
    def post(self, path, data=None):
        response = requests.post(f'{self.url}{path}', json=data, headers=self.headers, verify=False)
        return response.json()

# Usage
scanner = NessusScanner('https://nessus:8834', 'access-key', 'secret-key')
scan = scanner.create_scan('Weekly Infrastructure Scan', '10.0.0.0/24')
scanner.launch_scan(scan['scan']['id'])
```

## Nuclei

### Installation

```bash
# Install nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Or download binary
wget https://github.com/projectdiscovery/nuclei/releases/latest/download/nuclei_linux_amd64.zip
unzip nuclei_linux_amd64.zip
```

### Basic Scanning

```bash
# Update templates
nuclei -update-templates

# Scan single target
nuclei -u https://example.com

# Scan multiple targets
nuclei -l targets.txt

# Scan with specific templates
nuclei -u https://example.com -t cves/
nuclei -u https://example.com -t vulnerabilities/

# Scan with severity filter
nuclei -u https://example.com -s critical,high

# Output formats
nuclei -u https://example.com -o results.txt
nuclei -u https://example.com -json -o results.json
```

### Custom Templates

```yaml
# custom-check.yaml
id: custom-admin-panel

info:
  name: Admin Panel Detection
  author: security-team
  severity: info
  tags: recon,panel

requests:
  - method: GET
    path:
      - "{{BaseURL}}/admin"
      - "{{BaseURL}}/administrator"
      - "{{BaseURL}}/wp-admin"
    
    matchers-condition: or
    matchers:
      - type: word
        words:
          - "admin"
          - "login"
        condition: and
      
      - type: status
        status:
          - 200
          - 301
          - 302
```

## CVSS Scoring

### Severity Levels

| Score | Rating | Response Time |
|-------|--------|---------------|
| 9.0-10.0 | Critical | 24 hours |
| 7.0-8.9 | High | 7 days |
| 4.0-6.9 | Medium | 30 days |
| 0.1-3.9 | Low | 90 days |

### Prioritization Factors

```yaml
prioritization_criteria:
  critical_factors:
    - Internet-facing systems
    - Systems with sensitive data
    - Active exploitation in the wild
    - Authentication bypass
    
  high_factors:
    - Remote code execution
    - Privilege escalation
    - Data exfiltration risk
    
  context_adjustments:
    - Compensating controls in place (-1)
    - No direct exposure (-1)
    - Critical business system (+1)
    - Compliance requirement (+1)
```

## Vulnerability Management Process

### Workflow

```yaml
vulnerability_workflow:
  discovery:
    - Run scheduled scans
    - Import third-party findings
    - Correlate with asset inventory
    
  analysis:
    - Validate findings
    - Remove false positives
    - Assess business impact
    - Prioritize by risk score
    
  remediation:
    - Assign to owners
    - Track SLA compliance
    - Verify fixes
    - Document exceptions
    
  reporting:
    - Executive summaries
    - Technical details
    - Trend analysis
    - Compliance metrics
```

### Tracking Template

```markdown
## Vulnerability Ticket

**ID:** VULN-2024-001
**CVE:** CVE-2024-12345
**CVSS:** 9.8 (Critical)
**Affected System:** web-server-01

### Description
Remote code execution vulnerability in Apache Struts.

### Impact
Attacker can execute arbitrary code on the server.

### Remediation
1. Update Apache Struts to version 2.5.33
2. Apply WAF rule as temporary mitigation

### Timeline
- Discovered: 2024-01-15
- SLA Due: 2024-01-16
- Remediated: 2024-01-15

### Evidence
- Scan report: [link]
- Screenshot: [link]
```

## CI/CD Integration

### GitHub Actions

```yaml
name: Vulnerability Scan

on:
  schedule:
    - cron: '0 2 * * *'
  push:
    branches: [main]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run Nuclei
        uses: projectdiscovery/nuclei-action@main
        with:
          target: https://example.com
          templates: cves/
          output: nuclei-results.txt

      - name: Check for critical findings
        run: |
          if grep -q "critical" nuclei-results.txt; then
            echo "Critical vulnerabilities found!"
            exit 1
          fi

      - name: Upload results
        uses: actions/upload-artifact@v4
        with:
          name: vulnerability-report
          path: nuclei-results.txt
```

## Compliance Scanning

### CIS Benchmark Scan

```bash
# Using OpenSCAP
oscap xccdf eval \
  --profile xccdf_org.ssgproject.content_profile_cis \
  --results results.xml \
  --report report.html \
  /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
```

### PCI DSS Scanning

```yaml
pci_scan_requirements:
  quarterly:
    - External vulnerability scan (ASV)
    - Internal vulnerability scan
    
  after_changes:
    - Significant infrastructure changes
    - New system deployments
    
  passing_criteria:
    - No vulnerabilities rated 4.0+ (CVSS)
    - False positives documented
    - Scan completed within 90 days
```

## Common Issues

### Issue: False Positives
**Problem**: Scanner reports non-existent vulnerabilities
**Solution**: Validate manually, tune scanner, maintain exception list

### Issue: Incomplete Coverage
**Problem**: Not all assets scanned
**Solution**: Update asset inventory, verify credentials, check network access

### Issue: Scan Impact
**Problem**: Scans affecting production systems
**Solution**: Schedule during maintenance windows, use authenticated scans

## Best Practices

- Maintain accurate asset inventory
- Schedule regular scan cadence
- Validate findings before remediation
- Track metrics (MTTR, aging)
- Integrate with ticketing systems
- Document exceptions properly
- Use risk-based prioritization
- Automate where possible

## Related Skills

- [sast-scanning](../sast-scanning/) - Code analysis
- [container-scanning](../container-scanning/) - Container security
- [cis-benchmarks](../../hardening/cis-benchmarks/) - Compliance benchmarks

© devops-skills · MIT · BagelHole/DevOps-Security-Agent-Skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой