Agent Skills by ALSEL
汎用セキュリティ⭐ リポ 10品質スコア 80/100

1password-developer

1Passwordの開発者向け機能を使用できます。SSHキー管理、SSHエージェント、シークレット注入用の1Password Environments、op CLIに対応しています。ユーザーが1Password、op CLI、1Password SSHエージェント、1Password Environments、シークレット参照、op run、op inject、1Passwordを通じたSSHキー管理、1Passwordによる.envファイルの保護、実行時のシークレット注入について言及した場合、またはディスク上の平文シークレットの保存を止めたい、開発者認証情報の保護方法について質問する場合に活用できます。

description の原文を見る

Work with 1Password developer features including SSH key management, the SSH agent, 1Password Environments for secrets injection, and the op CLI. Use this skill whenever the user mentions 1Password, op CLI, 1Password SSH agent, 1Password Environments, secret references, op run, op inject, or wants to manage SSH keys through 1Password, secure .env files with 1Password, or inject secrets at runtime. Also trigger when the user wants to stop storing plaintext secrets on disk or asks about securing developer credentials.

SKILL.md 本文

1Password Developer ワークフロー

このスキルは 1Password 開発者ツールチェーンをカバーしています。SSHエージェント経由のSSHキー管理、Environments 経由のシークレット注入、および op CLI を含みます。

クイックリファレンス

ツール目的
1Password Desktop AppSSHエージェント、キーのインポート、環境管理
op CLI (安定版)アイテム管理、シークレット参照、op runop inject
op CLI (ベータ版)op run --environmentop environment read を追加
SSH Agent1Password のボールトから SSH/Git クライアントにキーを提供
Environments環境変数をランタイムに保存・注入(ディスク上の平文なし)

SSHキー管理

サポートされているキーの種類

1Password がサポートするのは、これらの SSH キータイプのみです:

  • Ed25519(推奨、最速、最も安全)
  • RSA: 2048、3072、4096ビットのみ

非対応: ECDSA、DSA、4096ビットを超える RSA キー(例:6096ビット)、PuTTYgen の .ppk 形式

インポート前にキーの種類とサイズを確認します:

ssh-keygen -lf ~/.ssh/your_key
# Output: 256 SHA256:abc... user@host (ED25519)
# Output: 4096 SHA256:xyz... user@host (RSA)

SSHキーのインポート

CLI は既存の SSH キーをインポートできません。これはデスクトップアプリのみの操作です。

公式ドキュメントから: 「既存の SSH キーをインポートするには、1Password デスクトップアプリを使用してください。」

デスクトップアプリでインポートするには:

  1. サイドバーのターゲットボールトに移動
  2. 新規アイテム > SSH Key を選択
  3. 秘密鍵を追加 > キーファイルをインポート を選択
  4. キーファイルに移動してインポート
  5. キーにパスフレーズがある場合は、1 回入力
  6. 保存

CLI は新しいキーを生成することのみ可能です:

op item create --category ssh --ssh-generate-key ed25519 --title "My New Key" --vault Private

SSHキーの Watchtower

1Password Developer Watchtower(Developer > View Watchtower)は ~/.ssh/ をスキャンして表示します:

  • Needs Attention: ディスク上の暗号化されていないキー
  • Recommendations: インポートまたは管理可能なキー

一部のキーは「Import」ボタンを表示し、他は「Show in Finder」ドロップダウンのインポートオプション付きで表示します。

SSHエージェントのセットアップ

1Password SSHエージェントは、秘密鍵を SSH クライアントに公開することなく、ボールトからキーを提供します。

macOS エージェントソケット: ~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock

アプリで有効化: Settings > Developer > Set Up SSH Agent

SSH クライアントを設定 (~/.ssh/config):

Host *
  IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

エージェントがキーを認識することを確認:

SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh-add -l

カスタムボールト用のエージェント設定

デフォルトでは、エージェントは組み込みの Personal、Private、または Employee ボールトからのみキーを提供します。共有またはカスタムボールトの場合、~/.config/1Password/ssh/agent.toml を作成します:

[[ssh-keys]]
vault = "Private"

[[ssh-keys]]
vault = "Bridge"

[[ssh-keys]]
vault = "Business"

ボール名またはボールト UUID を使用できます。ボールト ID は以下で取得します:

op vault list --format=json | jq -r '.[] | "\(.id) \(.name)"'

重要: このファイルを作成すると、デフォルト動作が完全にオーバーライドされます。作成した場合は、Private/Personal ボールトを明示的に含める必要があります。そうしないと、そのキーは利用できなくなります。

1Password アプリは新しく作成された agent.toml ファイルを検出するために、終了して再起動が必要な場合があります。

キーが 1Password に保存された後の使用

キーが 1Password に保存され、エージェントが設定されたら、~/.ssh/config を更新して IdentityFile公開鍵(秘密鍵ではなく)を指すようにします。公開鍵はエージェントにどのキーを提供するかを示すヒントとして機能します:

# 前(ディスク上の秘密鍵)
Host github.com
  IdentityFile ~/.ssh/my_key

# 後(公開鍵がエージェントにヒント、秘密鍵は 1Password に保存)
Host github.com
  IdentityFile ~/.ssh/my_key.pub

公開鍵は秘密ではなく、ディスク上に保存できます。このアプローチは SSH サーバーの 6 キー制限も回避します。

1Password Environments

Environments は、キーバリューペア(.env ファイルなど)を 1Password に保存し、ランタイムで利用可能にします。

Environment の作成

デスクトップアプリで実行: Developer > View Environments > New Environment。既存の .env ファイルから変数をインポートするか、手動で追加できます。

op run --environment でシークレットを注入

これが推奨されるアプローチです。ベータ CLI(v2.33.0-beta.02 以降)が必要です:

op run --environment <environment-id> -- npm run dev

動作方法:

  1. プロセス開始時に 1 回認証
  2. op が Environment からすべての変数をフェッチ
  3. 変数は環境変数としてサブプロセスに注入
  4. シークレットはプロセスの期間中のみ存在
  5. stdout/stderr に表示されるシークレット値は自動的にマスク

環境 ID を取得: アプリで Environment を選択 > Manage environment > Copy environment ID。

その他のツールチェーンのラップ

op runnpm だけでなく、任意のコマンドで機能します。環境変数をサブプロセスに注入するため、他のツールチェーンとスタック可能です:

# Node.js
op run --environment <env-id> -- npm run dev

# Python with uv
op run --environment <env-id> -- uv run python my_script.py

# Python with venv
op run --environment <env-id> -- python my_script.py

# Docker
op run --environment <env-id> -- docker compose up

# 任意のコマンド
op run --environment <env-id> -- <your-command>

これは長時間実行されるサーバーのないリポジトリ(スタンドアロンスクリプト、データパイプライン、自動化ジョブ)にも機能します。スクリプトが load_dotenv()os.getenv() を使用している場合、ディスク上の平文の .env ファイルを削除すれば、op run がシークレットの唯一のソースになります。コード変更は不要です。

マスキングの問題

op run は stdout/stderr テキストのうち、シークレット値と一致するものをマスクします。環境変数に短い一般的な文字列(/sign-ininfotrueroot3306 など)が含まれている場合、通常のログ出力に表示されるため問題が生じます。

解決策: 変数を 2 つのグループに分割:

  • 1Password Environment: 実際のシークレット(API キー、パスワード、トークン、接続文字列、認証情報)
  • ディスク上の .env.local: 非シークレット設定(URL パス、ログレベル、機能フラグ、ポート番号、データベース名)

op run は両方のソースをマージします。Environment からの変数はシェル/.env ファイルのものをオーバーライドします。

Environments の他の使用方法

マウント済み .env ファイル(macOS/Linux のみ): 1Password は指定されたパスに仮想ファイル(UNIX 名前付きパイプ)を作成します。ファイルが読み込まれるたびに Touch ID が必要です。アプリで設定: Environment > Destinations > Local .env file。

プログラムアクセス:

op environment read <environment-id>

サービスアカウント(CI/CD): ヘッドレス環境でバイオメトリック認証の代わりにサービスアカウントトークンを使用。同じ op run --environment コマンドが機能します。

CLI リファレンス

インストール

安定版(Homebrew):

brew install 1password-cli

ベータ版(直接ダウンロード、--environment フラグに必要):

curl -sS -o /tmp/op_beta.pkg "https://cache.agilebits.com/dist/1P/op2/pkg/v2.34.1-beta.01/op_apple_universal_v2.34.1-beta.01.pkg"
sudo installer -pkg /tmp/op_beta.pkg -target /

ベータ版は /usr/local/bin/op にインストールされます。Homebrew の安定版が PATH で優先される場合はエイリアスを設定します:

alias op=/usr/local/bin/op

リリースノートとベータ版を確認: https://app-updates.agilebits.com/product_history/CLI2

便利なコマンド

# バージョンを確認
op --version

# ボールトを一覧表示
op vault list

# すべてのボールト間の SSH キーを一覧表示
op item list --categories 'SSH Key'

# アイテムの詳細を取得
op item get "Item Name" --vault "Vault" --format json

# 環境注入でを実行
op run --environment <env-id> -- <command>

# シークレット参照を読み取り
op read "op://Vault/Item/Field"

# テンプレートファイルにシークレットを注入
op inject -i config.template -o config.yml

# シークレット参照を含む env ファイルで実行
op run --env-file=.env -- <command>

よくある落とし穴

  1. CLI は SSH キーをインポートできません。 新しいキーを生成するだけです。既存のキーはデスクトップアプリでインポートします。

  2. agent.toml はデフォルトをオーバーライドします。 設定ファイルを作成する場合、デフォルトの Private ボールトを含む、すべてのボールトを一覧表示する必要があります。

  3. agent.toml はアプリの再起動が必要です。 新しく作成された設定ファイルは、再起動するまでアプリが検出しない場合があります。

  4. 6096ビット RSA キーはサポートされていません。 1Password の上限は 4096ビット RSA です。インポートを試みる前に ssh-keygen -lf でキーサイズを確認します。

  5. ECDSA キーはサポートされていません。 SSH エージェントで機能するのは Ed25519 と RSA のみです。

  6. op run のマスキングは積極的です。 ログの破損を避けるため、短い一般的な文字列を 1Password Environments から除外します。シークレットと設定を分割します。

  7. ベータ版と安定版 CLI。 op run--environment フラグはベータチャネルが必要です。安定版 CLI にはまだありません。

ドキュメントリンク

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
danchamorro
リポジトリ
danchamorro/pi-agent-toolkit
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/danchamorro/pi-agent-toolkit / ライセンス: MIT

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

ghost-bits-cast-attack

Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: danchamorro · danchamorro/pi-agent-toolkit · ライセンス: MIT