How zkcplk/federe_ogrenme_ile_malware_tespiti works
This is a federated-learning malware detection and classification application: clients train local FNN or LSTM models on malware datasets, exchange encrypted weights with a coordinating server, and receive a FedAvg global model. The main workflow runs from client polling and local training through authenticated round-based transfer, server aggregation, evaluation, logging, and either another round or completion. The sampled source supports these runtime links; dataset contents and some configuration details are represented only by the tree.
Main entry points: server_functions.py FedAvg round · client_functions.py Round loop · server_main.py Server listener · server_main.json Server config
Components 19
Client runtime
- Client launcher
Fed_Client/client_main.py - Round loop
Fed_Client/client_functions.py - Malware datasets
Fed_Client/datasets - Client protocol
Fed_Client/client_functions.py
Server runtime
- Server listener
Fed_Server/server_main.py - Client handler
Fed_Server/server_functions.py - FedAvg round
Fed_Server/server_functions.py - Model evaluation
Fed_Server/server_functions.py - Metrics log
Fed_Server/server_functions.py - Evaluation datasets
Fed_Server/datasets
Model learning
- Client architectures
Fed_Client/models/model.py - Server architectures
Fed_Server/models/model.py
State and security
- Client config
Fed_Client/client_main.json - Server config
Fed_Server/server_main.json - Client crypto and state
Fed_Client/other.py - Server crypto and state
Fed_Server/other.py - API credentials
Fed_Server/apikeys/user.json
Other components
- Client operator
- Client participant
Connections 28
- Client operator → Client launcher: starts
- Client launcher → Client config: loads and updates
- Client launcher → Client crypto and state: clears model files
- Client launcher → Round loop: starts rounds
- Round loop → Malware datasets: reads training data
- Round loop → Client config: reads settings
- Round loop → Client architectures: builds model
- Round loop → Client protocol: checks and transfers
- Client protocol → Server listener: TLS commands and weights
- Client protocol → Client crypto and state: decrypts global weights
- Round loop → Client crypto and state: encrypts local weights
- Server listener → Server config: loads and updates
- Server listener → Server architectures: builds initial model
- Server listener → Server crypto and state: saves encrypted model
- Server listener → Client handler: dispatches connection
- Client handler → API credentials: checks credentials
- Client handler → Server config: checks round
- Client handler → Server crypto and state: reads and writes weights
- Server listener → FedAvg round: updates after request
- FedAvg round → Server config: reads round and submissions
- FedAvg round → Server crypto and state: decrypts and encrypts weights
- FedAvg round → Server architectures: loads and averages weights
- FedAvg round → Model evaluation: tests global model
- Model evaluation → Evaluation datasets: reads evaluation data
- Model evaluation → Server config: reads evaluation settings
- FedAvg round → Metrics log: records metrics
- FedAvg round → Server config: advances round
- Client participant → Client protocol: participates