Como la escuela a la que asiste ha publicado los guiones, el mejor lugar para expresar sus preocupaciones es con sus instructores.
Dicho esto, podemos ayudarlo a descifrar el código línea por línea. Probablemente no sea práctico para nadie aquí analizar todo el código.
En realidad, tiene 40 secuencias de comandos bash con un total de 5,360 líneas. Los combiné y busqué comandos bash / shell que pudieran ser abusados. Todos parecen usarse normalmente :
$ 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
$
- No hay ningún
rm -rf /
comando para borrar toda la partición del disco duro.
- No hay ningún requisito que
sudo
se use para ejecutar el script.
- El script realmente se asegura de que solo
C
se usen funciones autorizadas en los archivos marcados.
- Una exploración rápida del código bash / shell muestra que está escrito profesionalmente y es fácil de seguir.
- El uso de shellcheck en archivos de inclusión combinados revela solo tres errores de sintaxis.
- Se identifican los nombres de los autores y el autor principal incluso tiene su foto en su
github
página.
- Aunque no hay garantías en la vida,
42FileChecker
parece seguro de usar.
No es necesario preocuparse tanto por los scripts de bash legibles por humanos. Son objetos binarios compilados que no puedes leer que son motivo de preocupación. Por ejemplo, un programa llamado "esfera brillante-hinchable" podría pintar algo así en su pantalla, pero en el fondo podría estar borrando todos sus archivos.
Respuesta original
Es mejor preguntarle al autor del guión qué hace. De hecho, casi puede publicar su pregunta literalmente como aparece arriba.
También pregunte al autor:
- ¿Qué archivos se actualizan?
- ¿Qué sucede si falla debido a un corte de energía o un error del programa?
- ¿Se puede realizar una mini-copia de seguridad primero?
Y cualquier otra buena pregunta que se te ocurra.
Edición 1: se preocupa por un autor malintencionado.
Solo debe usar software con muchas buenas críticas públicas. Alternativamente, los autores en los que confía aquí en Ask Ubuntu como Serge, Jacob, Colin King, etc. Otros sitios respetados como Ask Ubuntu y sus miembros respetados también deben considerarse "no maliciosos".
La ventaja de los "autores respetados" aquí en Ask Ubuntu es que ponen su autoestima en los "puntos de reputación". Si escribieran intencionalmente código que "robara" o "dañara" datos, perderían rápidamente su reputación. De hecho, los autores podrían sufrir la "ira de las modificaciones" y ser suspendidos y / o que se les quiten 10.000 puntos de reputación.
Edición 2: no siga todas las instrucciones
Eché un vistazo más profundo a las instrucciones de tu script bash:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
cd ~/42FileChecker &&
bash ./42FileChecker.sh
El método "seguro" es ejecutar solo la primera línea:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
Esto descarga los scripts pero no los ejecuta. Luego use nautilus
(administrador de archivos) para inspeccionar los directorios y archivos instalados. Muy pronto descubres que hay una colección de guiones de bash escritos por un grupo de estudiantes en Francia.
El propósito de los scripts es compilar y probar programas en C para detectar funciones incorrectas y pérdidas de memoria.
man
páginas de los comandos que contiene.