Thank you for your interest in contributing to the AWS Security Group Analysis Tool! This document provides guidelines for contributing to this project.
This project aims to help AWS administrators and security teams:
- Identify security vulnerabilities in security group configurations
- Analyze traffic patterns across multiple AWS accounts
- Generate actionable reports for remediation
- Provide interactive dashboards for security analysis
- Use GitHub Issues to report bugs or request features
- Provide detailed information including AWS region, account setup, and error messages
- Include steps to reproduce any issues
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Clone the repository
- Create a virtual environment:
python -m venv .venv - Activate the environment:
.venv\Scripts\activate(Windows) orsource .venv/bin/activate(Unix) - Install dependencies:
pip install -r requirements.txt - Configure AWS credentials for testing
- This tool is designed for READ-ONLY analysis
- Never submit code that modifies AWS resources
- Be careful with sensitive information in examples or logs
- Follow AWS security best practices
- Follow PEP 8 Python style guidelines
- Use type hints for function parameters and return values
- Include docstrings for all classes and functions
- Add comments for complex logic
- Write unit tests for new functionality
- Test with multiple AWS accounts and regions when possible
- Ensure error handling works correctly
- Test dashboard functionality manually
- Update README.md for new features
- Add docstrings to new functions and classes
- Update configuration examples when needed
- Include usage examples for new functionality
- Update version numbers in relevant files
- Update CHANGELOG.md with new features and fixes
- Create a release tag
- Update documentation as needed
If you have questions about contributing, please open an issue for discussion.
By contributing to this project, you agree that your contributions will be licensed under the MIT License.