Please report security issues privately to g@abejar.net.
Do not file public GitHub issues. Include the affected component (synthetic generator / CIC loader / env / agent / explainer) and a reproducer. We aim to acknowledge reports within 72 hours.
CICDatasetLoaderdownloading data withoutRLIDS_ALLOW_DOWNLOAD=1ANDallow_download=Trueset explicitly.LLMExplainerreturning an action different from the one passed in (the explainer must be advisory only — it can never change the agent's decision).IDSEnv.stepreturning rewards that violate the cost matrix.QLearningAgent.save/.loadaccepting unsafe pickle payloads (we use JSON; if you find a path that introduces pickle, that's a bug).DQNAgentlearning from out-of-bounds actions or NaN observations in a way that corrupts the replay buffer.- Information leakage: the explainer prompt must not contain anything that wasn't in the observation or Q-values.
- Agent under-performance — the cost matrix is intentionally biased against false positives. If random outperforms DQN on your dataset, re-tune.
- Synthetic-generator class imbalance — that's the point.
- LLM rationale prose quality.
CICDatasetLoader reads data from ~/.cache/rlids/. By default it
will not network-fetch anything. If you supply your own pcap-derived
flows, ensure they were captured under a written agreement.