Простая реализация безопасного архиватора для Linux OS на Си.
Необходимые доп. пакеты и утилиты:
- libssl-dev
- valgrind
- cppcheck
Безопасность обеспечивается за счет:
- Сверки значений хеш-сумм записываемого файла, полученных в начале и в конце исполнения программы.
(Эта мера позволяет избежать подмены данных в ходе записи из файла в архив/из архива в файл) - Отказа от интерактивного ввода и реализации упарвления записью (разрешать/запрещать перезапись файла) посредством аргументов коммандной строки (без использования буфера).
Для информации об аргументах, с которыми запускаются программы -- соберите их с make и запустите с флагом -h
Тесты в bash собираются с valgrind, что позволяет узнать из вывода тестов об отсутсвии утечек памяти.
Цель analyze позволяет проверить статическим анализатором кода исходный код и проверить отсутсвие потенциальных ошибок и угроз.