๐Ÿ”’ Security Policy

November 11, 2025 ยท View on GitHub

Protecting orchestr8 and Its Users

Security Scan OpenSSF Best Practices OpenSSF Scorecard


๐Ÿ“‹ Table of Contents


๐Ÿ“ฆ Supported Versions

We actively maintain and provide security updates for the following versions:

VersionStatusSecurity UpdatesEnd of Life
8.x.xโœ… CurrentActiveTBD
7.x.xโš ๏ธ MaintenanceCritical only2026-01-01
< 7.0โŒ UnsupportedNone2025-01-10

Recommendation: Always use the latest version for best security posture.


๐Ÿ›ก๏ธ Security Architecture

orchestr8 implements defense-in-depth security with five layers of protection:

Layer 1: MCP Server Isolation

FeatureImplementationProtection
stdio TransportAll communication via stdin/stdoutNo network attack surface
Process IsolationSeparate Node.js processSandboxed execution
No Remote AccessLocal-only operationZero external exposure
Read-Only ResourcesResources loaded with read-only accessImmutable knowledge base

Threat Mitigation: Remote code execution, network-based attacks, unauthorized access

Layer 2: Input Validation

ComponentValidationProtection
Query SanitizationAll fuzzy match queries validatedInjection attack prevention
URI ValidationStatic/dynamic URIs checked against patternsPath traversal prevention
Parameter ValidationWorkflow parameters sanitized pre-substitutionCommand injection prevention
Token Budget LimitsMaximum token limits enforcedResource exhaustion prevention

Threat Mitigation: Code injection, path traversal, denial of service

Layer 3: Dependency Security

PracticeToolFrequency
Vulnerability Scanningnpm auditEvery PR + Daily
Dependency UpdatesDependabotDaily
License Compliancelicense-checkerEvery PR
SBOM Generationnpm sbomEvery release
Pinned Versionspackage-lock.jsonAlways

Threat Mitigation: Supply chain attacks, vulnerable dependencies, license violations

Layer 4: Supply Chain Security

PracticeImplementationProtection
Pinned GitHub ActionsAll actions at commit SHAsImmutable CI/CD pipeline
Secret ScanningGitleaks + TruffleHogCredential leak prevention
Code ReviewRequired for all PRsMalicious code detection
Signed CommitsOptional GPG signingAuthor verification
Immutable ReleasesGitHub releases + checksumsTamper detection

Threat Mitigation: Supply chain compromise, malicious code injection, unauthorized releases

Layer 5: Audit & Monitoring

FeatureToolPurpose
Structured LoggingWinstonForensic analysis
Error TrackingStack traces + contextIncident investigation
Cache StatisticsLRU metricsPerformance monitoring
Performance MetricsTiming instrumentationAnomaly detection

Threat Mitigation: Undetected breaches, performance degradation, resource exhaustion


๐Ÿšจ Reporting Vulnerabilities

We take security seriously. Responsible disclosure helps us protect all users.

๐Ÿ”ด DO NOT

  • โŒ Open public GitHub issues for security vulnerabilities
  • โŒ Discuss vulnerabilities publicly before a fix is available
  • โŒ Exploit vulnerabilities beyond proof-of-concept

โœ… DO

  • โœ… Report privately via approved channels (below)
  • โœ… Provide detailed reproduction steps
  • โœ… Allow time for coordinated disclosure
  • โœ… Follow responsible disclosure principles

๐Ÿ“ง How to Report

Choose one of these private reporting methods:

Option 1: Email (Preferred)

Email: security@orchestr8.builders

Subject: [SECURITY] Brief description

PGP Key: Download public key (optional but recommended)

Option 2: GitHub Security Advisories

Use GitHub's private vulnerability reporting:

Create Security Advisory


๐Ÿ“ What to Include

A great security report includes:

1. Summary
   - Brief description of the vulnerability
   - Type of vulnerability (e.g., XSS, RCE, path traversal)

2. Impact
   - What an attacker can achieve
   - Affected systems/components
   - Severity assessment (Critical/High/Medium/Low)

3. Reproduction Steps
   - Detailed, numbered steps to reproduce
   - Environment details (OS, Node.js version, etc.)
   - Sample payloads or proof-of-concept code

4. Affected Versions
   - Which versions are vulnerable
   - When the vulnerability was introduced (if known)

5. Suggested Fix (Optional)
   - Your recommendations for remediation
   - Patches or code samples (if available)

Example Template:

## Vulnerability: [Brief Description]

**Type**: Command Injection
**Severity**: High
**Affected Versions**: 8.0.0-rc1

### Impact
An attacker can execute arbitrary commands by crafting a malicious query...

### Steps to Reproduce
1. Install orchestr8 v8.0.0-rc1
2. Execute workflow with payload: `'; rm -rf / #`
3. Observe command execution...

### Suggested Fix
Sanitize all user input with...

โฑ๏ธ Response Timeline

We are committed to rapid response:

StageTimelineDescription
Acknowledgment24 hoursWe confirm receipt of your report
Triage48 hoursWe assess severity and impact
Investigation72 hoursWe validate and reproduce the issue
Fix DevelopmentVariesBased on severity (see below)
DisclosureAfter fixCoordinated public disclosure

Fix Development Timelines

SeverityTimelineExamples
Critical (CVSS 9.0-10.0)7 daysRCE, auth bypass, data breach
High (CVSS 7.0-8.9)14 daysXSS, CSRF, privilege escalation
Medium (CVSS 4.0-6.9)30 daysInformation disclosure, DoS
Low (CVSS 0.1-3.9)60 daysMinor info leaks, config issues

Note: Timelines may be extended for complex vulnerabilities requiring extensive testing.


๐Ÿ† Recognition

We value security researchers and offer:

  • โœ… Public acknowledgment (with your permission)
  • โœ… CVE credit for valid vulnerabilities
  • โœ… Hall of Fame listing on our security page
  • โœ… Swag for significant findings (orchestr8 t-shirts, stickers)

๐Ÿ”ง Security Best Practices

For Users

Installation Security

# โœ… Verify source
git clone https://github.com/seth-schultz/orchestr8.git
cd orchestr8

# โœ… Check integrity (if downloading release)
sha256sum -c CHECKSUMS.txt

# โœ… Review code before production use
cat plugins/orchestr8/src/index.ts

# โœ… Use latest version
npm install  # Installs latest stable

Configuration Security

# โœ… Never commit secrets
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore

# โœ… Use environment variables
export ORCHESTR8_API_KEY="secret"

# โœ… Set proper file permissions
chmod 600 .env
chmod 700 plugins/orchestr8/config/

# โœ… Use production log level
export LOG_LEVEL="warn"  # Not "debug"

Runtime Security

// โœ… Configure token limits
const config = {
  maxTokens: 3000,  // Prevent resource exhaustion
  cacheSize: 200,   // Limit memory usage
  cacheTTL: 14400   // 4 hours
};

// โœ… Monitor logs
tail -f logs/orchestr8.log | grep ERROR

// โœ… Keep dependencies updated
npm audit
npm update

For Contributors

Development Security

# โœ… Run security checks locally
npm run lint
npm run type-check
npm audit

# โœ… Use pre-commit hooks
./scripts/install-git-hooks.sh

# โœ… Never commit sensitive data
git diff --cached  # Review before commit

# โœ… Sign commits (optional)
git config --global commit.gpgsign true

Code Review Checklist

  • Input validation on all user-provided data
  • Output encoding to prevent XSS
  • Parameterized queries to prevent injection
  • Proper error handling (no stack traces to users)
  • Authentication/authorization checks
  • Rate limiting where applicable
  • Secrets not hard-coded
  • Dependencies up-to-date

๐Ÿค– Automated Security

We run continuous security scanning to catch issues early:

Dependency Scanning

Tool: npm audit
Frequency: Every PR + Daily scheduled run
Threshold: Fail on HIGH/CRITICAL vulnerabilities
Action: Auto-create PR with fixes (Dependabot)

Static Analysis

Tool: CodeQL
Frequency: Every push to main + Weekly scheduled scan
Languages: TypeScript, JavaScript
Queries: security-extended, security-and-quality
Action: Create GitHub Security Alert

Secret Scanning

Tools: Gitleaks, TruffleHog
Frequency: Every commit (pre-commit hook) + Every PR
Patterns: API keys, passwords, tokens, private keys
Action: Fail build, prevent merge

Supply Chain Security

Tool: OpenSSF Scorecard
Frequency: Weekly
Checks: 24 security practices
Threshold: Maintain score โ‰ฅ 7.0/10
Action: Automated improvement PRs

License Compliance

Tool: license-checker
Frequency: Every PR
Allowed: MIT, Apache-2.0, BSD-3-Clause
Prohibited: GPL, AGPL, proprietary
Action: Fail build on non-compliant licenses

๐Ÿ“œ Vulnerability Disclosure

We maintain full transparency on security issues:

Public Disclosure Process

  1. Fix Developed - Vulnerability patched in private repository
  2. Release Prepared - New version created with fix
  3. Advisory Published - GitHub Security Advisory created
  4. CVE Assigned - CVE ID obtained from GitHub/MITRE
  5. Public Release - Fix published, advisory made public
  6. User Notification - Email to security mailing list
  7. Blog Post - Detailed post-mortem published

Security Advisories

Active Advisories: View on GitHub

CVE Database: Search NIST NVD

CHANGELOG Security Entries

All security fixes are documented in CHANGELOG.md with:

  • ๐Ÿ”’ [SECURITY] tag
  • CVE ID (if assigned)
  • Severity level
  • Affected versions
  • Mitigation steps

๐Ÿ‘ฅ Security Champions

Security Team

RoleContactResponsibilities
Security Lead@seth-schultzVulnerability triage, disclosure coordination
Security Emailsecurity@orchestr8.buildersPrimary contact for vulnerability reports

External Security Audits

We welcome external security audits. If you're interested:

  1. Contact: security@orchestr8.builders with your proposal
  2. Access: We'll provide test environments and documentation
  3. Disclosure: Coordinated disclosure of findings
  4. Recognition: Public acknowledgment (with your permission)

๐Ÿ“š Additional Resources


Questions about security?

๐Ÿ“ง Email: security@orchestr8.builders ๐Ÿ”’ GitHub Security Advisories: Report Privately ๐Ÿ“– Documentation: plugins/orchestr8/docs/


Last Updated: November 11, 2025 Version: 1.0.0