With the base path `/app`: ```go RealPath("../secret") // not found error, secure RealPath("../app-secret") // ok, not secure ``` `if !strings.HasPrefix(path, bpath) {` - that's the issue, we shouldn't check it like that. https://github.com/spf13/afero/blob/master/basepath.go#L53-L65 We can use `filepath.IsLocal`, `filepath.Rel` or similar methods instead of prefix check. I drafted a PR, but unfortunately the tests use a `TempDir` call which adds random postfixes to created folders and thus preventing the attack.