First tagged release of gen-fraud-graph — a synthetic fraud graph generator for benchmarking graph-based fraud detection models (GNN/AML) in financial services. All data is synthetic by construction: no PII, no real-world identifiers.
Added
- Core 3-phase generation pipeline: accounts → transactions → fraud rings
Configdataclass with scale factor, embedding provider, output format, workersFraudGraphGeneratororchestrator with parallelProcessPoolExecutorworkersEmbeddingGeneratorwith three backends:fake(random),local(SentenceTransformers),openaiFraudRingGenerator— cyclic money-laundering patterns with configurable depth (4–7 hops)- CSV and AWS Neptune bulk-load output formats
- Resume support for interrupted generation (incremental file append)
- ZIP compression option for output files
gen-fraud-graphCLI with--scale,--workers,--provider,--formatflags- Python API:
from gen_fraud_graph import Config, FraudGraphGenerator verifymodule to validate fraud patterns against generated transaction edges- Full per-module test suite (98% coverage, 90% CI gate)
- Hardened CI: lint/format/type-check, test matrix (3.10–3.12), CodeQL, pip-audit, license + SPDX checks, internal-pattern scan, OpenSSF Scorecard — all actions SHA-pinned
Fixed
- Fraud rings no longer draw overlapping account ranges (rings are placed on disjoint ranges)
- README installation section leads with the from-source install; PyPI release is pending
- All generated account and transaction rows are preserved when totals do not divide evenly across worker batches
Full Changelog: https://github.com/SantanderAI/gen-fraud-graph/blob/main/CHANGELOG.md