Files
aitbc/dev/scripts/generate_production_keys.py
aitbc dcaa9cbf3c security: mask sensitive data in logging output to fix CodeQL alerts
- scripts/utils/generate-api-keys.py: mask API keys in output
- apps/coordinator-api/src/app/deps.py: mask API keys in debug logging
- dev/scripts/generate_production_keys.py: mask sensitive secrets in output
- scripts/security/security_audit.py: add sensitive data masking for issues/recommendations

Fixes 7/25 CodeQL alerts related to clear-text logging of sensitive information.
2026-04-23 17:24:56 +02:00

37 lines
1.2 KiB
Python

#!/usr/bin/env python3
import secrets
import string
import json
import os
def random_string(length=32):
alphabet = string.ascii_letters + string.digits
return ''.join(secrets.choice(alphabet) for _ in range(length))
def generate_production_keys():
client_key = f"client_prod_key_{random_string(24)}"
miner_key = f"miner_prod_key_{random_string(24)}"
admin_key = f"admin_prod_key_{random_string(24)}"
hmac_secret = random_string(64)
jwt_secret = random_string(64)
return {
"CLIENT_API_KEYS": [client_key],
"MINER_API_KEYS": [miner_key],
"ADMIN_API_KEYS": [admin_key],
"HMAC_SECRET": hmac_secret,
"JWT_SECRET": jwt_secret
}
if __name__ == "__main__":
keys = generate_production_keys()
# Mask sensitive secrets in output
masked_keys = {
"CLIENT_API_KEYS": ["*" * 32 for _ in keys["CLIENT_API_KEYS"]],
"MINER_API_KEYS": ["*" * 32 for _ in keys["MINER_API_KEYS"]],
"ADMIN_API_KEYS": ["*" * 32 for _ in keys["ADMIN_API_KEYS"]],
"HMAC_SECRET": "*" * 32,
"JWT_SECRET": "*" * 32
}
print(json.dumps(masked_keys, indent=2))
print(f"\nActual keys saved to /etc/aitbc/.env (not shown here for security)")