Comme l'école que vous fréquentez a publié les scripts, le meilleur endroit pour exprimer vos préoccupations est avec vos instructeurs.
Cela dit, nous pouvons vous aider à déchiffrer le code ligne par ligne. Il est probablement impossible pour quiconque ici d'analyser tout le code.
Vous avez en fait 40 scripts bash avec un total de 5 360 lignes. Je les ai combinés ensemble et j'ai cherché des commandes bash / shell qui pourraient être utilisées abusivement. Ils semblent tous être utilisés normalement :
$ cat /tmp/sshellcheck.mrg | grep " rm "
rm -rf "$RETURNPATH"/tmp/*
rm -f "$RETURNPATH"/.mynorminette
rm -f $LOGFILENAME
rm -f $LOGFILENAME
rm -f .mymoulitest
rm -f "${RETURNPATH}/tmp/${FILEN}"
$ cat /tmp/sshellcheck.mrg | grep -i kill
function check_kill_by_name
kill $PROCESSID0
declare -a CHK_MINISHELL_AUTHORIZED_FUNCS='(malloc free access open close read write opendir readdir closedir getcwd chdir stat lstat fstat fork execve wait waitpid wait3 wait4 signal kill exit main)'
check_kill_by_name "${PROGNAME}"
kill -0 "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null && kill "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null
display_error "killed pid: ${CURRENT_CHILD_PROCESS_PID}"
check_kill_by_name "$PROGNAME $PROGARGS"
check_kill_by_name "$PROGNAME $PROGARGS"
kill ${PID} 2>/dev/null
$ cat /tmp/sshellcheck.mrg | grep -i root
"check_configure_select ROOT" "Root folder: /"\
'ROOT')
echo "'${ALLOWED_FILES}' must be placed at root folder but was found here:" >>"${LOGFILENAME}"
printf "%s" "'${ALLOWED_FILES}' must be placed at root folder"
$ cat /tmp/sshellcheck.mrg | grep -i sudo
$
- Il n'y a aucune
rm -rf /
commande pour effacer toute la partition du disque dur.
- Il n'y a aucune exigence
sudo
à utiliser pour exécuter le script.
- Le script s'assure que seules les
C
fonctions autorisées sont utilisées dans les fichiers vérifiés.
- Une navigation rapide du code bash / shell montre qu'il est rédigé par des professionnels et facile à suivre.
- L'utilisation de shellcheck sur les fichiers inclus fusionnés ne révèle que trois erreurs de syntaxe.
- Les noms des auteurs sont identifiés et l'auteur principal a même sa photo sur sa
github
page.
- Bien qu'il n'y ait aucune garantie dans la vie, il
42FileChecker
semble sûr à utiliser.
Ce ne sont pas des scripts bash lisibles par l'homme dont vous devez vous inquiéter autant. Ce sont des objets binaires compilés que vous ne pouvez pas lire qui sont préoccupants. Par exemple, un programme appelé "shiny-bouncy-sphere" pourrait peindre quelque chose comme ça sur votre écran, mais en arrière-plan, il pourrait effacer tous vos fichiers.
Réponse originale
Il est préférable de demander à l'auteur du script ce qu'il fait. En effet, vous pouvez presque poster votre question textuellement comme elle apparaît ci-dessus.
Demandez également à l'auteur:
- Quels fichiers sont mis à jour?
- Que se passe-t-il en cas de panne due à une panne de courant ou à un bug du programme?
- Une mini-sauvegarde peut-elle être effectuée en premier?
Et toutes les autres bonnes questions auxquelles vous pouvez penser.
Edit 1 - Inquiétudes à propos d'un auteur malveillant.
Vous ne devez utiliser un logiciel qu'avec de nombreuses bonnes critiques publiques. Alternativement, les auteurs auxquels vous faites confiance ici dans Ask Ubuntu comme Serge, Jacob, Colin King, etc. D'autres sites respectés comme Ask Ubuntu et leurs membres respectés devraient également être considérés comme "non malveillants".
L'avantage des "auteurs respectés" ici dans Ask Ubuntu est qu'ils jettent leur estime de soi sur des "points de réputation". S'ils devaient écrire intentionnellement du code qui "volait" ou "endommageait" des données, ils perdraient rapidement leur réputation. En effet, les auteurs pourraient subir la «colère des mods» et être suspendus et / ou se voir retirer 10 000 points de réputation.
Edit 2 - Ne suivez pas toutes les instructions
J'ai approfondi les instructions de votre script bash:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
cd ~/42FileChecker &&
bash ./42FileChecker.sh
La méthode "sûre" consiste à exécuter uniquement la première ligne:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
Cela télécharge les scripts mais ne les exécute pas. Utilisez ensuite nautilus
(gestionnaire de fichiers) pour inspecter les répertoires et fichiers installés. Très vite vous découvrez qu'il existe une collection de scripts bash écrits par un groupe d'étudiants en France.
Le but des scripts est de compiler et de tester des programmes C pour les fonctions incorrectes et les fuites de mémoire.
man
pages des commandes qu'il contient.