Skip to content

Security: vinzabe/rl-ids

Security

SECURITY.md

Security Policy

Reporting a Vulnerability

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.

In Scope

  • CICDatasetLoader downloading data without RLIDS_ALLOW_DOWNLOAD=1 AND allow_download=True set explicitly.
  • LLMExplainer returning an action different from the one passed in (the explainer must be advisory only — it can never change the agent's decision).
  • IDSEnv.step returning rewards that violate the cost matrix.
  • QLearningAgent.save / .load accepting unsafe pickle payloads (we use JSON; if you find a path that introduces pickle, that's a bug).
  • DQNAgent learning 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.

Out of Scope

  • 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.

Authorised use

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.

There aren't any published security advisories