agentsclimarketplace

Tauri config security

Skill Xopoko/plug-n-skills/plugins/tauri/skills/tauri-config-security

Ready-to-install skills and plugins for Codex, Claude Code, and AI coding agents: practical workflows for app delivery, architecture, research, design, and agent tooling.

Install
npx -y skills add Xopoko/plug-n-skills --skill tauri-config-security

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Configure or review Tauri 2 tauri.conf files, capabilities, permissions, CSP, scoped filesystem/network/shell access, window labels, plugin permissions, and security-sensitive frontend API exposure.

SKILL.md

2.9 KB, 668 tokens by cl100k_base, as published. Nobody here has run it

Tauri Config And Security

Bundled commands use $PLUGIN_ROOT ($env:PLUGIN_ROOT in PowerShell; same path suffix) for the plugin root. Set it once: use the host's plugin-root variable when defined (Claude Code: PLUGIN_ROOT="$CLAUDE_PLUGIN_ROOT"), otherwise the absolute path of this plugin's root directory.

Use this skill when changing tauri.conf.*, src-tauri/capabilities/*, permissions, CSP, plugin access, or any frontend-callable native API.

Security Baseline

  • Every frontend-accessible native API needs an explicit permission story.
  • Grant the minimum permission to the minimum window/webview label.
  • Scope filesystem, shell, HTTP, opener, deep-link, and sidecar access.
  • Never add broad $HOME/**, unrestricted shell, or unbounded network access as a convenience fix.
  • Do not print, move, commit, or invent signing keys, tokens, .env values, cookies, Keychain data, or updater private keys.

Files To Inspect

python3 "$PLUGIN_ROOT/scripts/tauri_project_probe.py" .

Then inspect:

  • src-tauri/tauri.conf.json, .json5, or .toml;
  • platform configs such as tauri.macos.conf.json, tauri.windows.conf.json, tauri.linux.conf.json, tauri.android.conf.json, tauri.ios.conf.json;
  • src-tauri/capabilities/*.json or *.toml;
  • src-tauri/Cargo.toml;
  • Rust window creation labels and plugin registration.

Capability Pattern

Prefer file-based capabilities under src-tauri/capabilities/:

{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "main-window",
  "description": "Main window permissions",
  "windows": ["main"],
  "permissions": [
    "core:path:default",
    "core:event:default",
    "core:window:default",
    {
      "identifier": "fs:allow-exists",
      "allow": [{ "path": "$APPDATA/*" }]
    }
  ]
}

If app.security.capabilities is set in config, keep it synchronized with capability identifiers. Window labels are case-sensitive and are not titles.

Review Checklist

  • Are core:* permissions namespaced correctly for Tauri 2?
  • Does each window have only the permissions it needs?
  • Are remote URLs, filesystem scopes, and shell commands scoped?
  • Are plugin permissions registered in capabilities after adding a plugin?
  • Does CSP allow only required script, style, image, asset, IPC, and network sources?
  • Did a build/runtime error get "fixed" by adding permissions that are too broad? If so, replace with a narrower permission or command.

Verification

Run schema/build checks available in the project. At minimum, use:

cargo check --manifest-path src-tauri/Cargo.toml

Then run the local Tauri dev/build command if the changed permission affects runtime frontend calls.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most project setup skills give in 668 tokens

Counted across 999 of the 1,637 authors here whose files we hold, read 2026-08-07

  • ask one question at a timein 29 of 999, across 28 files
  • detect the package manager from lockfilesin 28 of 999, across 9 files
  • present findings to the userin 26 of 999, across 5 files
  • explore current repo statein 24 of 999, across 3 files
  • update the agent skills block in place if it existsin 24 of 999, across 3 files
  • install husky lint-staged and prettierin 23 of 999, across 4 files
  • create the lintstagedrc filein 22 of 999, across 3 files
  • commit all changed filesin 22 of 999, across 3 files
  • run lint-staged to verify it worksin 22 of 999, across 3 files
  • create the husky pre-commit filein 21 of 999, across 2 files
  • create a prettierrc file if missingin 21 of 999, across 2 files
  • initialize huskyin 21 of 999, across 2 files

Said here and by no other author read

  • Provide explicit permissions for every frontend-accessible native API
  • Grant minimum permissions to minimum window labels
  • Scope filesystem, shell, HTTP, opener, deep-link, and sidecar access
  • Prefer file-based capabilities under the capabilities directory
  • Keep app security capabilities synchronized with capability identifiers
  • Ensure core permissions are namespaced for Tauri 2

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.