AdversaryGraph v2.5.0
AdversaryGraph v2.5.0 Release Notes
Release date: 2026-06-18
AdversaryGraph v2.5.0 adds a practical IOC Library and expands enrichment,
exchange, and source synchronization workflows.
Major Changes
IOC Library
- Added
/ioc-libraryas the central observable workspace. - Added full-text IOC search across indicator value, description, malware
family, campaign, source, tags, and actor context. - Added filters for IOC type, source, and ATT&CK group/actor.
- Added searchable multi-select group filtering with selected-group chips.
- Added sorting by last seen, first seen, type, value, source, confidence, and
group/attacker. - Added per-IOC enrichment action.
IOC Exchange and Source Connections
- Added STIX 2.1 export from filtered IOC Library views.
- Added STIX bundle import for IOC ingestion.
- Added TAXII 2.1 collection object pull support.
- Added MISP JSON export connection as a custom IOC feed.
- Added custom JSON, CSV, and TXT IOC feed registration from the IOC Library.
Enrichment
- Added VirusTotal IOC lookup with structured verdicts, detection context,
extracted ATT&CK technique evidence, local actor matches, rules, sandbox
context, DNS/resolution context, and pivot links. - Added IOC-to-TTP mapping from imported reports, enrichment metadata, OTX,
Malpedia, and custom feeds. - Added sandbox behavior feed synchronization for malware behavior context.
- Added YARA and Sigma rule-feed synchronization for detection context.
Reliability and Operations
- Fixed manual
POST /api/sync/dynamic-dbso the FastAPI route awaits an async
helper instead of calling the Celery wrapper that usesasyncio.run(). - Kept the Celery scheduled task path intact by wrapping the same async helper
from the synchronous task function. - Improved IOC Library dropdown sizing so the group selector shows at least
seven visible rows and is not clipped by the surrounding panel.
Licensing
- Replaced the MIT license with the AdversaryGraph Personal Use License.
- Personal/private use is free.
- Business, commercial, organizational, client-delivery, production, or
government use requires prior written approval from Andrey Pautov.
Upgrade Notes
For a fresh or existing Docker deployment:
git pull
docker compose up -d --buildThen verify:
curl http://localhost:8000/api/health
curl http://localhost:8000/api/system/selftestFor enrichment features, configure API keys in .env where needed:
VIRUSTOTAL_API_KEY=
OTX_API_KEY=
THREATFOX_AUTH_KEY=Verification
npm run buildpassed.git diff --checkpassed.- Docker API and frontend rebuilt successfully.
- Focused Docker API tests passed:
tests/integration/test_ioc_routes.py::test_ioc_library_accepts_multiple_actor_filters
tests/integration/test_attack_routes.py::test_dynamic_db_sync_runs_from_async_route
- Live checks returned HTTP 200:
GET /api/health
GET /api/ioc/library?actor=G0006&actor=G0049&limit=5
POST /api/sync/dynamic-db?days=7&force_attack=false