Как при разработке сайта ограничить доступ к исходникам?
Вот поэтому нужно делать модульные проекты, что бы при доработке «некоторого функционала», не нужно было бы давать глобальный доступ ко всему проекту. Ну а сделанную работу на предмет всяких шеллов должен проверять доверенный разработчик, который все равно должен присутствовать.
Как вариант — разбейте проект на несколько модулей. Модули, которые вы не хотите открывать, пусть живут на вашем хостинге и наружу смотрит только некий ваш API для обращений извне. 

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