We release security updates for the following versions:
| Version | Supported | Status |
|---|---|---|
| 0.4.x | ✅ | Current |
| 0.3.x | ❌ | EOL |
| 0.2.x | ❌ | EOL |
| 0.1.x | ❌ | EOL |
Note: Only the latest minor version receives security updates. Users should upgrade to v0.4.x for security fixes.
Please do not report security vulnerabilities through public GitHub issues.
Email: matt@coopercybercoffee.com
Include in your report:
- Description of the vulnerability
- Steps to reproduce
- Potential impact (confidentiality, integrity, availability)
- Affected versions
- Suggested fix (if any)
- Your contact information for follow-up
Response Timeline:
- Initial response: Within 48 hours
- Status update: Within 7 days
- Fix timeline: Depends on severity (see below)
Critical (Fix within 24-48 hours):
- Remote code execution
- Authentication bypass
- Data exfiltration
- Privilege escalation
- TLP filtering bypass
High (Fix within 7 days):
- Injection vulnerabilities (SQL, command, template)
- Access control issues
- Cryptographic weaknesses
- Path traversal
Medium (Fix within 30 days):
- Information disclosure
- Denial of service
- Input validation issues
- Audit log tampering
Low (Fix in next release):
- Minor information leaks
- Configuration issues
- Non-security bugs
This project implements multiple layers of security controls:
- ✅ TLP Filtering: CISA-compliant Traffic Light Protocol filtering prevents unauthorized data disclosure
- ✅ Air-Gap Support: Works with local LLMs for classified environments
- ✅ Data Classification: Automatic classification labeling for audit compliance
- ✅ No Data Persistence: Sensitive threat intelligence not stored locally
- ✅ Sanitization: All TLP markings sanitized to prevent injection attacks
- ✅ Path Validation: Config file paths validated to prevent traversal attacks
- ✅ Parameter Masking: Sensitive parameters masked in audit logs
- ✅ Type Checking: Strict type validation on all inputs
- ✅ YAML Safety: Uses
yaml.safe_load()notyaml.load()(prevents code execution) - ✅ Environment Variables: All secrets via environment variables, never hardcoded
- ✅ Permission Checks: Warns if config files are world-writable
- ✅ Default Secure: TLP:CLEAR only by default
- ✅ Comprehensive Logging: All MCP tool calls logged for audit trail
- ✅ Sensitive Data Masking: API tokens and secrets masked in logs
- ✅ Structured JSON: SIEM-compatible JSON logging
- ✅ Compliance Ready: CMMC, NIST 800-171, SOC 2, HIPAA compliant logging
- ✅ DoS Protection: Token bucket rate limiting (60 calls/minute default)
- ✅ Progress Reporting: Real-time status updates for long operations
- ✅ Cancellation Support: User-initiated operation abortion
- ✅ Performance Tracking: Execution time monitoring for all operations
- ✅ Version Pinning: All dependencies pinned to major versions
- ✅ CVE Monitoring: Regular security scans with pip-audit
- ✅ Minimal Dependencies: Small attack surface
- ✅ Security Audit: Pre-release security audits (see SECURITY_AUDIT.md)
- ✅ Static Analysis: Bandit security linting
- ✅ Type Safety: Type hints throughout codebase
- ✅ Code Review: Manual security review before release
- ✅ No Eval/Exec: No dynamic code execution
Deployment:
- Use environment variables for secrets (never hardcode)
- Run with least privilege (non-root user)
- Restrict network access (localhost only for MCP)
- Enable audit logging
- Review TLP policy regularly
Configuration:
- Start with default TLP policy (TLP:CLEAR only)
- Use
strict_mode: truefor sensitive data - Set
allow_unmarked: false - Protect config files:
chmod 600 config/tlp_policy.yaml - Use local LLM for classified/CUI data
Operations:
- Monitor audit logs for suspicious activity
- Keep dependencies updated:
pip install --upgrade -r requirements.txt - Review security advisories
- Test TLP filtering with sample data before production use
- Document your TLP policy decisions
Contributing:
- Run security scan before PR:
bandit -r src/ - Check for secrets: Review git history
- Add security tests for new features
- Document security implications
- Follow secure coding practices (see CONTRIBUTING.md)
Code Review Checklist:
- No hardcoded credentials or API keys
- Input validation on all external input
- Sensitive data not logged
- Error messages don't leak sensitive info
- Dependencies have no known CVEs
- Tests include security test cases
Issue: Some transitive dependencies (cryptography, pip, setuptools) have known CVEs
Status: Accepted risk
- Build/install tools, not runtime dependencies
- Unused vulnerable functionality
- Documented in SECURITY_AUDIT.md
Mitigation: Use modern pip/setuptools versions during development
Issue: Cloud LLMs (Claude Pro) receive threat intelligence data
Status: By design, with mitigations
- TLP filtering prevents sensitive data transmission
- Default policy: TLP:CLEAR only
- Documented deployment options
Mitigation: Use local LLM for sensitive data (TLP:AMBER+, classified, CUI)
Issue: Default rate limit (60 calls/minute) may be too restrictive for some deployments
Status: Configurable by design
- Adjustable via
RATE_LIMIT_CALLS_PER_MINUTEenvironment variable - Balance between protection and usability
- Documented in configuration guide
Mitigation: Tune based on deployment size (single user: 60, team: 120, enterprise: 300+)
Issue: Default MCP server host is 0.0.0.0 (all interfaces)
Status: Accepted for containerized deployment
- Expected for Docker/K8s
- Configurable via
MCP_SERVER_HOST=127.0.0.1 - Network exposure controlled by container orchestration
Mitigation: Override with MCP_SERVER_HOST=127.0.0.1 for local-only binding
This project is designed to support:
- AC.L2-3.1.5: Audit logging
- AC.L2-3.1.3: Information flow enforcement (TLP filtering)
- SC.L2-3.13.11: Cryptographic protection of CUI
- 3.13.11: Cryptographic Protection (TLP filtering)
- 3.3.1: Audit Logging
- 3.5.2: Authentication (API tokens)
- 3.14.1: Flaw Remediation
- §164.312(b): Audit controls
- §164.312(a)(1): Access controls (TLP filtering)
- §164.312(a)(2)(iv): Encryption (data-in-transit only)
- CC6.1: Logical access controls
- CC7.2: System monitoring
- CC7.3: Vulnerability management
Note: Users are responsible for their own compliance. This tool provides security controls; you must implement organizational policies and procedures.
When a security vulnerability is fixed:
- Fix Development: Develop and test fix in private repository
- Version Release: Release patched version
- Advisory Publication: Publish security advisory on GitHub
- CVE Assignment: Request CVE ID for high/critical issues
- User Notification: Notify users via GitHub, email list
- Public Disclosure: Full disclosure 90 days after patch (or when exploitation detected)
Credit: We gladly give credit to security researchers (if desired)
Scope: Comprehensive pre-release security audit
Activities:
- Dependency CVE scan (pip-audit)
- Static code analysis (bandit)
- Manual code review
- Input validation hardening
- YAML security enhancement
- Audit log sanitization
Findings: See SECURITY_AUDIT.md
Status: ✅ Approved for release with documented residual risks
Scope: Incremental security enhancements
v0.4.0 - Performance & Audit Release:
- Server-side TLP filtering (scope minimization)
- Rate limiting and DoS protection
- Enhanced audit logging with correlation IDs
v0.4.1 - UX & Cancellation Release:
- Progress reporting (no security impact)
- User-initiated cancellation (audit logged)
v0.4.2 - IOC Enrichment Release:
- Multi-observable search (no security impact)
- Expanded type detection (validation enhanced)
Status: ✅ No new vulnerabilities introduced
Scheduled: 2026-02-19 (Quarterly)
Security Issues: matt@coopercybercoffee.com General Questions: matt@coopercybercoffee.com Project Lead: Matthew Hopkins LinkedIn: https://linkedin.com/in/matthew-hopkins Project: https://coopercybercoffee.com
We thank the security researchers and community members who help keep this project secure:
- (Your name here - report a vulnerability!)
This security policy demonstrates Cooper Cyber Coffee's commitment to security-first development and responsible disclosure practices.
Last Updated: 2025-11-20 Version: 0.4.2.1