Class: LanguageOperator::Utils::SecurePath
- Inherits:
-
Object
- Object
- LanguageOperator::Utils::SecurePath
- Defined in:
- lib/language_operator/utils/secure_path.rb
Overview
Secure path utilities to prevent path traversal attacks when expanding user home directory paths
Constant Summary collapse
- DEFAULT_HOME =
Default fallback directory for untrusted HOME environments
'/tmp'
Class Method Summary collapse
-
.expand_home_path(relative_path) ⇒ String
Securely expand a path relative to user home directory Prevents path traversal attacks via malicious HOME environment variable.
-
.secure_home_directory ⇒ String
Get user home directory with security validation Falls back to safe default if HOME environment variable is suspicious.
Class Method Details
.expand_home_path(relative_path) ⇒ String
Securely expand a path relative to user home directory Prevents path traversal attacks via malicious HOME environment variable
19 20 21 22 |
# File 'lib/language_operator/utils/secure_path.rb', line 19 def (relative_path) home_dir = secure_home_directory File.join(home_dir, relative_path) end |
.secure_home_directory ⇒ String
Get user home directory with security validation Falls back to safe default if HOME environment variable is suspicious
28 29 30 31 32 33 34 35 |
# File 'lib/language_operator/utils/secure_path.rb', line 28 def secure_home_directory home = ENV.fetch('HOME', DEFAULT_HOME) # Validate HOME is safe to use return DEFAULT_HOME unless home_directory_safe?(home) home end |