Рубрики
Без рубрики

GSOC 20: Начало нового путешествия

Последний год один из моего друга выбран в GSOC, и я узнал об этой программе. В феврале… Помечено Python, OpenSource, GSOC.

Последний год один из моего друга выбран в GSOC, и я узнал об этой программе. В феврале 2020 года я начал искать организации, использующие язык Python, так как я люблю Python и что может быть лучше, чем сам основание программного обеспечения Python. Итак, я подал заявку на Intel CVE Binary Tool – Суборг PSF (Фонд Python Software), потому что мне действительно понравилось идею сканирования уязвимостей в двоичных файлах, и я был привлечен к работе над этим инструментом, потому что я сам разработал несколько двоичных приложений, и было бы хорошо, если я знаю об уязвимости Он содержит из-за зависимостей, чтобы я мог выбрать соответствующие зависимости, которые снижают риски безопасности.

Какой двоичный инструмент CVE?

CVE Binary Tool Scans для ряда распространенных уязвимых компонентов с открытым исходным кодом, таких как OpenSSL, libpng, libxml2, Expat и т. Д. Для того, чтобы знать, если данный каталог или двоичный файл включает в себя общие библиотеки с известными уязвимостями.

Как это устроено?

У нас есть шашки Для популярных библиотек открытых источников, которые смотрят на строки, находящиеся в двоичном файле, чтобы увидеть, соответствует ли они определенные уникальные строки, найденные в открытой исходной библиотеке и попытайтесь угадать его версия. У нас есть Сканер Модуль которого рекурсивно сканирует каждый двоичный файл данного каталога и разбирающихся строки из двоичного файла и пересылать его каждому шашки И они определяют поставщику, продукт и версию и передают его на сканер Тогда он смотрит в локальную копию NVD База данных И находит все уязвимости, связанные с данным продуктом и отображает его. Мы поддерживаем множество выходных форматов, таких как JSON, CSV и приятный формат консоли.

Как я начал вносить вклад в CVE Binary Tool?

Я впервые прочитал GSOC Wiki из бинарного инструмента CVE и в то время у них было только два идеи проекта для GSOC в этом году.

  • Добавьте новые шашки к бинарному инструменту CVE (сложности: легко)

У CVE Binary Tool есть только небольшое количество шашек, что означает, что он может обнаружить только CEND в небольшом наборе известных произведений программного обеспечения. Цель этого проекта – добавить некоторые новые.

  • Улучшение вывода двоичного инструмента CVE (сложность: промежуточное)

THS CVE Binary Tool в настоящее время имеется только для читаемого человеком консоли (и некоторые уровни журнала отладки), но это было бы полезно, если бы он имел машиночитаемый вывод (например, форматы JSON или CSV) и улучшенную выходную мощность (улучшение существующего консоли. для более обширных отчетов). Этот проект все о создании продукта лучше.

Затем я прочитал документацию, и я нашел запись, тестируйте единицу одной из самых простых задач. Итак, я написал простой модуль для проверки Python. Я получил некоторую уверенность, когда мой первый PR соотечен. Затем я начал смотреть на всю кодовую базу и понял, как он работает внутри Я изучил разные части кода и добавил некоторые шашки, фиксированные многие ошибки, связанные с функцией охвата Windows и добавленного кода для трубопровода Действия GitHub. Мои наставники Terri Oda и Джон Андерсон активно помогли мне улучшить мой пиар.

После того, как моя организация была выбрана для GSOC, я начал работать над моим предложением GSOC. В этот момент я решил работать над улучшением ввода и вывода ввода и вывода CVE Binary Tool. Я прошел через руководящие принципы GSOC Python и создал предложение в соответствии с их данным шаблоном. Я вложил неделю на создание моего предложения. Мои наставники указали некоторые проблемы, и я решил все это. Теперь пришло время подождать до раскрытия проекта. 4 мая 11:30 У меня есть электронное письмо от Google Casting, который я выбрал для GSOC 2020, и это был лучший момент моей жизни.

В отличие от других проектов, мой проект получил слишком много идей, таких как добавление поддержки различных входов и выходов, интернационализация инструмента, улучшения параллелизма и снятие зависимости компилятора от испытаний. Итак, мои наставники решили разделить проект на две части: 1) Улучшение вывода двоичного инструмента CVE CVE и 2) Улучшение параллелизма и входной поддержки Отказ Поскольку мое предложение было сосредоточено на улучшении входной поддержки, и у меня хорошее понимание параллелизма, я выбрал второй проект. Пока сначала будет сделано Harmandeep Singh.

Что я сделал в общинном периоде связи?

Я исправил несколько ошибок (например, stare info ill info, вытягивающие ошибки в Windows и т. Д.), Написал более ускоренный раствор Python, чтобы заменить модуль расширения C-Strings и для целого шашки Модуль для использования объектно-ориентированного подхода для уменьшения повторения кода. Ранее мы должны написать несколько функций, когда мы создали проверка Теперь все, что нам нужно сделать, это написать класс с 5 атрибутами, которые наследуют от Проверка Класс, который содержит очень общие методы для использования подкласса. Если вы хотите узнать больше о том, как написать проверка ? Оформить заказ нашего Checker Prubsize Rubile Отказ

У меня также были встречи на видеоконференции с моими наставниками, запланированные каждую неделю в среду, где мы обсуждали о проекте проекта и аспектам реализации. Поскольку мой проект включает в себя добавление параллелизма к бинарному инструменту CVE. Я изучал asyncio и chapulent.futures модули в это время. Мой наставник также помог мне и рекомендовал мало предметов.

После одобрения конструкций я создал проблемы GitHub и добавил это на мою доску проекта. Вот список задач, я буду делать во время GSOC:

Что дальше?

На этой неделе я буду работать над удалением зависимости компилятора test_scanner который является частью моего проекта GSOC. Я начал 3-4 дня раньше, и я уже закончил первую задачу этой недели, которая раскала Cli.py модуль в Cli.py и Scanner.py Отказ

Я буду делиться своим опытом каждую неделю. Итак, оставайся настроенными. Увидимся на следующей неделе.

Оригинал: “https://dev.to/nirajkamdar/gsoc-20-beginning-of-a-new-journey-42f2”