NEVER commit sensitive information to this repository!
- API keys (AbuseIPDB or any other service)
- SMTP passwords and credentials
- FortiGate usernames and passwords
- IP addresses of your FortiGate devices
- Your organization's IP ranges (unless intentionally public)
- Email addresses used for notifications
-
API Keys:
- Store in environment variables or separate config files
- Never hardcode in scripts
- Use placeholders in committed code
-
SMTP Credentials:
- Use environment variables
- Or use a separate, non-committed config file
- Consider using OAuth2 or app passwords
-
FortiGate Credentials:
- Use the
fortigate_creds.datfile (excluded in .gitignore) - Consider using SSH keys instead of passwords
- Use a secrets management system in production
- Use the
- Immediately rotate all exposed credentials
- Remove secrets from code
- Force push to overwrite history
- Review GitHub's secret scanning alerts
- Enable GitHub secret scanning on your repository
# Use environment variables
import os
CONFIG = {
'abuseipdb_api_key': os.getenv('ABUSEIPDB_API_KEY'),
'smtp_pass': os.getenv('SMTP_PASSWORD'),
# ... other configs
}Or use a separate config file:
# config_local.py (add to .gitignore)
ABUSEIPDB_API_KEY = 'your-actual-key'
SMTP_PASSWORD = 'your-actual-password'
# main script
try:
from config_local import *
except ImportError:
from config_example import * # Use example config as fallbackPlease report security vulnerabilities privately through GitHub Security Advisories.
Do NOT create public issues for security problems.