Skip to content

Latest commit

 

History

History
78 lines (57 loc) · 2.57 KB

File metadata and controls

78 lines (57 loc) · 2.57 KB

Contributing to AWS Security Group Analysis Tool

Thank you for your interest in contributing to the AWS Security Group Analysis Tool! This document provides guidelines for contributing to this project.

🎯 Project Goals

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

🤝 How to Contribute

Reporting Issues

  • 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

Submitting Code

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass
  6. Commit your changes (git commit -m 'Add some amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

Development Setup

  1. Clone the repository
  2. Create a virtual environment: python -m venv .venv
  3. Activate the environment: .venv\Scripts\activate (Windows) or source .venv/bin/activate (Unix)
  4. Install dependencies: pip install -r requirements.txt
  5. Configure AWS credentials for testing

🔒 Security Considerations

  • 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

📝 Code Style

  • 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

🧪 Testing

  • Write unit tests for new functionality
  • Test with multiple AWS accounts and regions when possible
  • Ensure error handling works correctly
  • Test dashboard functionality manually

📚 Documentation

  • Update README.md for new features
  • Add docstrings to new functions and classes
  • Update configuration examples when needed
  • Include usage examples for new functionality

🚀 Release Process

  1. Update version numbers in relevant files
  2. Update CHANGELOG.md with new features and fixes
  3. Create a release tag
  4. Update documentation as needed

❓ Questions?

If you have questions about contributing, please open an issue for discussion.

📄 License

By contributing to this project, you agree that your contributions will be licensed under the MIT License.