Thank you for your interest in contributing to this project! This repository contains scripts that demonstrate the use of the JSON-based interface to the network-hosted Code+PDB analysis server.
PowerShell Scripts:
- PowerShell 5.0 or later
- ShowUI module for GUI functionality
- Administrative privileges for memory scanning operations
Python Scripts:
- Python 2.7 (for Volatility compatibility)
- Required packages listed in
requirements.txt - Volatility Framework 2.1
Bash Scripts:
- llvm-readobj-4 or higher
- curl
- bc (basic calculator)
-
Clone the repository:
git clone https://github.com/K2/Scripting.git cd Scripting -
For Python development:
pip install -r requirements.txt
-
For PowerShell development:
Import-Module ShowUI
- Use approved PowerShell verbs (Get-, Set-, New-, etc.)
- Follow the PowerShell Practice and Style guide
- Include comment-based help for all functions using
.SYNOPSIS,.DESCRIPTION,.PARAMETER,.EXAMPLE, and.NOTES - Use PascalCase for function names and parameters
- Use proper error handling with try/catch blocks
- Follow PEP 8 style guidelines
- Use docstrings for all classes and functions
- Include type hints where appropriate
- Keep compatibility with Python 2.7 for Volatility plugins
- Follow the Google Shell Style Guide
- Include function documentation
- Use proper error handling
- Make scripts portable (avoid bash-specific features when possible)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following the code style guidelines
- Add tests if applicable
- Update documentation to reflect your changes
- Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Use clear and descriptive commit messages
- Start with a verb in the imperative mood (e.g., "Add", "Fix", "Update")
- Keep the first line under 72 characters
- Provide additional context in the commit body if needed
Example:
Add validation for SHA256 hash format
- Implement regex pattern matching for Base64-encoded hashes
- Add error messages for invalid hash formats
- Include unit tests for validation function
When reporting issues, please include:
- Description: Clear description of the problem
- Steps to Reproduce: Detailed steps to reproduce the issue
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Environment:
- Operating System and version
- PowerShell/Python/Bash version
- Relevant module/package versions
- Logs/Error Messages: Any error messages or relevant log output
- Additional Context: Any other context about the problem
If you discover a security vulnerability, please do NOT open a public issue. Instead:
- Email the maintainer directly (refer to the LICENSE file for contact information)
- Provide a detailed description of the vulnerability
- Include steps to reproduce if possible
- Allow time for the vulnerability to be addressed before public disclosure
When contributing:
- Never commit credentials, API keys, or sensitive data
- Use environment variables for configuration
- Validate all user inputs
- Follow the principle of least privilege
- Use secure communication (HTTPS) for network requests
- Properly handle and sanitize file paths
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on constructive criticism
- Respect differing viewpoints and experiences
- Accept responsibility and apologize for mistakes
- Harassment, discriminatory language, or personal attacks
- Publishing others' private information
- Trolling, insulting comments, or deliberate intimidation
- Other conduct which could reasonably be considered inappropriate
- README.md - Project overview and usage examples
- Azure Functions Documentation
- Volatility Framework
- PowerShell Documentation
If you have questions about contributing, feel free to:
- Open an issue with the "question" label
- Check existing issues and discussions
- Refer to the project README for basic usage information
Thank you for contributing!