Compliance & security SDK for Leo smart contracts
Project description
Comp-LEO SDK
Shift-left compliance & security for Leo smart contracts
The Comp-LEO SDK brings automated compliance checking, security analysis, and policy enforcement to the Aleo ecosystem. Build safer, audit-ready dApps with real-time feedback during development.
What It Does
- Static Analysis: Parse and analyze Leo code for security vulnerabilities, compliance gaps, and best-practice violations
- Policy Enforcement: Built-in rule packs for NIST 800-53, ISO 27001, PCI-DSS, GDPR, and Aleo-specific patterns
- Developer-First: Fast local checks (<2s), clear error messages, actionable remediation guidance
- CI/CD Integration: Block merges/deployments on policy failures, generate compliance reports
- Audit Evidence: Timestamped artifacts mapping code to control IDs for regulatory reviews
- AI Auto-Fix (Roadmap): Automated remediation with PR generation
Quick Start
# Install CLI
pip install comp-leo
# Check a Leo program
comp-leo check programs/my_contract/src/main.leo
# Run with specific policy pack
comp-leo check --policy pci-dss programs/payment/
# Generate audit report
comp-leo report --format json --output compliance-report.json
Use Cases
1. Pre-Commit Hook
# .git/hooks/pre-commit
#!/bin/bash
comp-leo check --policy nist-800-53 programs/ || exit 1
2. CI/CD Pipeline
# .github/workflows/compliance.yml
- name: Compliance Check
run: comp-leo check --policy iso-27001 --fail-on-high programs/
3. API Integration
import requests
response = requests.post(
"https://api.compiledger.com/v1/check",
headers={"X-API-Key": "your_key"},
json={"source": leo_code, "policy": "pci-dss"}
)
Policy Packs
| Pack | Controls | Focus Area |
|---|---|---|
| nist-800-53 | 1,200+ | Federal security baseline |
| iso-27001 | 114 | Information security management |
| pci-dss | 300+ | Payment card security |
| gdpr | 99 | Data protection & privacy |
| aleo-baseline | 50+ | Leo-specific best practices |
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Comp-LEO SDK │
├─────────────────────────────────────────────────────────────┤
│ CLI Tool API Service CI Integration │
│ comp-leo check /v1/check GitHub Actions │
│ comp-leo fix /v1/report GitLab CI │
│ comp-leo report Authentication PR Comments │
├─────────────────────────────────────────────────────────────┤
│ Static Analysis Engine │
│ Leo Parser → AST → Pattern Matcher → Scorer │
├─────────────────────────────────────────────────────────────┤
│ Policy Engine │
│ Rules | Severity | Evidence | Control Mapping │
├─────────────────────────────────────────────────────────────┤
│ Remediation Engine (Future) │
│ Fix Generator → AI Agent → PR Creator │
└─────────────────────────────────────────────────────────────┘
Example Output
⚠️ Compliance Check: 3 issues found
HIGH: Missing input validation [AC-3.1, NIST 800-53]
→ programs/payment/src/main.leo:45
💡 Add assertion: assert(amount > 0u64);
MEDIUM: Insufficient logging [AU-2, NIST 800-53]
→ programs/payment/src/main.leo:78
💡 Log transaction hash before state mutation
LOW: Public field exposure [privacy-001]
→ programs/payment/src/main.leo:12
💡 Consider using private modifier for sensitive data
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 47 checks passed ⚠️ 3 warnings ❌ 0 critical
Score: 85/100 (Threshold: 75)
Pricing
| Tier | Checks/Month | Price | Features |
|---|---|---|---|
| Freemium | 100 | Free | Core policies, CLI access |
| Pro | 1,000 | $99/mo | All policies, API access, CI integration |
| Enterprise | Unlimited | $999/mo | Custom rules, SLA, white-label |
Project Structure
comp-leo-sdk/
├─ cli/ # Command-line tool
├─ api/ # FastAPI service
├─ analyzer/ # Static analysis engine
│ ├─ parser.py # Leo AST parser
│ ├─ checker.py # Pattern matcher
│ └─ scorer.py # Severity & scoring
├─ policies/ # Compliance rule definitions
│ ├─ nist_800_53.json
│ ├─ iso_27001.json
│ ├─ pci_dss.json
│ └─ aleo_baseline.json
├─ integrations/ # CI/CD plugins
│ ├─ github/
│ └─ gitlab/
└─ tests/ # Test suite
Development Roadmap
Phase 1: Foundation (Weeks 1-4)
- Leo parser & AST builder
- Core static analysis patterns
- NIST 800-53 baseline (80% of ISO overlap)
- CLI tool with local checks
- Unit test suite (>80% coverage)
Phase 2: API & Monetization (Weeks 5-8)
- FastAPI service with authentication
- Rate limiting & usage tracking
- API key management portal
- Stripe integration for paid tiers
Phase 3: CI/CD & Ecosystem (Weeks 9-12)
- GitHub Actions integration
- PR comment bot
- Policy pack expansion (PCI, GDPR)
- VS Code extension
Phase 4: AI Auto-Fix (Weeks 13-16)
- Fix suggestion engine
- LLM integration (GPT-4/Claude)
- Automated PR generation
- Confidence scoring for fixes
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
Apache 2.0 for core SDK (open-source) Proprietary for API service & enterprise features
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file comp_leo-0.1.0.tar.gz.
File metadata
- Download URL: comp_leo-0.1.0.tar.gz
- Upload date:
- Size: 70.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5efc33acaa669040b4484fd54b010270d6316b2e711d7345a3b2160bb52b87d
|
|
| MD5 |
9ba8afc993e3923946a2d16a651700d1
|
|
| BLAKE2b-256 |
363c11cadde1cef9678f26f35822e53907a983cfa4c881f9caf7707c802062a1
|
File details
Details for the file comp_leo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: comp_leo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af27c05fa28f3fd7a0bec7774158638124f9c269d13092aeeadbb5662a4bec32
|
|
| MD5 |
912ffa788fd282659e2f429e3a88c686
|
|
| BLAKE2b-256 |
65444a58ea180f259a144931bad3eeb5c56726c40d2cdf2f36321acce56d9d96
|