Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 1.3 KB

File metadata and controls

52 lines (36 loc) · 1.3 KB

Contributing to PentestAI

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/pentestai.git
  3. Install in development mode: pip install -e ".[dev]"
  4. Create a branch: git checkout -b feature/my-feature

Development Setup

# Install with dev dependencies
pip install -e ".[dev]"

# Run linter
ruff check src/

# Run type checker
mypy src/

# Run tests
pytest tests/

Code Style

  • Follow PEP 8
  • Use type annotations for function signatures
  • Maximum line length: 120 characters
  • Run ruff check --fix src/ before committing

Security Considerations

This is a security tool. When contributing:

  • Never commit credentials, API keys, or secrets
  • Never include real target information in examples (use example.com, 192.0.2.x)
  • Sanitize all user inputs that go into shell commands (use src/tools/sanitize.py)
  • Test scope guard enforcement for new tools
  • Do not add exploit code targeting specific real systems

Pull Request Process

  1. Update documentation if you add new features
  2. Add tests for new functionality
  3. Ensure linting passes
  4. Describe what your PR does and why

Reporting Security Issues

If you find a security vulnerability in PentestAI itself, please report it privately rather than opening a public issue.