System Requirements
Before installing AegisShield, ensure your system meets these requirements:Python Version
Python 3.12 or higher (3.9+ supported, 3.12 recommended)
Memory
Minimum 4GB RAM (8GB+ recommended for large threat models)
Disk Space
500MB for application and dependencies
Internet Access
Required for API calls to OpenAI, NVD, and AlienVault OTX
Supported Platforms
- Linux: Ubuntu 20.04+, Debian 11+, RHEL 8+, CentOS 8+
- macOS: 11 (Big Sur) or later
- Windows: 10/11 with WSL2 recommended
- Docker: Any platform with Docker 20.10+
Installation Methods
- Local Installation
- Docker
- Development Setup
1. Clone the Repository
2. Create Virtual Environment
Using a virtual environment is strongly recommended to avoid dependency conflicts:3. Install Dependencies
Install all required Python packages:openai- OpenAI API client for GPT-4ostreamlit- Web application frameworkOTXv2- AlienVault OTX threat intelligence APInvdlib- National Vulnerability Database APIsetuptools- Python package installation utilitiesmarkdown2- Markdown to HTML conversionxhtml2pdf- PDF report generationpytest,pytest-cov,pytest-mock- Testing frameworks
4. Verify Installation
Check that all dependencies are installed correctly:5. Configure API Keys
See the API Key Configuration section below.API Key Configuration
AegisShield requires three API keys to function. You can configure them in two ways:Method 1: Local Configuration File (Recommended)
Create alocal_config.py file in the project root:
local_config.py
Method 2: Streamlit Secrets
For deployments using Streamlit Cloud or shared environments: Create.streamlit/secrets.toml:
.streamlit/secrets.toml
Method 3: UI Input (Development Only)
For testing, you can enter API keys directly in the application sidebar. Not recommended for production.The application checks for keys in this order:
- Streamlit secrets (
.streamlit/secrets.toml) - Local configuration (
local_config.py) - User input in the UI sidebar
Obtaining API Keys
OpenAI API Key
Create OpenAI Account
Visit OpenAI Platform and sign up or log in.
Generate API Key
Go to API Keys and click Create new secret key.The key format is:
sk-proj-...NVD API Key
Request API Key
Visit NVD API Request Form
- With API key: 50 requests per 30 seconds
- Without API key: 5 requests per 30 seconds
AlienVault OTX API Key
Create OTX Account
Sign up at AlienVault OTX
Access API Settings
Navigate to Settings → API
- Free tier: 10,000 requests per hour
- Sufficient for most AegisShield usage
Data Dependencies
AegisShield includes pre-loaded MITRE ATT&CK data in theMITRE_ATTACK_DATA/ directory:
Updating MITRE Data: The repository includes current MITRE ATT&CK data. For the latest version, download from the MITRE ATT&CK GitHub and replace the JSON files.Recommended update frequency: Quarterly
Running the Application
After installation and configuration:- Load API keys from configuration
- Initialize MITRE ATT&CK data
- Start the web server on
http://localhost:8501 - Open your default browser automatically
Custom Port Configuration
Debug Mode
For troubleshooting:Troubleshooting
Python Version Issues
Python Version Issues
Error: “Python 3.12 required” or import errorsSolution:
Dependency Installation Failures
Dependency Installation Failures
Error: “Failed building wheel for X” or compilation errorsSolution for xhtml2pdf (common issue):
API Key Validation Errors
API Key Validation Errors
Error: “Invalid API key” or authentication failuresChecklist:
- API key has no leading/trailing spaces
- OpenAI key starts with
sk-orsk-proj- - Keys are in quotes in
local_config.py - File is named exactly
local_config.py(notconfig.py) - OpenAI account has GPT-4o access enabled
MITRE Data Not Found
MITRE Data Not Found
Error: “No MITRE ATT&CK data found”Solution:
Memory Issues
Memory Issues
Error: “Out of memory” or application crashes during threat generationSolutions:
- Close other applications to free RAM
- Use batch processing for multiple threat models
- Reduce concurrent API calls in code
- Consider upgrading to 8GB+ RAM
- For Docker, increase memory limit:
Network and Firewall Issues
Network and Firewall Issues
Error: Connection timeouts or API request failuresChecklist:
- Internet connection is active
- Firewall allows outbound HTTPS (443)
- No proxy blocking OpenAI, NVD, or OTX domains
- Corporate VPN not blocking API endpoints
Docker Issues
Docker Issues
Error: Docker build fails or container won’t startCommon solutions:
Streamlit Won't Start
Streamlit Won't Start
Error: “Address already in use” or Streamlit crashesSolutions:
Performance Optimization
API Rate Limit Management
AegisShield includes built-in retry logic with exponential backoff (seenvd_search.py:23-63, alientvault_search.py:25-50):
Memory Management
For large threat models:Caching Strategy
Verification
After installation, verify everything works:Next Steps
Quickstart Guide
Create your first threat model
Features
Explore all capabilities
Compliance
NIST SP 800-53 implementation details
API Reference
Integration and automation guides
Support
Installation Issues?
- Check the FAQ
- Review GitHub Issues
- Consult the troubleshooting guide