Как я собрал свой open source проект для кибербеза
Я работаю AppSec и часто смотрю, какие уже есть готовые алгоритмы/инструменты для решения задач в моей сфере. В какой-то момент и по работе, и из личного интереса, в том числе к bug bounty, я пришёл к мысли, что мне нужна централизованная прозрачная система позволяющая вести заметки по ведению веб пентеста.
Причин почему я решил реализовать данный проект сам в этой тематики и не взять готовый было несколько, вот основные: - в пентесте данные разрастаются слишком быстро. Активы, порты, стек технологий, эндпоинты, заметки, находки, гипотезы, потенциальные уязвимости. И чем больше проект, тем сложнее держать картину целиком.
- мне не хватало решения, которое не просто хранит записи, а даёт прозрачное понимание связей между активами, функционалом и уязвимостями. Я долго смотрел, что есть на рынке и в open source, но не нашёл для себя инструмента, который действительно закрывал бы эту задачу так, как мне нужно.
Поэтому я и решил сделать свой проект. По идее он во многом вдохновлён графом связей в Obsidian, но с явным акцентом на ведение пентеста: активы, функции, стек, эндпоинты, находки и их взаимосвязи.
Так и появился Pentester Dashboard — локально разворачиваемое open source решение с MIT license для тех, кому нужен удобный способ структурно вести проект пентеста. В нём можно работать с проектами, активами, портами, стеком технологий, фичами, эндпоинтами, уязвимостями, рабочий журнал и бэклог. Отдельно для меня было важно реализовать граф связей между сущностями, чтобы видеть не просто набор записей, а общую карту проекта. Плюс я добавил экспорт и импорт, чтобы проект можно было нормально передавать дальше.
Для меня это был ещё и личный челлендж. Этот проект дал мне возможность не только закрыть собственную практическую боль, но и снова побыть в роли разработчика, немного аналитика и даже графического дизайнера. Так же было приятно изучить реализацию оформления на гитхабе репозитория, то как можно оформить дизайн документации и саму документацию в едином стиле. Параллельно я глубже погрузился в актуальную для нашего времени тему ИИ и в то, как его можно использовать в реальной работе.
Рутину в проекте я действительно частично делегировал ИИ. Но для меня ИИ — это именно инструмент, а не замена разработчика или специалиста в сфере работы. Он помогает быстрее собирать черновики, ускоряет часть рутинных задач и позволяет быстрее проверять идеи. Но архитектуру, логику, качество реализации и финальные решения всё равно должен держать под контролем технически сильный специалист.
Сейчас следующий этап для меня это развивать проект в сторону импорта результатов из разных инструментов, чтобы меньше заполнять всё вручную и больше работать уже с готовым контекстом, который был собран в ходе тестирования. А вот и сам проект. Буду рад звёздочке на GitHub и любым предложениям по улучшению: https://github.com/eZer-Net/pentester-dashboard