В моем приложении я запрашиваю имя тега и сообщение для запуска процесса, чтобы пометить хранилище. Как лучше всего предотвратить инъекцию (если она уязвима).
string command = "tag -a " + name + " -m \"" + message + "\""; // tag repo
Также есть другое место, где я запрашиваю имя ветви для создания новой ветви в git, гарантирует, что правильное имя ветви предотвращает внедрение,
с помощью регулярных выражений
^(?!@$|build-|/|.*([/.]\.|//|@\{|\\))[^\000-\037\177 ~^:?*[]+/[^\000-\037\177 ~^:?*[]+(?<!\.lock|[/.])$
из Как проверить действительные имена веток Git?