Единственная возможность (AFAIK) выполнять вредоносные операции с использованием LaTeX - это возможность вызова внешних команд с использованием \write18
. Это работает, только если вы запускаете LaTeX с аргументом --shell-escape или --enable-write18 (в зависимости от вашего дистрибутива).
Так что, пока вы не запускаете его с одним из этих аргументов, вы должны быть в безопасности без необходимости отфильтровывать какие-либо части.
Кроме того, можно по-прежнему записывать другие файлы с помощью команд \newwrite
, \openout
и \write
. Если пользователь создает и (перезаписывает) файлы, может быть нежелательным? Таким образом, вы можете отфильтровать вхождения этих команд. Но сохранение в черных списках некоторых команд может привести к сбою, поскольку кто-то с плохим намерением может легко скрыть фактическую команду, запутав входной документ.
Редактировать : Выполнение команды LaTeX с использованием ограниченной учетной записи (т.е. без записи в каталоги, не относящиеся к латексу / проекту) в сочетании с отключением \write18
может быть проще и безопаснее, чем сохранение черного списка ' опасные команды.