Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问clear审计通过

understanding-tauri-lifecycle-securityunderstanding Tauri lifecycle 安全

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

1,384

周安装

56

GitHub Stars

18

下载量

435
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:understanding-tauri-lifecycle-security(understanding Tauri lifecycle 安全)
来源仓库:https://github.com/dchuk/claude-code-tauri-skills
仓库路径:skills/understanding-tauri-lifecycle-security
安装命令:
npx skills add https://github.com/dchuk/claude-code-tauri-skills --skill understanding-tauri-lifecycle-security
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/dchuk/claude-code-tauri-skills --skill understanding-tauri-lifecycle-security

简介

用于辅助安全审计、权限检查和常见漏洞排查,适合梳理敏感配置与鉴权逻辑。

  • 支持检查依赖风险、生成安全复核清单,适用于密钥、令牌等敏感信息管理。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 输出不能直接作为最终结论,涉及生产系统时应先确认最小权限与脱敏方式。
  • understanding-tauri-lifecycle-security 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Tauri Application Lifecycle Security

Security in Tauri applications depends on systematic protection across all lifecycle stages. The weakest link in your application lifecycle essentially defines your security posture.

Core Security Principle

Tauri implements a two-tier security model:

  • Rust Core: Full system access
  • WebView Frontend: Access only through controlled IPC layer

Any code executed in the WebView has only access to exposed system resources via the well-defined IPC layer.


Development Phase Threats

Upstream Dependency Risks

Third-party dependencies may lack the strict oversight that Tauri maintains.

Mitigation Strategies:

# Scan Rust dependencies for vulnerabilities
cargo audit

# Scan npm dependencies
npm audit

# Advanced supply chain analysis
cargo vet
cargo crev
cargo supply-chain

Best Practices:

  • Keep Tauri, rustc, and nodejs current to patch vulnerabilities
  • Evaluate trustworthiness of third-party libraries before integration
  • Prefer consuming critical dependencies via git hash revisions rather than version ranges
# Cargo.toml - Pin to specific commit hash
[dependencies]
critical-lib = { git = "https://github.com/org/critical-lib", rev = "abc123def456" }

Development Server Exposure

Development servers typically run unencrypted and unauthenticated on local networks, allowing attackers to push malicious frontend code to development devices.

Threat Scenario:

Attacker on same network -> Intercepts dev server traffic -> Injects malicious frontend code

Mitigation:

  • Develop only on trusted networks
  • Implement mutual TLS (mTLS) authentication when necessary
  • Note: Tauri's built-in dev server lacks mutual authentication features

Machine Hardening

PracticePurpose
Avoid admin accounts for codingLimit blast radius of compromise
Block secrets from version controlPrevent credential leaks
Use hardware security tokensMinimize compromise impact
Minimize installed applicationsReduce attack surface

Source Control Security

Required Protections:

  • Implement proper access controls in version control systems
  • Require contributor commit signing to prevent unauthorized attribution
  • Use established hardening guidelines for authentication workflows
# Enable commit signing
git config --global commit.gpgsign true
git config --global user.signingkey YOUR_KEY_ID

Build Phase Threats

Build System Trust

CI/CD systems access source code, secrets, and can modify builds without local verification.

Threat Vectors:

  1. Compromised CI/CD provider
  2. Malicious build scripts
  3. Unauthorized secret access
  4. Build artifact tampering

Mitigation Options:

  • Trust reputable third-party providers (GitHub Actions, GitLab CI)
  • Host and control your own infrastructure for sensitive applications

Binary Signing

Applications must be cryptographically signed for their target platform.

Platform Requirements:

PlatformSigning Requirement
macOSApple Developer Certificate + Notarization
WindowsCode Signing Certificate (EV recommended)
LinuxGPG signing for packages

Key Protection:

# Use hardware tokens for signing credentials
# Prevents compromised build systems from leaking keys

# Example: Using YubiKey for code signing
pkcs11-tool --module /usr/lib/opensc-pkcs11.so --sign

Hardware tokens prevent key exfiltration but cannot prevent key misuse on a compromised system.

Reproducible Builds Challenge

Rust is not fully reliable at producing reproducible builds despite theoretical support. Frontend bundlers similarly struggle with reproducible output.

Implications:

  • Cannot entirely eliminate reliance on build system trust
  • Implement multiple verification layers
  • Consider build provenance attestation

Distribution Threats

Loss of control over manifest servers, build servers, or binary hosting creates critical vulnerability points.

Attack Vectors

Manifest Server Compromise -> Malicious update metadata -> Users download tampered binaries
Build Server Compromise -> Injected malware at build time -> Signed malicious releases
Binary Host Compromise -> Replaced binaries -> Users download malicious versions

Mitigation Strategies

  1. Secure Update Channels

- Use HTTPS for all update communications - Implement certificate pinning where possible - Verify update signatures client-side

  1. Binary Integrity

- Publish checksums alongside releases - Use signed manifests for updates - Consider transparency logs

  1. Infrastructure Security

- Multi-factor authentication for all distribution systems - Audit logging for binary access - Separate credentials for different environments


Runtime Threats

WebView Security Model

Tauri assumes webview components are inherently insecure and implements multiple protection layers.

Defense Layers:

                    +------------------+
                    |   Untrusted      |
                    |   Frontend Code  |
                    +--------+---------+
                             |
                    +--------v---------+
                    |       CSP        |  <- Restricts communication types
                    +--------+---------+
                             |
                    +--------v---------+
                    |   Capabilities   |  <- Controls API access
                    +--------+---------+
                             |
                    +--------v---------+
                    |   Permissions    |  <- Fine-grained command control
                    +--------+---------+
                             |
                    +--------v---------+
                    |      Scopes      |  <- Resource-level restrictions
                    +--------+---------+
                             |
                    +--------v---------+
                    |   Rust Backend   |  <- Trusted system access
                    +------------------+

Content Security Policy (CSP)

CSP restricts webview communication types to prevent XSS and injection attacks.

Configuration in tauri.conf.json:

{
  "app": {
    "security": {
      "csp": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'"
    }
  }
}

CSP Best Practices:

  • Start with restrictive policy, relax only as needed
  • Avoid 'unsafe-eval' and 'unsafe-inline' for scripts
  • Use nonces or hashes for inline scripts when required

Capabilities Configuration

Define which permissions are granted to specific windows.

Example: src-tauri/capabilities/main.json

{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "main-capability",
  "description": "Capability for the main window",
  "windows": ["main"],
  "permissions": [
    "core:path:default",
    "core:window:allow-set-title",
    "fs:read-files"
  ]
}

Security Notes:

  • Windows in multiple capabilities merge security boundaries
  • Security boundaries depend on window labels, not titles
  • Capabilities protect against frontend compromise and privilege escalation

Permission Scopes

Control resource access at a granular level.

Example: File System Scope

# src-tauri/permissions/fs-restricted.toml
[[permission]]
identifier = "fs-home-restricted"
description = "Allow home directory access except secrets"
commands.allow = ["read_file", "write_file"]

[[scope.allow]]
path = "$HOME/*"

[[scope.deny]]
path = "$HOME/.ssh/*"

[[scope.deny]]
path = "$HOME/.gnupg/*"

[[scope.deny]]
path = "$HOME/.aws/*"

Prototype Freezing

Prevent JavaScript prototype pollution attacks.

{
  "app": {
    "security": {
      "freezePrototype": true
    }
  }
}

Remote API Access Control

Control which external URLs can access Tauri commands.

{
  "identifier": "remote-api-capability",
  "remote": {
    "urls": ["https://*.yourdomain.com"]
  },
  "permissions": ["limited-api-access"]
}

Threat Mitigation Quick Reference

PhaseThreatMitigation
DevelopmentDependency vulnerabilitiescargo audit, npm audit, pin versions
DevelopmentDev server exposureTrusted networks, mTLS
DevelopmentCredential leaksHardware tokens, gitignore secrets
BuildCI/CD compromiseTrusted providers, self-hosted options
BuildUnsigned binariesPlatform signing, hardware key storage
DistributionManifest tamperingHTTPS, certificate pinning
DistributionBinary replacementChecksums, signed manifests
RuntimeXSS/injectionCSP, input validation
RuntimePrivilege escalationCapabilities, permissions, scopes
RuntimePrototype pollutionfreezePrototype: true

Security Configuration Template

Minimal Secure Configuration:

{
  "app": {
    "security": {
      "csp": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'",
      "freezePrototype": true,
      "capabilities": ["main-capability"],
      "dangerousDisableAssetCspModification": false,
      "assetProtocol": {
        "enable": false,
        "scope": []
      }
    }
  }
}

Capability File Structure:

src-tauri/
├── capabilities/
│   ├── main.json          # Main window capabilities
│   └── settings.json      # Settings window capabilities
├── permissions/
│   └── custom-scope.toml  # Custom permission scopes
└── tauri.conf.json

Vulnerability Reporting

If you discover security vulnerabilities in Tauri applications:

  1. Use GitHub Vulnerability Disclosure on affected repositories
  2. Email: security@tauri.app
  3. Do not publicly discuss findings before coordinated resolution
  4. Limited bounty consideration available

Key Takeaways

  1. Defense in Depth: No single layer provides sufficient protection
  2. Least Privilege: Grant minimum necessary permissions
  3. Update Regularly: WebView patches reach users faster through OS updates
  4. Trust Boundaries: Frontend code is untrusted; validate everything in Rust
  5. Lifecycle Coverage: Security must span development through runtime

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

25.73%
按下载量换算112

Antigravity

25.41%
按下载量换算111

windsurf

17.94%
按下载量换算78

Gemini CLI

12.3%
按下载量换算54

OpenCode

7.39%
按下载量换算32

Codex

3.84%
按下载量换算17

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills