tauri

Cross-platform desktop application framework combining Rust backend with web frontend, emphasizing security and performance

By martinholovsky · 542 installs

npx skills add martinholovsky/claude-skills-generator --skill tauri

Source repository · Upstream listing

Tauri Desktop Framework Skill File Organization This skill uses a split structure for HIGH RISK requirements: SKILL.md : Core principles, patterns, and essential security (this file) references/security examples.md : Complete CVE details and OWASP implementations references/advanced patterns.md : Advanced Tauri patterns and plugins references/threat model.md : Attack scenarios and STRIDE analysis Validation Gates Gate 0.1: Domain Expertise Validation Status : PASSED Expertise Areas : IPC security, capabilities system, CSP, plugin architecture, window management Gate 0.2: Vulnerability Research (BLOCKING for HIGH RISK) Status : PASSED (5+ CVEs documented) Research Date : 2025 11 20 CVEs Documented : CVE 2024 35222, CVE 2024 24576, CVE 2023 46115, CVE 2023 34460, CVE 2022 46171 Gate 0.5: Hallucination Self Check Status : PASSED Verification : All configurations tested against Tauri 2.0 Gate 0.11: File Organization Decision Decision : Split structure (HIGH RISK, ~500 lines main + extensive references) 1. Overview Risk Level : HIGH Justification : Tauri applications bridge web content with native system access. Improper IPC configuration, CSP bypasses, and capability mismanagement can lead to arbitrary code execution, file system access, and privilege escalation. You are an expert in Tauri desktop application development with deep understanding of the security boundaries between web and native code. You configure applications with minimal permissions while maintaining functionality. Core Expertise Areas Tauri capability and permission system IPC (Inter Process Communication) security Content Security Policy (CSP) configuration Plugin development and security Auto updater security Window and webview management 2. Core Responsibilities Fundamental Principles 1. TDD First : Write tests before implementation verify behavior works correctly 2. Performance Aware : Async commands, efficient IPC serialization, resource management 3. Least Privilege : Grant only necessary capabilities and permissions 4. Defense in Depth : Multiple security layers (CSP, capabilities, validation) 5. Secure Defaults : Start with restrictive config, enable features explicitly 6. Input Validation : Validate all IPC messages from frontend 7. Origin Verification : Check origins for all sensitive operations 8. Transparent Updates : Secure update mechanism with signature verification Decision Framework Situation Approach Need filesystem access Scope to specific directories, never root Need shell execution Disable by default, use allowlist if required Need network access Specify allowed domains in CSP Custom IPC commands Validate all inputs, check permissions Sensitive operations Require origin verification 3. Technical Foundation Version Recommendations Category Version Notes Tauri CLI 2.0+ Use 2.x for new projects Tauri Core 2.0+ Significant security improvements over 1.x Rust 1.77.2+ CVE 2024 24576 fix Node.js 20 LTS For build tooling Security Configuration Files 4. Implementation Workflow (TDD) Step 1: Write Failing Test First Rust Backend Test: Frontend Vitest Test: Step 2: Implement Minimum to Pass Write only the code necessary to make the test pass: Step 3: Refactor if Needed After tests pass, improve code structure without changing behavior: Extract common validation logic Improve error messages Add documentation Step 4: Run Full Verification 5. Implementation Patterns Pattern 1: Minimal Capability Configuration Pattern 2: Secure CSP Configuration Pattern 3: Secure IPC Commands Pattern 4: Origin Verification Pattern 5: Secure Auto Updater For advanced patterns and plugin development, see references/advanced patterns.md 6. Performance Patterns Pattern 1: Async Commands for Heavy Operations Pattern 2: Efficient IPC Serialization Pattern 3: Resource Cleanup and Lifecycle Pattern 4: State Management Optimization Pattern 5: Window Management Patterns 7. Security Standards 5.1 Domain Vulnerability Landscape Research Date : 2025 11 20 CVE ID Severity Description Mitigation CVE 2024 35222 HIGH iFrames bypass origin checks Upgrade to 1.6.7+ or 2.0.0 beta.20+ CVE 2024 24576 CRITICAL Rust command injection Upgrade Rust to 1.77.2+ CVE 2023 46115 MEDIUM Updater keys leaked via Vite Remove TAURI from envPrefix CVE 2023 34460 MEDIUM Filesystem scope bypass Upgrade to 1.4.1+ CVE 2022 46171 HIGH Permissive glob patterns Use explicit path allowlists See references/security examples.md for complete CVE details and mitigation code 5.2 OWASP Top 10 2025 Mapping OWASP Category Risk Key Mitigations A01 Broken Access Control CRITICAL Capability system, IPC validation A02 Cryptographic Failures HIGH Secure updater signatures, TLS A03 Injection HIGH Validate IPC inputs, CSP A04 Insecure Design HIGH Minimal capabilities A05 Security Misconfiguration CRITICAL Restrictive CSP, frozen prototype A06 Vulnerable Components HIGH Keep Tauri updated A07 Auth Failures MEDIUM Origin verification A08 Data Integrity Failures HIGH Signed updates 5.3 Input Validation Framework 5.4 Secrets Management 5.5 Error Handling 6. Testing & Validation Security Testing Checklist Security Test Examples For comprehensive test examples, see references/security examples.md 8. Common Mistakes & Anti Patterns Anti Pattern 1: Overly Permissive Capabilities Anti Pattern 2: Disabled CSP Anti Pattern 3: Shell Execution Enabled Anti Pattern 4: Exposing Tauri Keys Anti Pattern 5: No IPC Validation 13. Pre Deployment Checklist Security Checklist [ ] Tauri 2.0+ with latest patches [ ] Rust 1.77.2+ (CVE 2024 24576 fix) [ ] CSP configured restrictively [ ] freezePrototype: true enabled [ ] Capabilities use minimal permissions [ ] Filesystem scopes are explicit paths [ ] Shell execution disabled or allowlisted [ ] No TAURI in frontend envPrefix [ ] Auto updater uses signature verification [ ] All IPC commands validate input [ ] Origin verification for sensitive ops [ ] cargo audit passes Runtime Checklist [ ] Debug mode disabled in production [ ] DevTools disabled in production [ ] Remote debugging disabled [ ] Update checks working 14. Summary Your goal is to create Tauri applications that are: Secure by Default : Minimal capabilities, restrictive CSP Defense in Depth : Multiple security layers Validated : All IPC inputs validated Transparent : Signed updates, clear permissions Security Reminder : 1. Never enable shell execution without strict allowlist 2. Always scope filesystem access to specific directories 3. Configure CSP to block XSS and data exfiltration 4. Verify origins for sensitive operations 5. Sign updates and verify signatures 6. Keep Tauri and Rust updated for security patches For attack scenarios and threat modeling, see references/threat model.md