Merge PR #529: fix: restrict .env file permissions to owner-only
Authored by Himess. Adds 0600 chmod on ~/.hermes/.env after writing API keys, matching the existing pattern in auth.py for auth.json.
This commit is contained in:
@@ -14,8 +14,9 @@ This module provides:
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import stat
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, Any, Optional, List, Tuple
|
from typing import Dict, Any, Optional, List, Tuple
|
||||||
|
|
||||||
@@ -869,6 +870,13 @@ def save_env_value(key: str, value: str):
|
|||||||
with open(env_path, 'w', **write_kw) as f:
|
with open(env_path, 'w', **write_kw) as f:
|
||||||
f.writelines(lines)
|
f.writelines(lines)
|
||||||
|
|
||||||
|
# Restrict .env permissions to owner-only (contains API keys)
|
||||||
|
if not _IS_WINDOWS:
|
||||||
|
try:
|
||||||
|
os.chmod(env_path, stat.S_IRUSR | stat.S_IWUSR)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def get_env_value(key: str) -> Optional[str]:
|
def get_env_value(key: str) -> Optional[str]:
|
||||||
"""Get a value from ~/.hermes/.env or environment."""
|
"""Get a value from ~/.hermes/.env or environment."""
|
||||||
|
|||||||
Reference in New Issue
Block a user