If you're running in production, you should set these securely.
However, if you just want to experiment, set the following values
These are all Django settings, defined in stixify/settings.py
DJANGO_SECRET:insecure_django_secretDJANGO_DEBUG:TrueDJANGO_ALLOWED_HOSTS: BLANKDJANGO_CORS_ALLOW_ALL_ORIGINS:TrueDJANGO_CORS_ALLOWED_ORIGINS: LEAVE EMPTY
These are all Django settings, defined in stixify/settings.py
POSTGRES_HOST:pgdbPOSTGRES_PORT: BLANKPOSTGRES_DB:postgresPOSTGRES_USER:postgresPOSTGRES_PASSWORD:postgres
These define how the API behaves.
MAX_PAGE_SIZE:50- This is the maximum number of results the API will ever return before pagination
DEFAULT_PAGE_SIZE:50- The default page size of result returned by the API
Note, this code will not install an ArangoDB instance.
If you're new to ArangoDB, you can install the community edition quickly by following the instructions here.
The script will automatically create a database called ctibutle_database when the container is spun up (if it does not exist).
Depending on the data source, the STIX objects will be stored in the following collections:
- MITRE ATT&CK Enterprise:
mitre_attack_enterprise_vertex_collectionmitre_attack_enterprise_edge_collection
- MITRE ATT&CK Mobile:
mitre_attack_mobile_vertex_collectionmitre_attack_mobile_edge_collection
- MITRE ATT&CK ICS:
mitre_attack_ics_vertex_collectionmitre_attack_ics_edge_collection
- MITRE CAPEC:
mitre_capec_vertex_collectionmitre_capec_edge_collection
- MITRE CWE:
mitre_cwe_vertex_collectionmitre_cwe_edge_collection
- MITRE ATLAS:
mitre_atlas_vertex_collectionmitre_atlas_edge_collection
- MITRE F3:
mitre_f3_vertex_collectionmitre_f3_edge_collection
- DISARM:
disarm_vertex_collectiondisarm_edge_collection
- Location:
location_vertex_collectionlocation_edge_collection
- Sector:
sector_vertex_collectionsector_edge_collection
- MITRE D3FEND
d3fend_vertex_collectiond3fend_edge_collection
The ArangoDB settings you need to configure are:
ARANGODB_HOST_URL:'http://host.docker.internal:8529'- If you are running ArangoDB locally, be sure to set
ARANGODB_HOST_URL='http://host.docker.internal:8529'in the.envfile otherwise you will run into networking errors.
- If you are running ArangoDB locally, be sure to set
ARANGODB_USERNAME:root- Change this if neeed
ARANGODB_PASSWORD: USE PASSWORD OF ARANGODB_USERNAME
All of the knowledgebases are stored on Cloudflare R2. The variables in this part of the config should not be changed.
ATLAS_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-atlas-repo-data/CTI_BUTLER_ROOT:https://downloads.ctibutler.com/LOCATION_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/location2stix-manual-output/CWE_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/cwe2stix-manual-output/CAPEC_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-capec-repo-data/ATTACK_ENTERPRISE_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-attack-enterprise-repo-data/ATTACK_MOBILE_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-attack-mobile-repo-data/ATTACK_ICS_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-attack-ics-repo-data/F3_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/mitre-f3-repo-data/DISARM_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/disarm2stix-manual-output/D3FEND_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/d3fend2stix-manual-output/CLOAK_BUCKET_ROOT_PATH:https://downloads.ctibutler.com/cloak2stix-manual-output/