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

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

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

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

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

Категории

Все категории
Loading categories
Argus — Фреймворк многоэтапного статического анализа заражения для рабочих процессов GitHub Actions. Обнаруживает уязвимости внедрения кода с помощью отслеживания заражения и классификатора воздействия, выводя отчеты SARIF для безопасности CI/CD. | Kitploit
Инструменты/GitHubGitHub/purs3lab/argus
Статический анализАнализ уязвимостейАнализ КодаDevSecOpsБезопасность Цепочки ПоставокСтатьи и ИсследованияОбучение и Образование
GitHubpurs3lab/argus

Argus

Фреймворк многоэтапного статического анализа заражения для рабочих процессов GitHub Actions. Обнаруживает уязвимости внедрения кода с помощью отслеживания заражения и классификатора воздействия, выводя отчеты SARIF для безопасности CI/CD.

Репозиторий
54152 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Argus

Этот репозиторий содержит код для нашей статьи на USENIX Security '23 "ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions". Argus — это комплексный инструмент анализа безопасности, специально разработанный для GitHub Actions. Созданный с целью повышения безопасности CI/CD пайплайнов, Argus использует методы отслеживания потоков данных (taint-tracking) и классификатор воздействия для обнаружения потенциальных уязвимостей в рабочих процессах GitHub Actions.

Посетите наш веб-сайт — secureci.org для получения дополнительной информации.

Возможности

  • Отслеживание потоков данных (Taint-Tracking): Argus использует сложные алгоритмы для отслеживания потоков потенциально недоверенных данных от определённых источников к критическим с точки зрения безопасности стокам (sinks) в рабочих процессах GitHub Actions. Это позволяет выявлять уязвимости, которые могут привести к атакам с внедрением кода.

  • Классификатор воздействия: Argus классифицирует выявленные уязвимости по трём уровням серьёзности: Высокий, Средний и Низкий, что даёт более чёткое понимание потенциального влияния каждой найденной уязвимости. Это крайне важно для определения приоритетов при устранении уязвимостей.

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

Этот скрипт на Python предоставляет интерфейс командной строки для взаимодействия с репозиториями GitHub и действиями GitHub.

root@kitploit:~
python argus.py --mode [mode] --url [url] [--output-folder path_to_output] [--config path_to_config] [--verbose] [--branch branch_name] [--commit commit_hash] [--tag tag_name] [--action-path path_to_action] [--workflow-path path_to_workflow]

Параметры:

  • --mode: Режим работы. Выберите 'repo' или 'action'. Этот параметр обязателен.
  • --url: URL GitHub. Используйте USERNAME:TOKEN@URL для частных репозиториев. Этот параметр обязателен.
  • --output-folder: Папка для вывода. Значение по умолчанию — '/tmp'. Этот параметр необязателен.
  • --config: Файл конфигурации. Этот параметр необязателен.
  • --verbose: Подробный режим. Если указан этот параметр, уровень логирования устанавливается в DEBUG. В противном случае — INFO. Этот параметр необязателен.
  • --branch: Имя ветки. Необходимо указать ровно один из параметров: --branch, --commit, --tag. Этот параметр необязателен.
  • --commit: Хеш коммита. Необходимо указать ровно один из параметров: --branch, --commit, . Этот параметр необязателен.

Пример:

Чтобы использовать этот скрипт для взаимодействия с репозиторием GitHub, вы можете выполнить команду, подобную следующей:

root@kitploit:~
python argus.py --mode repo --url https://github.com/username/repo.git --branch master

Это запустит скрипт в режиме repo в указанной ветке master заданного репозитория.

Как использовать

Argus можно запустить внутри Docker-контейнера. Для этого выполните следующие шаги:

  • Установите docker и docker-compose
    • apt-get -y install docker.io docker-compose
  • Клонируйте ветку release этого репозитория
    • git clone <>
  • Соберите Docker-контейнер
    • docker-compose build
  • Теперь вы можете запустить Argus. Пример запуска:
    • docker-compose run argus --mode {mode} --url {url to target repo}
  • Результаты будут доступны в папке results

Просмотр результатов SARIF

Вы можете просмотреть результаты SARIF с помощью онлайн-просмотрщика или расширения для Visual Studio Code (VSCode).

  1. Онлайн-просмотрщик: SARIF Web Viewer — это онлайн-инструмент, позволяющий визуализировать SARIF-файлы. Вы можете загрузить свой SARIF-файл (argus_report.sarif) непосредственно на сайт для просмотра результатов.

  2. Расширение VSCode: Если вы предпочитаете использовать VSCode, установите расширение SARIF Viewer. После установки расширения откройте свой SARIF-файл (argus_report.sarif) в VSCode. Результаты появятся в панели SARIF Explorer, которая обеспечивает детализированное и удобное для навигации представление результатов.

Обращайтесь с SARIF-файлом осторожно, особенно если он содержит конфиденциальную информацию из вашей кодовой базы.

Устранение неполадок

Если возникает проблема, связанная с необходимостью авторизации GitHub для выполнения, вы можете указать username:TOKEN в переменной окружения GITHUB_CREDS. Эти данные будут использоваться для всех запросов к GitHub. Обратите внимание: мы нигде не сохраняем эту информацию и не создаём ничего в учётной записи GitHub — мы используем её только для клонирования репозиториев.

Вклад

Argus — это проект с открытым исходным кодом, и мы приветствуем вклад сообщества. Сообщение об ошибке, предложение новой функции или написание кода — ваши вклады всегда ценятся!

Цитирование Argus

Если вы используете Argus в своих исследованиях, пожалуйста, процитируйте нашу статью:

root@kitploit:~
  @inproceedings{muralee2023Argus,
    title={ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions},
    author={S. Muralee, I. Koishybayev, A. Nahapetyan, G. Tystahl, B. Reaves, A. Bianchi, W. Enck, 
      A. Kapravelos, A. Machiry},
    booktitle={32st USENIX Security Symposium (USENIX Security 23)},
    year={2023},
  }

Лицензия

Argus лицензируется под лицензией GPL.

Скачать инструмент
--tag
  • --tag: Тег. Необходимо указать ровно один из параметров: --branch, --commit, --tag. Этот параметр необязателен.
  • --action-path: (Относительный) путь к action. Нельзя указывать --action-path в режиме repo. Этот параметр необязателен.
  • --workflow-path: (Относительный) путь к workflow. Нельзя указывать --workflow-path в режиме action. Этот параметр необязателен.