kindly-guard-server 0.11.14

KindlyGuard MCP server - Enterprise-grade security for AI model interactions
Documentation
# KindlyGuard Server

A production-ready, security-focused MCP (Model Context Protocol) server that provides enterprise-grade protection for AI model interactions against Unicode attacks, injection attempts, and other security threats.

## 🎯 Production Status

**Version 0.9.5** - Ready for Production Deployment
- ✅ 100% security test coverage - all vulnerabilities fixed
- ✅ Cross-platform support (Windows, Linux, macOS)
- ✅ Enterprise features fully implemented
- ✅ Performance optimized for high-throughput workloads
- ✅ Battle-tested with 200+ comprehensive tests

## Features

- **🛡️ Comprehensive Threat Detection**
  - Unicode exploit detection (invisible characters, BiDi attacks, homographs)
  - Injection prevention (SQL, command, path traversal, prompt injection)
  - XSS protection with context-aware sanitization
  - DoS protection with resource limits and circuit breakers
  - Real-time threat scanning with visual shield indicator

- **🔐 Enterprise Security**
  - OAuth 2.0 with Resource Indicators (RFC 8707)
  - Ed25519 message signing and verification
  - Fine-grained tool-level permissions
  - Configurable rate limiting with circuit breakers
  - Comprehensive audit logging
  - Constant-time cryptographic operations

- **⚡ High Performance**
  - 150+ MB/s Unicode scanning throughput
  - 200+ MB/s injection detection throughput
  - Sub-millisecond request latency
  - Lock-free statistics collection
  - SIMD-optimized pattern matching
  - Memory-efficient design (<50MB baseline)

- **🎯 MCP Protocol Compliance**
  - Full JSON-RPC 2.0 implementation
  - Standard MCP tools and resources
  - Compatible with all MCP clients
  - Extensive protocol test coverage

## Installation

### From crates.io
```bash
cargo install kindly-guard-server
```

### From source
```bash
git clone https://github.com/kindlyguard/kindly-guard
cd kindly-guard
cargo build --release
```

## Quick Start

1. Create a configuration file:
```yaml
# kindly-guard.yaml
scanner:
  unicode_detection: true
  injection_detection: true

auth:
  enabled: true
  allowed_clients:
    - client_id: "my-app"
      secret: "change-me"
      allowed_scopes: ["tools:execute"]
```

2. Start the server:
```bash
kindly-guard --stdio
```

3. Connect with any MCP client!

## Usage

### Stdio Mode (Recommended for MCP)
```bash
kindly-guard --stdio
```

### With Configuration
```bash
kindly-guard --config /path/to/config.yaml --stdio
```

### Systemd Service
```bash
# Install service
sudo ./systemd/install.sh

# Start service
sudo systemctl start kindly-guard
```

## Configuration

See [CONFIGURATION.md](https://github.com/kindlyguard/kindly-guard/blob/main/docs/CONFIGURATION.md) for detailed configuration options.

### Minimal Configuration
```yaml
scanner:
  unicode_detection: true
  injection_detection: true

auth:
  enabled: false  # Only for testing!
```

### Production Configuration
```yaml
scanner:
  unicode_detection: true
  injection_detection: true
  max_scan_depth: 10

auth:
  enabled: true
  require_resource_indicators: true
  allowed_clients:
    - client_id: "production-app"
      secret: "$2b$10$..."  # bcrypt hash
      allowed_scopes: ["tools:execute", "resources:read"]

rate_limit:
  enabled: true
  default_rpm: 60
  threat_penalty_multiplier: 2.0

signing:
  enabled: true
  private_key_path: "/etc/kindly-guard/keys/private.pem"
```

## Tools

### scan_text
Scan text for security threats:
```json
{
  "name": "scan_text",
  "arguments": {
    "text": "Check this content",
    "context": "user_input"
  }
}
```

### verify_signature
Verify message signatures:
```json
{
  "name": "verify_signature",
  "arguments": {
    "message": "Important data",
    "signature": "base64-signature"
  }
}
```

### get_security_info
Get security information:
```json
{
  "name": "get_security_info",
  "arguments": {
    "topic": "unicode"
  }
}
```

## Security Features

### Shield Status Indicators
- 🟢 **Green Shield** - Active protection
- 🔴 **Red Shield** - Threat detected
-**Gray Shield** - Inactive

### Threat Categories
- **Unicode Exploits** - Zero-width spaces, BiDi overrides, homographs
- **Injection Attacks** - SQL, command, path traversal, prompt injection
- **Authentication** - OAuth 2.0 with secure token management
- **Rate Limiting** - Configurable limits with automatic penalties

## API Documentation

See [API.md](https://github.com/kindlyguard/kindly-guard/blob/main/docs/API.md) for complete API documentation.

## Development

### Building
```bash
cargo build --release
```

### Testing Excellence

KindlyGuard implements a comprehensive testing strategy with 100% security coverage:

```bash
# Run all tests (235+ tests)
cargo test --all-features

# Run security-specific tests (58 tests, 100% passing)
cargo test --test security_tests

# Run cross-platform tests
cargo test --test cross_platform_security

# Run performance benchmarks
cargo bench

# Run with coverage report
cargo tarpaulin --out Html

# Run complete test suite
./run-all-tests.sh
```

#### Test Coverage Highlights
- **Security Tests**: 100% coverage, all vulnerabilities fixed
- **Unicode Detection**: Complete coverage of all Unicode threats
- **Injection Prevention**: Cross-platform detection (Windows/Linux/macOS)
- **DoS Protection**: Resource exhaustion prevention validated
- **Authentication**: Constant-time operations verified
- **Performance**: No regressions, 15% improvement over v0.9.0

### Benchmarks

```bash
# Run all benchmarks
cargo bench

# Run comparative benchmarks (Standard vs Enhanced)
cargo bench --bench comparative_benchmarks

# Save baseline for comparison
cargo bench -- --save-baseline main

# Compare against baseline
cargo bench -- --baseline main
```

### Comprehensive Testing

```bash
# Run complete test suite
./run-all-tests.sh

# Run with CI configuration
./run-all-tests.sh --ci

# Run with coverage
./run-all-tests.sh --coverage
```

Our testing infrastructure ensures:
- **Security Parity**: Both standard and enhanced implementations detect identical threats
- **Performance Tracking**: Continuous monitoring of performance metrics
- **Fault Tolerance**: Chaos engineering validates resilience
- **Real-world Scenarios**: Integration tests cover production use cases

## Recent Improvements (v0.9.5)

### Security Enhancements
- ✅ Fixed all timing attack vulnerabilities
- ✅ Enhanced path traversal detection
- ✅ Added DoS protection mechanisms
- ✅ Implemented compression bomb detection
- ✅ Cross-platform command injection patterns

### Performance Optimizations
- ✅ 15% throughput improvement in Unicode scanning
- ✅ SIMD acceleration for pattern matching
- ✅ Lock-free metrics collection
- ✅ Optimized memory allocation patterns

### Architecture Improvements
- ✅ Full trait-based architecture
- ✅ Runtime implementation selection
- ✅ Enhanced resilience components
- ✅ Improved error handling throughout

## License

Licensed under either of:
- MIT license ([LICENSE-MIT]LICENSE-MIT)
- Apache License, Version 2.0 ([LICENSE-APACHE]LICENSE-APACHE)

at your option.

## Contributing

Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.

## Security

For security issues, please email security@kindlyguard.dev instead of using the issue tracker.