
Модульный сканер уязвимостей с возможностью автоматической генерации отчетов.
Artemis — это модульный сканер уязвимостей. Это инструмент, который лежит в основе деятельности CERT PL по сканированию: он проверяет различные аспекты безопасности веб-сайтов и создаёт понятные сообщения, готовые к отправке сканируемым организациям.
Если вы хотите использовать дополнительные модули, которые не были включены сюда из-за лицензий, несовместимых с BSD, перейдите в репозиторий .
Если вы хотите изменить/разрабатывать Artemis, сначала прочитайте раздел Разработка.
Artemis — экспериментальное программное обеспечение, находящееся в активной разработке; используйте на свой страх и риск.
Чтобы пообщаться об Artemis, присоединяйтесь к серверу Discord!
Artemis был представлен на BlackHat USA 2024 в Лас-Вегасе и BlackHat Europe 2025 в Лондоне. Для получения дополнительной информации об Artemis на BlackHat нажмите здесь и здесь.
Проект также был представлен на 71-й встрече TF-CSIRT в Копенгагене, 69-й встрече TF-CSIRT в Бухаресте и на конференции CONFidence, а также на других мероприятиях.

Разработка Artemis была поддержана программой Google Summer of Code 2024 и 2025.
Актуальный список возможностей см. в документации. Самая важная из них — возможность легко экспортировать отчёты, такие как:
Следующие адреса содержат данные системы контроля версий:
Публикация репозитория кода может позволить злоумышленнику узнать внутреннее устройство системы, а если в нём содержатся пароли или ключи API — также получить несанкционированный доступ. Такие данные не должны быть общедоступны.
Следующие адреса содержат старые версии Joomla:
- https://subdomain2.example.com:443 - Joomla 2.5.4
Если сайт больше не используется, мы рекомендуем его отключить, чтобы исключить риск эксплуатации известных уязвимостей в старых версиях Joomla. В противном случае мы рекомендуем регулярно обновлять ядро Joomla и плагины.
Возможность автоматически готовить такие отчёты позволила нам уведомить организации в нашем регионе ответственности о сотнях тысяч уязвимостей.

Чтобы запустить локально изменённую версию Artemis, выполните:
./scripts/start --mode=development
Этот скрипт автоматически копирует пример файла окружения (env.example) в .env, если он не существует. Затем вы можете настроить параметры в файле .env в соответствии с вашими потребностями. Это включает настройку User-Agent путём установки переменной CUSTOM_USER_AGENT, а также других соответствующих параметров. Полный список переменных конфигурации и их описания см. в разделе «Конфигурация» документации.
Затем образ Artemis собирается локально (из разрабатываемого вами кода), а не загружается из Docker Hub. Для контейнера web вы также сможете видеть результаты изменений кода на странице без перезагрузки всего контейнера.
Чтобы запустить тесты, используйте:
./scripts/test
[!WARNING] Избегайте прямого вызова
python -m unittest, так какcommand:вdocker-compose.test.yamlработает иначе. Когда Python запускается как PID 1, подпроцессы, особенно бинарники Go, такие как Nuclei, страдают от медленного или ухудшенного ввода-вывода, поскольку PID 1 обрабатывает сигналы и stdout/stderr по-другому. Вместо этого используйте unittest-parallel, так как его рабочие процессы избегают проблемы PID 1.
Artemis использует pre-commit для запуска линтеров и форматирования кода. pre-commit выполняется в CI, чтобы убедиться, что код отформатирован правильно.
Чтобы запустить его локально, используйте:
pre-commit run --all-files
Чтобы настроить pre-commit так, чтобы он запускался перед каждым коммитом, используйте:
pre-commit install
Мы используем pip-tools для управления зависимостями. Чтобы добавить или обновить зависимость:
requirements.in (или docs/requirements.in для зависимостей документации),./scripts/compile-requirements, чтобы сгенерировать замороженные файлы requirements.txt,.in и .txt.Чтобы собрать документацию, используйте:
cd docs
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
make html
Обратитесь к документации.
Вклад приветствуется! Мы будем признательны как за идеи новых модулей Artemis (добавленные как GitHub issues), так и за пул-реквесты с новыми модулями или улучшениями кода.
Как бы это ни было очевидно, мы любезно напоминаем, что, внося вклад в Artemis, вы соглашаетесь с тем, что лицензия BSD 3-Clause автоматически применяется к вашему вкладу без необходимости каких-либо дополнительных заявлений.
Перед открытием PR, пожалуйста, убедитесь, что вы установили pre-commit:
pre-commit installИ запустили его для своих изменений.
Огромное спасибо следующим людям, которые внесли вклад в разработку Artemis, особенно научному кружку KN Cyber Варшавского политехнического университета, который инициировал проект!
![]() cyberamt 💻 🤔 |
![]() martclau 💻 🤔 |
![]() szymsid 💻 👀 |
![]() bulek 💻 👀 | ![]() Michel Le Bihan 💻 | ![]() Grzegorz Eliszewski 💻 🤔 📦 | ![]() kshitij kapoor 💻 🤔 | ![]() Delfin 💻 | ![]() Bornunique911 💻 | ![]() Ridham Bhagat 💻 |
![]() Mateusz Borkowski 💻 🤔 | ![]() jxdv 💻 | ![]() kvothe 💻 🤔 | ![]() lukigruszka 💻 | ![]() Abhinav Karn 💻 | ![]() Juraj Virgovič 💻 | ![]() Emmanuel Ferdman 💻 |
![]() ap74062 💻 |