Thanks for your interest in improving CloudStrikeX. This guide covers how to set up a development environment and the conventions used in this project.
- CloudStrikeX is for authorized security testing only. Do not contribute code intended to facilitate unauthorized access or illegal activity.
- Be respectful and constructive in issues and pull requests.
git clone https://github.com/infosec-lab/CloudStrikeX.git
cd CloudStrikeX
python -m venv venv
# Windows: venv\Scripts\activate
# Linux/macOS: source venv/bin/activate
pip install -r requirements.txtRequirements:
- Python 3.8+
- Tkinter (bundled with most Python builds; on Debian/Ubuntu:
apt install python3-tk) - The nmap binary on
PATHfor network-scanning features
Run the application:
python CloudStrikeX.py| Path | Purpose |
|---|---|
CloudStrikeX.py |
Main application and GUI |
tools/ |
Cloud, web, network, and OSINT modules |
config/ |
Default configuration |
data/ |
Sample input files |
docs/ |
Documentation and screenshots |
requirements.txt |
Python dependencies |
- Create a feature branch from
main(e.g.fix/...,feat/...). - Keep changes focused; one logical change per pull request.
- Ensure the project still imports and launches before opening a PR:
python -m py_compile CloudStrikeX.py python -c "import importlib, pathlib; [importlib.import_module(f'tools.{p.stem}') for p in pathlib.Path('tools').glob('*.py') if p.stem != '__init__']" - Open a pull request against
mainwith a clear description of what changed and why.
- Follow the style of the surrounding code (naming, structure, comment density).
- Prefer clear, readable code over cleverness.
- Network/optional dependencies should be imported lazily and guarded with
try/exceptso the application still launches when they are absent. - Do not hardcode credentials, tokens, or real target data.
- Only add a dependency if it is actually imported by the code.
- Pin a sensible minimum version in
requirements.txt. - Optional, platform-specific, or feature-gated dependencies should use markers
(e.g.
; sys_platform == "win32") or be documented as optional.
Use GitHub issues for bugs and feature requests. For security vulnerabilities in CloudStrikeX itself, follow SECURITY.md instead of opening a public issue.