Перейти к содержанию

JP0229S

Небезопасное использование временных tmp файлов или директорий

Static Badge Static Badge


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

Проверяемые строки

  • /tmp
  • /var/tmp

Пример небезопасного создания временного файла

with open("/var/tmp/123", "w") as f:
    f.write("def")

Пример безопасного использования

1
2
3
4
5
import os
import tempfile

with tempfile.TemporaryFile() as tmp:
    tmp.write("stuff")

Дополнительная информация