-
Notifications
You must be signed in to change notification settings - Fork 33
Contributions
Hi, looks like you got some cool ideas 😎
Everyone is welcome to use, review and contribute to the tool development. Let's join forces to democratize effective security testing. Hard problems need easier solutions!
As we all think of improvements and new capabilities to add to Halberd, use the goal of simple, fast & effective security testing as the guiding principle.
Checkout development focus areas
Note: Expect to see more information and resources on this space to make contributions & reporting easier.
Found issues in the tool? Great, area of improvement!
- Use the GitHub issue tracker to report bugs
- Before creating a new issue, please check if it hasn't been reported already
- Describe the issue in detail, including steps to reproduce and expected vs. actual behavior (screenshots are great whenever possible)
- Include your environment details (OS, Python version, etc.)
- Use the GitHub issue tracker to suggest enhancements
- Clearly describe the feature and its potential benefits
- If possible, provide examples of how the feature would work
We especially welcome contributions that add new attack techniques to increase Halberd's testing coverage. When adding a new technique:
- Ensure it aligns with one of the supported attack surfaces (Entra ID, M365, AWS, Azure, GCP)
- Follow the existing structure for implementing techniques
- Include proper documentation and usage examples
- Fork the repo
- Create your branch from main
- Make your changes
- Open a pull request directly to the main branch
Don't worry if your code isn't perfect or complete! We encourage you to submit work-in-progress PRs. This allows us to provide early feedback and help shape the contribution.
When submitting a PR:
- Clearly describe what your changes do and why they're needed
- If it's a work-in-progress, mark it as "[WIP]" in the title
- Stay active on your PR and respond to comments promptly (within 2-3 days if possible)
- Be open to feedback and willing to make changes
Remember, every PR is a learning opportunity for both the contributor and the maintainers. Let's collaborate to make Halberd even better!
We follow the PEP 8 style guide for Python code. Additionally:
- Use 4 spaces for indentation
- Use docstrings for all public modules, functions, classes, and methods
- Keep line length to a maximum of 100 characters
- Use meaningful variable and function names
Note: We acknowledge that some of the existing code in the project may not fully adhere to these style guidelines. This is due to the project's evolution and ongoing development. We're actively working on bringing all code up to these standards. When contributing:
- For new code, please follow the style guide as closely as possible
- When modifying existing code, feel free to update it to match the style guide if feasible
- Don't let perfect be the enemy of good - we value your contributions even if the style isn't perfect!
Halberd is licensed under the GPL-3.0 License. By contributing to Halberd, you agree that your contributions will be licensed under its GPL-3.0 License.