Compiled version: 1.0.0 Compiled on: 2025-12-19
This compiled module provides ReversingLabs-driven enrichment for common IOCs (file hashes, domains,
IPs, and URLs). It is packaged as a single Python file (reversinglabs_spectra_analyze.py) for easy deployment into MISP.
This release uses standard MISP object templates (report, file, domain-ip, url, etc.) with
ReversingLabs enrichment data in summary/comment fields and event tags. This ensures compatibility
with all MISP instances without requiring custom template registration.
- Copy
reversinglabs_spectra_analyze.pyto your MISP modules directory (example path shown below). - Ensure the file is readable by the web server user (typically
www-dataorapache). - Restart the web server / PHP-FPM / misp-modules service if necessary.
sudo cp reversinglabs_spectra_analyze.py /var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/
sudo chown www-data:www-data /var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/reversinglabs_spectra_analyze.py
sudo systemctl restart apache2# Copy module into container
docker cp reversinglabs_spectra_analyze.py <container_name>:/var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/
# Set permissions and restart
docker exec <container_name> chown www-data:www-data /var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/reversinglabs_spectra_analyze.py
docker exec <container_name> supervisorctl restart misp-modules# Copy module into container
docker cp reversinglabs_spectra_analyze.py <container_name>:/var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/
# Set permissions and restart
docker exec <container_name> chown www-data:www-data /var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/reversinglabs_spectra_analyze.py
docker exec <container_name> supervisorctl restart misp-modules- In the MISP web UI, go to
Administration -> Server Settings & Maintenance - Click on the
Pluginstab - Use the search/filter box and type
reversinglabs_spectra_analyzeto find the ReversingLabs module settings - Confirm you see entries like
Plugin.Enrichment_reversinglabs_spectra_analyze_enabled
After installing the module, configure it in the MISP web interface:
- Navigate to
Administration -> Server Settings & Maintenance - Click on the
Pluginstab - In the search/filter box, type
reversinglabs_spectra_analyzeto find all ReversingLabs module settings - Configure the following settings:
| Setting | Description | Example |
|---|---|---|
Plugin.Enrichment_reversinglabs_spectra_analyze_enabled |
Enable the module | true |
Plugin.Enrichment_reversinglabs_spectra_analyze_api_url |
ReversingLabs API base URL | |
Plugin.Enrichment_reversinglabs_spectra_analyze_api_token |
Your ReversingLabs API token | your-api-token-here |
Plugin.Enrichment_reversinglabs_spectra_analyze_verify_ssl |
Enable SSL certificate verification | true |
Note for Docker users behind corporate proxies: Some users have experienced SSL certificate errors when their corporate endpoint security blocks requests with unsigned or unrecognized certificates. Workarounds include:
- Using
http://URL/port instead ofhttps://and settingverify_ssltofalse- If your organization uses a corporate proxy with certificate inspection, you may need to provide the corporate CA certificate (
.pemfile) to the container
- To edit a setting, double-click on the setting name (the left column), not the value. This opens an input field where you can enter the new value.
- Press Enter or click outside the field to save the change
For MISP-Docker deployments, you can also configure credentials via environment variables in your docker-compose.yml:
services:
misp:
environment:
- MISP_MODULE_RL_API_URL=your-spectra-analyze-a1000-endpoint-url
- MISP_MODULE_RL_API_TOKEN=your-api-token-here- Go to an event containing a file hash, domain, IP, or URL attribute
- Click on the attribute and select
Enrichor use the enrichment popup - Select
reversinglabs_spectra_analyzefrom the available modules - Verify that enrichment results are returned
When something goes wrong, logs are your first stop for diagnosing issues.
Native MISP Installation:
# MISP application logs
sudo tail -f /var/www/MISP/app/tmp/logs/error.log
sudo tail -f /var/www/MISP/app/tmp/logs/debug.log
# MISP modules service logs
sudo journalctl -u misp-modules -f
# Web server logs
sudo tail -f /var/log/apache2/misp_error.logDocker Installation:
# View MISP modules logs
docker exec <container_name> tail -f /var/log/misp-modules.log
# View all MISP logs
docker logs <container_name> -f
# Check supervisord status
docker exec <container_name> supervisorctl statusIf the module isn't loading, verify the file is syntactically correct:
# Check for Python syntax errors
python3 -m py_compile reversinglabs_spectra_analyze.py
# Check for common issues with pyflakes
python3 -m pyflakes reversinglabs_spectra_analyze.py| Symptom | Likely Cause | Solution |
|---|---|---|
| Module not listed in MISP | File permissions or location | Verify file is in the correct directory and readable by www-data |
| "Import error" in logs | Missing Python dependency | Check logs for the specific module; install with pip if needed |
| Module loads but enrichment fails | API configuration issue | Verify api_url and api_token in Plugin settings (see MISP Configuration above) |
| "Connection refused" | Wrong API URL or network issue | Confirm URL is reachable from the MISP server |
| "SSL certificate verify failed" | Self-signed or expired cert | Set Plugin.Enrichment_reversinglabs_spectra_analyze_verify_ssl to false in Plugin settings, or fix the certificate chain |
After making changes, restart the relevant services:
Native MISP:
sudo systemctl restart misp-modules
sudo systemctl restart apache2Docker:
docker exec <container_name> supervisorctl restart misp-modulesAfter configuring the module, verify it's working correctly:
- Navigate to any event containing a file hash (MD5, SHA1, or SHA256), domain, IP address, or URL
- Click on the attribute to open the attribute details
- Click the Enrich button (or right-click and select "Enrich")
- Select reversinglabs_spectra_analyze from the list of available modules
- If configured correctly, you'll see ReversingLabs threat intelligence data returned
You can also test directly from the admin interface:
- Go to
Administration -> List Modules - Find
reversinglabs_spectra_analyzein the module list - Click the module name to open its details
- Use the Test button to send a sample query
- Enter a known file hash (e.g., a SHA256) and verify you get results
| Symptom | Likely Cause | Solution |
|---|---|---|
| Module not listed | File not copied correctly | Verify file exists in expansion modules directory |
| "Connection refused" | Wrong api_url |
Check URL matches your ReversingLabs instance |
| "401 Unauthorized" | Invalid api_token |
Regenerate and update your API token |
| "SSL certificate error" | Self-signed cert | Set Plugin.Enrichment_reversinglabs_spectra_analyze_verify_ssl to false in Plugin settings (not recommended for production) |
| Empty results | IOC not in ReversingLabs database | Try a known malicious hash for testing |
Tip: All module settings are found in
Administration -> Server Settings & Maintenance -> Pluginstab. Filter byreversinglabs_spectra_analyzeto find ReversingLabs settings.
If you don't have a MISP instance yet, you can quickly set one up using MISP Docker:
# Clone the official MISP Docker repository
git clone https://github.com/MISP/misp-docker.git
cd misp-docker
# Copy the example environment file
cp template.env .env
# Start MISP (first run takes several minutes)
docker compose up -dOnce running, access MISP at: https://127.0.0.1 (or http://127.0.0.1 depending on your configuration)
Note: The port depends on your
docker-compose.ymlconfiguration (default is 443 for HTTPS, 80 for HTTP).
- Default credentials:
admin@admin.test/admin - Accept the self-signed certificate warning in your browser
With MISP Docker running, deploy the ReversingLabs module:
# Find your container name
docker ps --format '{{.Names}}' | grep misp
# Copy and install the module
docker cp reversinglabs_spectra_analyze.py <container_name>:/var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/
docker exec <container_name> chown www-data:www-data /var/www/MISP/app/files/misp-modules/misp_modules/modules/expansion/reversinglabs_spectra_analyze.py
docker exec <container_name> supervisorctl restart misp-modulesFor more information, see the official MISP Docker repository: https://github.com/MISP/misp-docker
This module was generated by the internal ReversingLabs MISP Builder tool. For changes to mapping behavior or templates, please contact support@reversinglabs.com.