本文へ移動
cccskills
無料GitHub で公開日本語紹介

desktop-security-update

LobeHub Desktopの脆弱なバージョンを調査し、対象チャネルやOSを指定して署名付きポリシーで更新を強制するスキルです。

原文原文の説明を見る

Inspect, mark, or revoke vulnerable LobeHub Desktop versions through the existing release workflow and signed R2 security policy. Use for forced security updates across Stable, Canary, Beta, and Nightly.

lobehub/lobehubスター 83,504(GitHub 83,504 + cccskills 0)
連携ツールGitHub

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 現在のセキュリティポリシーを確認したいとき
  • 脆弱なバージョンの制限をプレビューしたいとき
  • 不要になったセキュリティルールを取り消したいとき

日本語での紹介

できること

LobeHub Desktopのセキュリティポリシーを確認し、脆弱なバージョンへの制限をプレビューまたは公開します。対象となる配布チャネル、OS、shellまたはcore、影響するバージョン範囲、修正版のインストーラーを指定してルールを作成します。既存ルールの取り消しにも対応し、署名付きポリシーを既存のリリースワークフロー経由で配信します。公開後はレポートと実行結果を調べ、公開URLでポリシーが確認できたかを判断します。

こんなときに便利

脆弱性の影響範囲と修正版が確定し、複数の配布チャネルやOSに更新を適用したい場合に使えます。調査だけの依頼ではポリシーを確認・プレビューするところまで進められます。

使い方の例

  • 「このバージョン範囲のStable版を対象に、更新ポリシーをプレビューして」
  • 「修正版の配布を確認してから、指定した範囲を制限して」
  • 「このセキュリティルールを取り消して」

注意点

公開には具体的な対象範囲と修正版インストーラーが必要です。変更の適用には承認済みの依頼が必要で、実行には既存のGitHub Actionsワークフローと署名・R2用シークレットを使います。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
A良好公開前に対象確認と承認を求め、署名・公開結果も検証する。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足GitHub Actionsと署名・R2用シークレットが必要だが設定手順はない。

点数には入れていません。 2026年10月26日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(1)

  • SKILL.md6.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Desktop security updates

Operate .github/workflows/release-desktop-core-ota.yml using its security_policy input. This selects only the policy job; it does not build or publish Core. The policy is global across channels at <UPDATE_SERVER_URL base>/security-policy.json in the existing update bucket.

Read the policy contract for client behavior and delivery limitations. The deterministic operator is apps/desktop/scripts/desktopSecurityPolicy.mjs; it shares schema/signature validation with the client. Do not hand-sign JSON, fetch signing secrets locally, replace the whole rule set, or add a workflow.

Resolve the request

For a mark, determine the installer build channel, platforms, shell or core target, affected npm SemVer range, fixed full-installer version, and reason. An exact version is a valid range. Do not guess the affected scope from the latest release. If scope is ambiguous, inspect the current policy while asking only for the missing scope. Publish the fixed installer first: the operator checks the public feed and installer availability for every requested platform, including both macOS architectures. Beta uses the Canary installer feed.

A concrete user instruction to mark or revoke a specified scope authorizes that operation. If the user only asks to investigate or prepare, stop after inspection/preview. Do not invent a security restriction while implementing or testing this tooling. Never automatically weaken a range or minimum to make a failed preflight pass.

Inspect, preview, apply

  1. Resolve the actual repository with gh repo view --json nameWithOwner. Use the trusted canary branch after this workflow change is merged. Check that the remote workflow at the selected ref contains security_policy before dispatching; an older workflow could otherwise run an ordinary Core release. Do not dispatch unreviewed code with production signing secrets.
  2. Dispatch {"action":"inspect"}. Read the downloaded report, including storage revision, rule IDs, publicRevision, and publicError. Initial absence is revision 0. If an existing policy differs from the public endpoint, resolve that discrepancy before a mutation.
  3. Prepare one mark or revoke request with the inspected expectedRevision, a concise reason, and apply:false. Dispatch it and show the concrete before/after rules and installer checks. A preview performs no writes and uses no private key.
  4. If the requested concrete mutation is authorized, dispatch the same request with apply:true. If it is not authorized, ask for approval of this prepared change. An earlier explicit mark/revoke instruction is sufficient; do not ask again.
  5. Read the report and the exact workflow run. Success requires status: verified, with the public URL serving the exact signed policy just written. Report the new revision, affected scope (or revoked rule), and run URL. no-change means no publication occurred.

Mark example (replace the illustrative values with the user's scope):

{
  "action": "mark",
  "apply": false,
  "expectedRevision": 7,
  "reason": "Security fix in the full installer",
  "rule": {
    "channel": "stable",
    "platforms": ["darwin", "win32", "linux"],
    "target": "shell",
    "affectedVersions": ">=2.2.0 <2.2.20",
    "minimumInstallerVersion": "2.2.20"
  }
}

Revoke request: {"action":"revoke","expectedRevision":8,"apply":false,"reason":"Restriction withdrawn","ruleId":"<64-character ID from inspect>"}. Revocation publishes a newer signed revision; never delete the policy or restore an older revision. Marking the same scope updates its minimum; changing its scope creates another rule, so revoke the old rule separately when that is intended.

Dispatch and collect evidence

Write JSON to a temporary file. Pass it with gh workflow run --json via stdin; never interpolate user text into shell commands. Use a fresh UUID as security_policy_request_id for each dispatch. The workflow title includes it, so unrelated concurrent runs cannot be mistaken for this operation.

POLICY_REQUEST_ID=$(uuidgen)
jq --arg id "$POLICY_REQUEST_ID" \
  '{channel:"canary",security_policy:tojson,security_policy_request_id:$id}' \
  /tmp/security-policy-request.json > /tmp/security-policy-dispatch.json
gh workflow run release-desktop-core-ota.yml --repo "$POLICY_REPO" --ref canary \
  --json < /tmp/security-policy-dispatch.json

Here channel:canary satisfies the existing workflow input; the policy request determines the actual affected channels. Locate the run by exact displayTitle == "Desktop security policy (<UUID>)", event == workflow_dispatch, and headBranch == canary using gh run list --workflow release-desktop-core-ota.yml --repo "$POLICY_REPO" --json databaseId,displayTitle,event,headBranch,headSha,url,status,conclusion. Poll for at most two minutes to locate it; do not redispatch just because run discovery is delayed. Watch that run and download desktop-security-policy-<run-id> using gh run download <run-id> --repo "$POLICY_REPO" --name ... --dir <unique-temp-directory>. Inspect logs if no report was produced.

The publisher checks expectedRevision, preserves unrelated rules, signs in Actions, archives the signed revision, conditionally replaces the R2 object using its ETag, and verifies the ordinary public URL. R2 credentials and the OTA signing pair reuse existing workflow secrets.

On a revision/precondition conflict, stop that mutation and inspect again; do not blindly rerun a stale request. On published-unverified, the write already succeeded: inspect storage and public delivery, investigate caching, and do not bump revision just to retry. Ambiguous network failures after a write also require inspection. Keep reports/logs as evidence, but never treat a green job, archived object, or preview as proof that clients can fetch the new policy.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

acceptance

無料概要あり

実際の製品を操作して、利用者が確認できる動作証拠を集め、検証計画に沿った受け入れレポートとして公開するスキルです。

  • 変更後の製品動作を実地で検証したいとき
  • 画面キャプチャなどの証拠を集めたいとき
  • 検証計画とレポートを作成したいとき
lobehub/lobehub8.4万2026年10月26日 更新

add-model-provider

無料概要あり

LobeHubにAIモデルプロバイダーを追加し、実行時連携からモデル表示、設定、ブランド表記、文書化、動作確認まで進めるスキルです。

  • 新しいAIモデルプロバイダーを追加したいとき
  • プロバイダーの設定手順や説明文を更新したいとき
  • 既存プロバイダーへのモデル追加要件を見極めたいとき
lobehub/lobehub8.4万2026年10月26日 更新

add-setting-env

無料概要あり

ユーザー設定の初期値をサーバー側の環境変数で切り替えるため、型定義や設定の組み立て、ユーザーストアへの反映、環境変数の例と説明書きを追加する手順です。

  • 設定の初期値を環境変数で変えたいとき
  • 設定項目をサーバー設定に追加したいとき
  • 環境変数の例と説明を更新したいとき
lobehub/lobehub8.4万2026年10月26日 更新

agent-runtime-hooks

無料概要あり

エージェント実行中の各段階をフックで監視し、ツール呼び出しの模擬・制御や人の承認、圧縮、サブエージェント処理に介入する仕組みを扱います。

  • エージェントの実行状況を記録したいとき
  • ツール結果をテスト用に模擬したいとき
  • Webhookでツール実行を許可・拒否したいとき
lobehub/lobehub8.4万2026年10月26日 更新

agent-signal

無料概要あり

イベントを起点にエージェントのバックグラウンド処理を組み立て、ソース・シグナル・アクション・ポリシーの役割分担や非同期連携を実装するためのスキルです。

  • イベント起点の処理を追加したいとき
  • バックグラウンド処理を非同期化したいとき
  • 重複実行を防ぐ仕組みを整えたいとき
lobehub/lobehub8.4万2026年10月26日 更新

agent-testing-bot

無料概要あり

DiscordやSlackなどの実際のチャットアプリでボットにメッセージを送り、応答を画面で確認する受け入れテストを行うスキルです。

  • 実際のDiscordでボット応答を確かめたいとき
  • SlackやTelegramの会話経路をテストしたいとき
  • macOSアプリ上の操作結果を画面で記録したいとき
lobehub/lobehub8.4万2026年10月26日 更新

lobehub のスキルをすべて見る

このスキルの問題を報告する