Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 1.94 KB

File metadata and controls

64 lines (42 loc) · 1.94 KB

Contributing to OpenGnosis

Before contributing

OpenGnosis is a defensive LLM security research tool. It exists to help safety researchers and auditors understand and improve model robustness. Contributions that enable or encourage malicious use — unauthorized attacks on production systems, targeted harassment, or exploitation of real users — are not welcome and will be rejected.

Setup

git clone https://github.com/CodaCipher/opengnosis.git
cd opengnosis
pip install -e .

The [dev] extra will be added as the test infrastructure matures. For now, a plain pip install -e . is sufficient.

Standards

  • Python 3.12+ — no backward compatibility.
  • Type hints on all public signatures. from __future__ import annotations is already in use across the codebase.
  • Keep functions small, names readable, imports minimal.
  • Follow the existing code style — if in doubt, match what's around your change.

Tests

pytest tests/

Tests are still sparse. Adding tests alongside new code is strongly encouraged.

Commit format

Succinct imperative mood, lowercase start:

Add SLIP seed cache
Fix beam pruning edge case
Update carbon theme swatch

No conventional-commits prefixes required. Keep it clean and descriptive.

Pull request flow

  1. Fork the repository.
  2. Create a feature branch from main.
  3. Make your changes, add tests if applicable.
  4. Open a PR against main on the upstream repo.

Adding a new attack method

  1. Create a runner module at scripts/methods/<name>/<name>_runner.py.
  2. Wire it into the dispatcher in scripts/core/orchestrator.py.
  3. Add slash-command support in opengnosis_cli.py (add to Config.METHODS, update SLASH_COMMANDS and the completer).
  4. Add the method to the README methods table.

Issue templates

Not yet available. For now, open a free-form issue with a clear description and reproduction steps.


Thank you for helping make LLMs safer.