Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Vlun-Agent-X — VulnAgent-X: Многоуровневый агентный фреймворк для обнаружения уязвимостей на уровне репозитория | Kitploit
Инструменты/GitHubGitHub/renweimeng/vlun-agent-x
Статический анализДинамический анализ (песочница)Анализ уязвимостейАнализ КодаМашинное ОбучениеСтатьи и ИсследованияБезопасность ИИ
GitHubrenweimeng/vlun-agent-x

Vlun-Agent-X

VulnAgent-X: Многоуровневый агентный фреймворк для обнаружения уязвимостей на уровне репозитория

Репозиторий
176 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

中文 English

VulnAgent-X исследовательский прототип

VulnAgent-X — это многоагентный прототип обнаружения уязвимостей/дефектов, ориентированный на воспроизведение результатов научных исследований. На вход подаётся локальный репозиторий или diff, на выходе — структурированные findings, цепочки доказательств, результаты локализации, уровень уверенности и журналы экспериментов.

Ключевые возможности

  • Формат ввода: repo path или unified diff
  • Рабочий процесс: screening -> context expansion -> scheduler -> router -> experts -> sceptic -> verification(stub) -> evidence fusion
  • Поля вывода:
    • issue_type
  • location(file + line range)
  • evidence_summary
  • confidence
  • severity
  • optional_cwe
  • fix_hint
  • evidence_chain
  • counter_evidence
  • Интерфейс: CLI + FastAPI
  • Воспроизводимые эксперименты: pytest / mypy / ruff + поддержка запуска в Docker
  • Обзор рабочего процесса

    1. screening: быстрая проверка подозрительных областей (правила + сигналы метаданных)
    2. context_expansion: получение «минимально достаточного контекста» (извлечение окон на основе подозрительных локаций)
    3. scheduler: стратегия эскалации на основе уровня уверенности и риска (early_exit / expert_review / verification)
    4. router_agent: выбор экспертного Agent для каждой подозрительной области
    5. semantic/security/logic: формирование структурированных утверждений и доказательств с разных точек зрения
    6. sceptic_agent: генерация контраргументов и штрафных сигналов
    7. verification: опциональная динамическая проверка (в настоящее время — безопасная заглушка)
    8. evidence_fusion: объединение и вывод итоговых findings

    Установка и руководство по запуску

    1) Подготовка окружения

    Требования: Python 3.11+ (в настоящее время также работает на более новых версиях)

    root@kitploit:~
    cd /Users/xiaolu/Documents/Python_code/vulnAgentX
    python3 -m venv .venv
    source .venv/bin/activate
    python -m pip install -e '.[dev]'
    

    2) Использование CLI

    Анализ всего репозитория:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --repo /path/to/repo --output json
    

    Анализ diff-файла:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --diff-file /path/to/patch.diff --output json
    

    Краткий вывод:

    root@kitploit:~
    .venv/bin/vulnagentx analyze --repo /path/to/repo --output summary
    

    3) Использование API

    Запуск сервиса:

    root@kitploit:~
    .venv/bin/uvicorn vulnagentx.app.api:app --reload
    

    Проверка состояния:

    root@kitploit:~
    curl http://127.0.0.1:8000/health
    

    Запуск анализа:

    root@kitploit:~
    curl -X POST http://127.0.0.1:8000/analyze \
      -H "Content-Type: application/json" \
      -d '{"repo_path":"/path/to/repo"}'
    

    4) Запуск через Docker

    root@kitploit:~
    docker compose -f docker/docker-compose.yml up --build
    

    5) Проверка качества и тестирование

    root@kitploit:~
    .venv/bin/ruff check src tests
    .venv/bin/mypy src
    .venv/bin/pytest
    

    Пример вывода

    root@kitploit:~
    {
      "run_id": "...",
      "findings": [
        {
          "issue_type": "command_injection",
          "location": {"file_path": "app.py", "start_line": 42, "end_line": 42},
          "evidence_summary": "Command execution surface detected...",
          "confidence": 0.87,
          "severity": "critical",
          "optional_cwe": "CWE-78",
          "fix_hint": "Avoid shell command composition...",
          "source_agents": ["security_agent", "semantic_agent"],
          "evidence_chain": [],
          "counter_evidence": []
        }
      ],
      "metrics": {
        "runtime_seconds": 0.07
      },
      "logs": []
    }
    

    Описание назначения файлов (пофайлово)

    Корневые и проектные файлы

    ФайлНазначение
    .env.exampleШаблон переменных окружения (необязательные настройки, например уровень логирования).
    pyproject.tomlСборка проекта, зависимости, точки входа скриптов, конфигурация pytest/ruff/mypy.
    README.mdОсновной README (с кнопкой переключения языка, по умолчанию — китайский).
    README.zh.mdПолная документация на китайском языке.
    README.en.mdПолная документация на английском языке.
    docker/DockerfileФайл сборки контейнерного образа для API-сервиса.
    docker/docker-compose.ymlЛокальный запуск контейнерного сервиса одной командой.
    rules/semgrep/vulnagentx-rules.ymlВстроенный набор правил Semgrep (инъекция команд / SQL-инъекция / десериализация / небезопасный C API).
    scripts/run_experiment.pyСкрипт пакетного запуска экспериментов на наборах данных, выводящий прогнозы в JSONL.
    scripts/evaluate.pyЧитает результаты экспериментов и вычисляет метрики обнаружения/локализации/эффективности.
    scripts/run_ablation.pyСкрипт абляционных экспериментов (no_semgrep/no_treesitter/no_sceptic/no_verification).

    Основной исходный код (src/vulnagentx)

    ФайлНазначение
    src/vulnagentx/__init__.pyОпределение версии пакета и экспортируемых объектов.
    src/vulnagentx/app/__init__.pyИнициализация подпакета app.
    src/vulnagentx/app/cli.pyТочка входа CLI (vulnagentx analyze).
    src/vulnagentx/app/api.pyТочка входа FastAPI-сервиса (/health, /analyze).
    src/vulnagentx/app/schemas.pyPydantic-схемы запросов/ответов API.
    src/vulnagentx/core/__init__.pyИнициализация подпакета core.
    src/vulnagentx/core/state.pyМодель глобального состояния: области, доказательства, выводы Agent, Finding, журналы, метрики.
    src/vulnagentx/core/screening.pyБыстрая проверка первого этапа, извлечение подозрительных областей.
    src/vulnagentx/core/context_expansion.pyРасширение контекста: извлечение минимального окна кода на основе локации.
    src/vulnagentx/core/scheduler.pyСтратегия эскалации с учётом уверенности (early_exit/expert_review/verification).
    src/vulnagentx/core/verification.pyОпциональный модуль динамической проверки (в настоящее время — безопасная заглушка).
    src/vulnagentx/core/evidence_fusion.pyОбъединение доказательств от нескольких Agent, вывод итоговых findings.
    src/vulnagentx/core/workflow.pyТочка входа сквозной оркестрации VulnAgentWorkflow.
    src/vulnagentx/agents/__init__.pyАгрегированный экспорт Agent.
    src/vulnagentx/agents/base.pyАбстрактный базовый класс Agent и инструменты получения контекста.
    src/vulnagentx/agents/router_agent.pyМаршрутизирующий Agent: назначает экспертного Agent для каждой подозрительной области.

    Тестовые файлы (tests)

    ФайлНазначение
    tests/test_agents.pyМодульные тесты: структурированный вывод и логика контраргументов каждого Agent.
    tests/test_end_to_end.pyСквозной тест: основной процесс от входного репозитория до итоговых findings.
    tests/test_research_modules.pyТесты новых модулей: построение графа Tree-sitter, цепочка выполнения verification, метрики оценки.

    Реализованные улучшенные модули

    • Реальный LLM-адаптер: OpenAI + локальный Ollama + автоматическое переключение фабрикой
    • Реальный Tree-sitter AST и граф кода: разбор функций/импортов/вызовов, поддержка расширения контекста соседними файлами
    • Реальный набор правил Semgrep: встроенный файл правил, подключённый к этапу screening
    • Цепочка выполнения verification в песочнице: планирование задач, ограниченное выполнение, контроль тайм-аута, запись структурированных результатов
    • Оценка на наборах данных и абляция: загрузчики данных, модуль метрик, скрипты экспериментов и абляции
    Скачать инструмент
    src/vulnagentx/agents/semantic_agent.py
    Семантический агент: риски семантического уровня (например, нулевые указатели, десериализация, проглатывание исключений).
    src/vulnagentx/agents/security_agent.pyАгент безопасности: правила уязвимостей (инъекция команд, SQL-инъекция, выход за границы и т.д.).
    src/vulnagentx/agents/logic_bug_agent.pyАгент логики: дефекты бизнес-логики/потока управления (границы, деление на ноль, отсутствие авторизации и т.д.).
    src/vulnagentx/agents/sceptic_agent.pyАгент-скептик: генерирует контраргументы, штрафы за конфликты, снижает уверенность.
    src/vulnagentx/adapters/__init__.pyИнициализация подпакета адаптеров.
    src/vulnagentx/adapters/sandbox_adapter.pyИсполнитель в ограниченной песочнице дочернего процесса (тайм-аут, без shell) для verification.
    src/vulnagentx/adapters/semgrep_adapter.pyАдаптер Semgrep CLI (включается опционально).
    src/vulnagentx/adapters/treesitter_adapter.pyРеальный адаптер Tree-sitter (при доступности парсит AST и связи вызовов/импортов, при недоступности — деградация).
    src/vulnagentx/adapters/llm/__init__.pyАгрегированный экспорт LLM-адаптеров.
    src/vulnagentx/adapters/llm/base.pyИнтерфейс протокола LLM-адаптера.
    src/vulnagentx/adapters/llm/mock_adapter.pyMock LLM для офлайн-тестирования.
    src/vulnagentx/adapters/llm/openai_adapter.pyАдаптер официального OpenAI SDK.
    src/vulnagentx/adapters/llm/local_adapter.pyАдаптер локальных моделей (Ollama HTTP API).
    src/vulnagentx/adapters/llm/factory.pyАвтоматический выбор LLM-адаптера по конфигурации с откатом на Mock.
    src/vulnagentx/retrieval/repo_graph.pyИндекс графа кода и поиск соседних файлов (на основе пересечения символов AST).
    src/vulnagentx/datasets/base.pyОбщая структура образцов наборов данных и чтение JSONL/CSV.
    src/vulnagentx/datasets/devign.pyТочка загрузки данных Devign.
    src/vulnagentx/datasets/bigvul.pyТочка загрузки данных Big-Vul.
    src/vulnagentx/datasets/primevul.pyТочка загрузки данных PrimeVul.
    src/vulnagentx/datasets/jit.pyТочка загрузки данных JIT.
    src/vulnagentx/eval/detection_metrics.pyМетрики обнаружения (Precision/Recall/F1/Accuracy).
    src/vulnagentx/eval/localization_metrics.pyМетрики локализации (Top-1/Top-3/MRR).
    src/vulnagentx/eval/efficiency_metrics.pyМетрики эффективности (среднее время выполнения, P95, среднее число findings).
    src/vulnagentx/eval/ablations.pyЛогика выполнения абляционных экспериментов.
    src/vulnagentx/utils/config.pyЦентр конфигурации рабочего процесса (флаги env/CLI/API).