Thank you for your interest in contributing! We welcome contributions from the community.
- Use GitHub Issues
- Provide detailed description
- Include steps to reproduce
- Share system information (OS, Python version)
- Attach relevant logs/screenshots
- Open a GitHub Issue with label "enhancement"
- Describe the feature and use case
- Explain why it would be valuable
- Consider implementation complexity
- Fix typos or unclear sections
- Add examples or use cases
- Improve installation instructions
- Translate documentation
- Check existing issues and PRs
- Open an issue to discuss major changes
- Fork the repository
- Create a feature branch
# Fork and clone
git clone https://github.com/YOUR_USERNAME/AI-Sec-Assist.git
cd AI-Sec-Assist
# Install dependencies
pip install -r requirements.txt
# Run tests
python test_installation.py
python test_scanners.py- Follow existing code style
- Add docstrings to functions
- Include comments for complex logic
- Keep functions focused and small
- Handle errors gracefully
- Add type hints where possible
- Test your changes thoroughly
- Ensure existing tests pass
- Add new tests for new features
- Test on multiple platforms if possible
- Use clear, descriptive messages
- Start with verb (Add, Fix, Update, etc.)
- Reference issue numbers (#123)
- Keep first line under 50 characters
Example:
Add hash verification for downloaded files (#123)
- Implement SHA256 hash checking
- Add progress indicator
- Update documentation
- Update documentation if needed
- Ensure tests pass
- Update CHANGELOG (if exists)
- Create PR with clear description
- Link related issues
- Wait for review
To add new detection patterns to scanners:
Log Scanner (src/scanners/log_scanner.py):
SUSPICIOUS_PATTERNS = [
# ... existing patterns ...
(r'your_pattern_here', 'Threat Description'),
]File Scanner (src/scanners/file_scanner.py):
SUSPICIOUS_STRINGS = [
# ... existing patterns ...
(r'your_pattern_here', 'Threat Description'),
]Network Analyzer (src/scanners/network_analyzer.py):
SUSPICIOUS_PORTS = {
# ... existing ports ...
12345: "Threat Description",
}Help improve AI accuracy by refining prompts in src/ai/ollama_client.py:
- Make prompts more specific
- Add security context
- Reduce hallucination risk
- Test with multiple models
- Be respectful and inclusive
- Welcome newcomers
- Accept constructive criticism
- Focus on what's best for the project
- Show empathy towards others
- Harassment or discrimination
- Trolling or insulting comments
- Personal or political attacks
- Publishing others' private information
- Other unethical or unprofessional conduct
DO NOT open public issues for security vulnerabilities.
Instead:
- Email maintainers privately
- Provide detailed description
- Include steps to reproduce
- Allow time for fix before disclosure
Contributors will be:
- Listed in CONTRIBUTORS.md (if created)
- Mentioned in release notes
- Given credit in commits
- Open a GitHub Discussion
- Ask in the Issues section
- Check existing documentation
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make AI Security Assistant better! 🛡️