diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index de235ed0..b49c3a56 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -6,6 +6,21 @@ labels: bug assignees: '' --- +**Priority** +- [ ] P1 - Critical: System completely broken, data loss +- [ ] P2 - High: Major functionality broken +- [ ] P3 - Medium: Minor functionality affected +- [ ] P4 - Low: Minor issue, cosmetic + +**Component** +- [ ] Backend +- [ ] Frontend +- [ ] AI Engine +- [ ] Database +- [ ] Documentation +- [ ] CI/CD +- [ ] Other + **Describe the bug** A clear and concise description of what the bug is. diff --git a/.github/ISSUE_TEMPLATE/config.md b/.github/ISSUE_TEMPLATE/config.md index 886391a9..4d80a686 100644 --- a/.github/ISSUE_TEMPLATE/config.md +++ b/.github/ISSUE_TEMPLATE/config.md @@ -6,6 +6,12 @@ labels: configuration assignees: '' --- +**Priority** +- [ ] P1 - Critical: System cannot start or deploy +- [ ] P2 - High: Major configuration issue +- [ ] P3 - Medium: Minor configuration issue +- [ ] P4 - Low: Cosmetic or improvement + **Type of configuration issue** - [ ] Environment variable - [ ] Docker configuration diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md index e14f6f7b..ea3fe14b 100644 --- a/.github/ISSUE_TEMPLATE/documentation.md +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -6,6 +6,21 @@ labels: documentation assignees: '' --- +**Priority** +- [ ] P1 - Critical: Documentation missing for critical feature +- [ ] P2 - High: Major documentation issue +- [ ] P3 - Medium: Minor documentation issue +- [ ] P4 - Low: Cosmetic or low priority + +**Component** +- [ ] Backend +- [ ] Frontend +- [ ] AI Engine +- [ ] Database +- [ ] Documentation +- [ ] CI/CD +- [ ] Other + **Type of documentation issue** - [ ] Typo or grammatical error - [ ] Missing information diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 33f5d9f1..4efea183 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -6,6 +6,21 @@ labels: enhancement assignees: '' --- +**Priority** +- [ ] P1 - Critical: Must have for project success +- [ ] P2 - High: Important feature +- [ ] P3 - Medium: Nice to have +- [ ] P4 - Low: Future consideration + +**Component** +- [ ] Backend +- [ ] Frontend +- [ ] AI Engine +- [ ] Database +- [ ] Documentation +- [ ] CI/CD +- [ ] Other + **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 2deb6a6b..6aa5cd8b 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -6,6 +6,21 @@ labels: question assignees: '' --- +**Priority** +- [ ] P1 - Critical: Urgent question blocking progress +- [ ] P2 - High: Important question +- [ ] P3 - Medium: General question +- [ ] P4 - Low: Curiosity + +**Component** +- [ ] Backend +- [ ] Frontend +- [ ] AI Engine +- [ ] Database +- [ ] Documentation +- [ ] CI/CD +- [ ] Other + **Question** What do you want to ask or discuss? diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..76a02a0f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,68 @@ +# Security Policy + +## Reporting a Vulnerability + +We take security vulnerabilities seriously. If you discover a security issue, please report it responsibly. + +### How to Report + +**Please DO NOT report security vulnerabilities through public GitHub issues.** + +Instead, please report them via one of the following methods: + +1. **GitHub Security Advisories**: Use the [GitHub Security Advisory](https://github.com/anchapin/ModPorter-AI/security/advisories/new) to report vulnerabilities privately. + +2. **Email**: Contact us at **alex** (you can find the email associated with the GitHub account @anchapin). + +### What to Include + +When reporting a security vulnerability, please include: + +- Type of vulnerability (e.g., XSS, SQL injection, etc.) +- Full paths of source file(s) related to the vulnerability +- Location of the affected source code (tag/branch/commit or direct URL) +- Step-by-step instructions to reproduce the issue +- Proof-of-concept or exploit code (if possible) +- Impact assessment of the vulnerability + +## Disclosure Process + +Once we receive a security vulnerability report: + +1. **Acknowledgment**: We will acknowledge receipt of your report within 48 hours. + +2. **Initial Assessment**: We will conduct an initial assessment to determine the severity and validity of the vulnerability. + +3. **Regular Updates**: We will provide updates on the progress of addressing the vulnerability every 7 days. + +4. **Resolution**: We will work on a fix and test the solution. + +5. **Public Disclosure**: Once the vulnerability has been addressed, we will publicly disclose the details in the release notes. + +## Supported Versions + +We currently support the following versions with security updates: + +| Version | Supported | +| ------- | ------------------ | +| 1.0.x | :white_check_mark: | + +## Security Best Practices + +When contributing to ModPorter-AI, please follow these security best practices: + +- Never commit sensitive information (API keys, passwords, tokens) to the repository +- Use environment variables for configuration secrets +- Follow the principle of least privilege +- Keep dependencies up to date +- Run security checks before submitting PRs + +## Security-Related Configuration + +For deployment security configurations, see: +- [Security Configuration Guide](.github/security-config-guide.md) +- [Security Check Script](.github/security-check.sh) + +## Credits + +We appreciate the efforts of security researchers and contributors who help us keep ModPorter-AI secure. With your permission, we will acknowledge your contribution in the security advisory. diff --git a/ai-engine/pyproject.toml b/ai-engine/pyproject.toml index 5b4e3472..8a976e25 100644 --- a/ai-engine/pyproject.toml +++ b/ai-engine/pyproject.toml @@ -245,6 +245,7 @@ dependencies = [ # Monitoring "prometheus-client", "psutil", + "structlog>=24.0.0", ] [project.optional-dependencies] diff --git a/ai-engine/setup.py b/ai-engine/setup.py index 489dbea7..2f87c2a7 100644 --- a/ai-engine/setup.py +++ b/ai-engine/setup.py @@ -64,6 +64,7 @@ def get_install_requires(): # Monitoring "prometheus-client", "psutil", + "structlog>=24.0.0", ] diff --git a/backend/setup.py b/backend/setup.py index b9c3de4b..0723f20a 100644 --- a/backend/setup.py +++ b/backend/setup.py @@ -28,5 +28,6 @@ 'ruff==0.15.1', 'black==26.1.0', 'python-dotenv==1.2.1', + 'structlog>=24.0.0', ], )