fix(securite): python3 -I partout, runuser sans l'environnement de root #19
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mathieu/lanes!19
Loading…
Reference in a new issue
No description provided.
Delete branch "securite-python-runuser"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deux constats d'une revue de sécurité du 2026-10-14, tous deux antérieurs à #18 :
publierdecodeetfixtourne dans le dépôt extrait (working-directory: repo) avecANTHROPIC_API_KEYetLANE_BOT_TOKEN, et lançaitpython3 -/python3 -c: le répertoire courant passe en tête desys.path, unjson.pylivré par l'agent ou l'auteur de la PR aurait été importé en root. Correctif :python3 -Isur les 39 appels (exemples,lancer/).runuserhéritait de l'environnement de root. Un processus lancé sousnodeavec cet environnement (notamment lekill -KILL -1du nettoyage) expose le jeton du job dans/proc/<pid>/environaux processus denodeencore en vie. Correctif :env -i PATH=… runuser -u node -- …partout.Tests : classe
Isolement(aucunpython3sans-I, aucunrunusersansenv -ipréalable,-Iexclut le répertoire courant) ;installer.pysignale aussi unrunuserqui hérite. 49 tests OK ; les nouveaux échouent sur606be5c.CONTRAT.mddécrit les deux règles.À éprouver sur essai-actions avant fusion. Les
tests.ymlde fabrique-pdf, mathieu.lecrivain.fr et atelier sont à corriger de même au réépinglage.