Skip to content

Latest commit

 

History

History
41 lines (41 loc) · 3.27 KB

File metadata and controls

41 lines (41 loc) · 3.27 KB
  1. résoudre le gros problème de perfs lié au fait qu'on se retrouve à parser l'intégralité des bibliothèques dynamiques installées sur le système. => plusieurs options: - soit on parse la string issue de ldconfig - soit on fait en sorte que la ldmap soit une map de vec, et on ne parse que les lib dont on a besoin. - soit on parse directement ld.so.cache à la main sans passer par ldconfig
  2. gérer le choix de l'ABI landlock qu'on va utiliser, sans juste utiliser le mode “best effort” de landlock parce qu'on veut un message qui s'affiche et qui dise à l'utilisateur qu'il n'est pas parfaitement sandboxé.
  3. faire le ménage dans les OsString dans elf_deps.rs => les remplacer par des pathbuf
  4. renommer elf_deps.rs
  5. gérer le cas où il n'y a pas de lib dynamiquement linkée (en ce moment ça panic, pour rien)
  6. Faire en sorte que le fichier de config soit utilisable pour plusieurs exécutables à la fois, avec des paramètres différents.
  7. changer la hierarchie des privilèges pour s'éloigner du modèle de landun qui est trop simpliste (--rw donne beaucoup trop de droits qui ne sont pas utiles dans le cas général)
  8. change the path resolution workflow to match this (double check that this is how ldd does it)
    • The linker checks RPATH/RUNPATH (if any).
    • If not found, it checks LD_LIBRARY_PATH.
    • If still not found, it looks up in /etc/ld.so.cache.
    • If found, it loads the library from the cached path.
    • If not found, it searches /lib and /usr/lib.
  9. Work on error handling
  10. pourquoi on a ld.so.cache dans la allowlist par défaut ?
  11. gérer le ~ dans le sandbox.toml
  12. fusionner lld et add_exec => auto_add_binary_dependencies, et faire en sorte que si c'est faux, on affiche la liste des dépendences qu'il faudrait ajouter à la main.
  13. refactorer le code de sandbox::apply
  14. gérer le LD_LIBRARY_PATH
  15. faire marcher cargo dans la sandbox => il faut que je teste avec un kernel plus récent
  16. faire marcher `rust-analyzer dans la sandbox
  17. faire marcher VSCode dans la sandbox
  18. ajouter une liste d'exécutable dans la config (executables pour lequels le résolveur de dépendance ira sélectionner les lib dynamiques et les ajouter à la liste d'exclusion)
  19. écrire un README
  20. mettre un truc (dans le cargo.toml j'imagine) pour préciser que cette crate est linux-only
  21. BUG: “adding read only executable” & “adding read-only” quand on met qqch en rox
  22. ne pas passer les variables d'environnement par défaut au processus sandboxé, sauf certaines à déterminer (+ celles qu'on a explicitement demandé de passer)
  23. gérer le cas des / dans le nom de la dépendance à importer
  24. mieux tester le module elf_dependencies
  25. mieux gérer l'extraction de l'architecture des dépendances (sans avoir à parser tout le binaire)
  26. parser ld.so.cache par moi-même, plutôt que d'utiliser ldconfig
  27. traiter les warnings et passer un coup de clippy
  28. rebaser pour les fixups et publier sur github
  29. améliorer la CLI
  30. implement a strict mode
  31. add support for auditing with Landlock V7
  32. Add licence