Как автоматически определить лучшие методы шифрования в коде Python

Вам нужен API обратного геокодирования на основе IP-адреса ... например, - тот, который из ipdata.co . Я уверен, что есть много доступных вариантов.

Однако вы можете позволить пользователю переопределить это. Например, они могут быть на корпоративной VPN, что делает IP-адрес похожим на , как на другую страну.

6
задан pinas 17 March 2019 в 20:47
поделиться

2 ответа

Сначала я хотел бы перефразировать. Вам нужен инструмент статического анализа, который будет выполнять некоторые пользовательские проверки, например, на наличие проблем с безопасностью.

Я бы начал с pylint, с его расширениями . В Github есть программа проверки образцов. Хорошим моментом здесь является то, что вы можете включить это в инструменты CI / CD без особой работы. Проблема здесь может заключаться в том, что компоновщик может быть проинформирован, чтобы не рассматривать что-то как проблему. С одной стороны, это прекрасно, так как md5 может использоваться в некоторых областях, но это может привести к утечке ... Если смотреть таким образом, все, что вы можете сделать, это сообщить.

Другой вариант - проверка безопасности, которая может работать с кодом Python. Я использую lynis на моем сервере. Они используют обычную оболочку Linux. На практике вы можете grep написать код на python, чтобы увидеть, что там что-то не так. Я бы посоветовал пойти туда и проверить, что они ищут и как это делается. Если не пойти по этому пути - чем, может быть, для вдохновения. Ложные срабатывания также должны быть рассмотрены здесь. Итак, вопрос в том, хотите ли вы разобраться с этим самостоятельно или действительно с разработчиками ...

Я бы начал с некоторых проверок - таких как md5 / sha1, а затем расширил. Обязательно понятно, что проверено, а что нет. Это выглядит действительно сложно, но я бы попробовал. Может быть, расширение с открытым исходным кодом до pylint, на github? Таким образом, вы можете получить поддержку от других! Если так - дайте мне знать:)

0
ответ дан Michał Zaborowski 17 March 2019 в 20:47
поделиться

Вы можете создать небольшую базу данных или словарь («имя библиотеки»: [method1, method2]) из популярных крипто-библиотек и из этих библиотек, методы которых относятся к небезопасным сценариям использования.

Затем вы сначала выполните поиск, чтобы узнать, действительно ли библиотека (ключ) используется проектом и использует ли она небезопасные методы (значение). Вам не нужно использовать регулярные выражения, просто подумайте, как вы будете искать одну строку в текстовом файле. Но если вам нужна эффективность, это может быть рекомендовано :) и что-то интересное для развития, это только мои мысли.

Однако вы можете использовать Sonarqube и интегрировать его в свой конвейер сборки, он поддерживает python, и я знаю, что он проверяет слабое использование крипто в проектах C #, он бесплатный и полностью автоматизированный, поэтому он идеально подходит для небольших / больших команд:) [ 113]

https://www.sonarqube.org

Удачи, приятель!

0
ответ дан David Silveiro 17 March 2019 в 20:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: