Files
bigbrother/CONTRIBUTING.md
T
n0mad1k ccc6b729de Initial public release
Full BigBrother network implant - passive SOC + active exploitation.
Personal identifiers removed; all capabilities intact.
See README.md for setup and docs/deployment.md for detailed deployment.
2026-06-26 09:52:50 -04:00

1.3 KiB

Contributing

What's Welcome

  • Bug fixes with a clear reproduction case
  • New passive capture modules (stick to the module pattern in modules/passive/)
  • Hardware support for additional SBCs
  • Documentation improvements

What's Not Welcome

  • Active modules that target specific commercial services (keep it protocol-level)
  • Features that reduce OPSEC (fingerprints, banners, hardcoded strings)
  • Breaking changes to the state machine API without a migration path

Module Pattern

New modules implement the BaseModule interface:

class MyModule(BaseModule):
    name = "my_module"
    tier = "passive"          # or "active"
    requires = ["root"]       # capabilities needed

    def start(self): ...
    def stop(self): ...
    def status(self) -> dict: ...

Modules must not block the main event loop. Use threads or asyncio internally.

Testing

python3 -m pytest tests/

Tests that require root or live network access are marked @pytest.mark.requires_root and skipped in CI. Write unit tests for logic that doesn't need hardware.

Submitting Changes

  1. Fork the repo
  2. Branch from main
  3. Write a test if the change has logic worth testing
  4. Open a PR with a description of what changed and why

No CLA. MIT License applies to all contributions.