Skip to content

Security: Consiliency/treesitter-chunker

Security

SECURITY.md

Security Policy

πŸ›‘οΈ Supported Versions

We actively maintain security updates for the following versions:

Version Supported Security Updates Until
1.0.x βœ… Yes 2026-01-27
< 1.0 ❌ No N/A

🚨 Reporting a Vulnerability

We take security vulnerabilities seriously. If you discover a security issue, please follow these steps:

1. DO NOT Create a Public Issue

Never report security vulnerabilities through public GitHub issues, discussions, or other public channels.

2. Report Privately

Send a detailed report to our security team at:

3. Include in Your Report

  • Description: Clear description of the vulnerability
  • Impact: Potential impact on users and systems
  • Steps to Reproduce: Detailed steps to reproduce the issue
  • Proof of Concept: Code or examples if applicable
  • Affected Versions: Which versions are affected
  • Suggested Fix: If you have ideas for fixing the issue

4. Response Timeline

  • Initial Response: Within 24 hours
  • Assessment: Within 3 business days
  • Fix Development: Depends on complexity
  • Public Disclosure: After fix is available

πŸ”’ Security Features

Input Validation

  • File Paths: Strict validation of file paths to prevent path traversal attacks
  • API Filesystem Access: Filesystem-backed REST endpoints require Bearer authentication and canonically confine relative paths to the configured API root, including rejection of symlink escapes
  • API Exposure: The directly-run server binds loopback by default, limits request bodies to 1 MiB, and does not allow credentialed wildcard CORS
  • PostgreSQL Exports: Direct connections require an exact host allowlist; generated SQL escapes every interpolated string literal
  • Language Detection: Safe language detection without code execution
  • Configuration Files: Secure parsing of configuration files
  • Grammar Sources: Exact-host HTTPS validation, immutable-version checksum manifests, and verification before grammar archives are extracted or compiled
  • Plugin Directories: Custom plugin directories require explicit opt-in before their Python modules are executed

Sandboxing

  • Parser Isolation: Tree-sitter parsers run in isolated environments
  • Memory Limits: Configurable memory limits for large files
  • Execution Restrictions: No arbitrary code execution capabilities

Data Protection

  • No Data Collection: We do not collect or transmit user data
  • Local Processing: All processing happens locally on your machine
  • Secure Caching: Local cache with proper file permissions

πŸ§ͺ Security Testing

Automated Security Checks

  • Dependency Scanning: Regular scanning for vulnerable dependencies
  • Code Analysis: Static analysis for security issues
  • Fuzzing: Automated fuzzing of parser inputs
  • Penetration Testing: Regular security assessments

Manual Security Reviews

  • Code Reviews: Security-focused code reviews
  • Architecture Reviews: Security architecture assessments
  • Third-Party Audits: External security audits

πŸ”„ Security Update Process

1. Vulnerability Assessment

  • Severity classification (Critical, High, Medium, Low)
  • Impact analysis
  • Affected version identification

2. Fix Development

  • Security patch development
  • Testing and validation
  • Backward compatibility assessment

3. Release Process

  • Security patch release
  • Public disclosure (after fix availability)
  • CVE assignment if applicable

4. Communication

  • Security advisory publication
  • User notification through multiple channels
  • Documentation updates

🚫 Known Security Limitations

Current Limitations

  • File System Access: Requires read access to source files
  • Network Access: May download grammar files from GitHub
  • Memory Usage: Large files may consume significant memory

Mitigation Strategies

  • File Permissions: Use appropriate file permissions
  • Network Security: Configure firewall rules for grammar downloads
  • Resource Limits: Set appropriate memory and CPU limits

πŸ” Best Practices for Users

Installation Security

# Use official sources only
pip install treesitter-chunker

# Verify package integrity
pip install --require-hashes treesitter-chunker

# Use virtual environments
python -m venv venv
source venv/bin/activate
pip install treesitter-chunker

Runtime Security

# Limit file access to trusted directories
import os
os.chdir('/trusted/source/directory')

# Use appropriate file permissions
# chmod 644 source_files/*.py

# Monitor resource usage
import resource
resource.setrlimit(resource.RLIMIT_AS, (1024*1024*1024, -1))  # 1GB memory limit

Configuration Security

# .chunkerrc
# Restrict grammar sources to trusted repositories
grammar_sources = [
    "https://github.com/tree-sitter/tree-sitter-python",
    "https://github.com/tree-sitter/tree-sitter-javascript"
]

# Set appropriate limits
max_file_size = 100000000  # 100MB
max_memory_usage = 1073741824  # 1GB

πŸ† Security Acknowledgments

We thank security researchers and users who responsibly report vulnerabilities:

  • Responsible Disclosure: Following responsible disclosure practices
  • Security Research: Supporting security research and testing
  • Community Collaboration: Working with the security community

πŸ“ž Security Contact Information

Primary Security Contact

Alternative Contacts

  • GitHub Security: Use GitHub's security advisory system
  • Maintainers: Direct contact for urgent issues

Emergency Response

For critical security issues requiring immediate attention:

πŸ“š Security Resources

Additional Information

External Resources


Security is everyone's responsibility. Thank you for helping keep Tree-sitter Chunker secure! πŸ›‘οΈ

There aren't any published security advisories