Please do not report security vulnerabilities through public GitHub issues.
Instead, please report vulnerabilities to:
Include the following information:
- Type of issue (e.g., buffer overflow, SQL injection, cross-site scripting, etc.)
- Full paths of source file(s) related to the manifestation of the issue
- The location of the affected source code (tag/branch/commit or direct URL)
- Any special configuration required to reproduce the issue
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue, including how an attacker might exploit it
We will respond to your report within 48 hours with an initial assessment and timeline for a fix.
When we receive a security bug report, we will:
- Confirm the problem and determine affected versions
- Audit code to find any similar problems
- Prepare fixes for all supported releases
- Release patches as quickly as possible
We follow a 90-day coordinated disclosure policy:
- We will keep you informed of our progress
- We will credit you in the release notes (unless you prefer to remain anonymous)
- We will publicly disclose the vulnerability 90 days after the initial report or after a patch is released, whichever comes first
- Never commit secrets: API keys, passwords, private keys, or tokens must never be committed to the repository
- Validate inputs: All user inputs must be validated and sanitized
- Use parameterized queries: Prevent SQL injection by using parameterized queries or ORM methods
- Escape outputs: Prevent XSS by properly escaping all user-generated content
- Implement rate limiting: All API endpoints should have appropriate rate limits
- Pin versions: Use exact versions in package.json (no
^or~) - Audit regularly: Run
npm auditbefore submitting PRs - Update promptly: Apply security patches within 48 hours of disclosure
- Use short-lived tokens: Session tokens should expire within 15 minutes
- Implement MFA: Require multi-factor authentication for sensitive operations
- Principle of least privilege: Grant minimal permissions necessary
- Rotate credentials: Rotate secrets regularly (monthly for keys, quarterly for partner tokens)
- Encrypt PII: All personally identifiable information must be encrypted at rest
- Minimize data collection: Only collect data that is absolutely necessary
- Implement redaction: Use middleware to redact PII from logs and non-essential responses
- Default to ephemeral: Use
PERSISTENCE=falsein development and testing
- Primary contact: security@mbtq.dev
- Security council: @security-council (GitHub team)
- Emergency escalation: security-urgent@mbtq.dev
We currently support security updates for the following versions:
| Version | Supported |
|---|---|
| 1.x.x | ✅ |
| < 1.0 | ❌ |
- Authentication: Paseto v4 public tokens with Ed25519 signing
- Rate Limiting: 100 requests/minute per IP, 1000 requests/hour per API key
- Input Validation: Zod schema validation on all API endpoints
- PII Redaction: Middleware-based redaction for sensitive data
- Audit Logging: All agent actions logged to append-only audit store
- Webhook Security: HMAC SHA-256 with single-use nonces
- Event signing with Ed25519 for audit logs
- Automated key rotation system
- Supply-chain attestations (SLSA provenance)
- Enhanced anomaly detection and alerting
See agents.md for detailed security implementation roadmap.
In case of a security incident:
- Immediate containment: Set
EMERGENCY_LOCKDOWN=trueto disable all agent actions - Rotate credentials: Run
npm run rotate-keys --emergency - Notify security team: Email security@mbtq.dev with incident details
- Document: Create postmortem in
docs/incidents/
For detailed incident response procedures, see agents.md.
NegraRosa is committed to:
- Data Minimization: Collecting only necessary data
- User Control: Users maintain control over their data and identity
- Transparency: Clear documentation of data handling practices
- Accountability: Comprehensive audit logging of all actions
All contributors are expected to:
- Review this security policy before contributing
- Complete security training (30-minute walkthrough available)
- Follow the secure coding guidelines in agents.md
- Participate in quarterly security reviews
We thank the security researchers and contributors who help keep NegraRosa secure. Security researchers who responsibly disclose vulnerabilities will be acknowledged in our release notes (with their permission).
Last Updated: 2025-12-06
Contact: security@mbtq.dev