Add tests for resolveSafePath
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Lee resolveSafePath al final de internal/tools/files.go y luego revisa las convenciones existentes en internal/tools/tools_test.go. Añade casos para las rutas indicadas usando una raíz temporal y ejecuta las pruebas del paquete tools. La tarea estará terminada cuando las rutas dentro de la raíz se resuelvan sin errores y todas las rutas que escapen de ella o sean absolutas devuelvan un error.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What
resolveSafePath is the function that jails every file tool to the launch directory. It is pretty thin right now, add tests to try and break it and find real work around bugs to fix.
Where
internal/tools/files.go — the function is at the bottom of the file.
Tests go in internal/tools/tools_test.go (same package tools, so unexported funcs are reachable).
Cases to cover
Should resolve (no error), given a root like /tmp/root:
"main.go"→ inside root"sub/dir/file.go"→ inside root"./main.go"→ inside root (cleanup)""→ root itself
Should error (path escapes root):
"../secret""../../etc/passwd""sub/../../escape"- an absolute path like
"/etc/passwd"(should not silently land inside root)
Notes
It's a pure function do not need ollama, try and break it its good if you find it failing
- Lenguaje dominante
- Go
- Estrellas
- 1
- Forks
- 2
- Merge medio
- 1 h 31 min
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Edwin-metcalf/MetCode
-
Add a code coverage badge to CIAbiertodocumentation enhancement help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Edwin-metcalf/MetCode#19 ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Edwin-metcalf/MetCode#18 ·
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Edwin-metcalf/MetCode#16 · 1 comentario ·
-
Add a MakefileAbiertoenhancement good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Edwin-metcalf/MetCode#8 ·
-
Add a --host flagAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Edwin-metcalf/MetCode#7 ·
Todos los issues de Edwin-metcalf/MetCode
Issues similares
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:session-state issue-rating: 🦞 diamond lobster no-stale P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
openclaw/wacli#503 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 81/100
apache/rocketmq-dashboard#6895 ·
Los mantenedores suelen responder en 3 días
-
agent-butler-finding chore
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
jordansmall/spindrift#5466 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
open-telemetry/opentelemetry-go-compile-instrumentation#1507 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
777genius/agent-notifications#490 ·
Los mantenedores suelen responder en 1 día