Claude Info
Безопасность

Управление секретами 1Password

kcmadden/claude-code-1password-skill

Скилл для Claude Code, интегрирующий 1Password в AI-рабочие процессы разработчика. Позволяет хранить, читать и подставлять API-ключи и токены через op:// ссылки — без хардкода секретов и без их попадания в историю shell.

Установка

terminal
bash
git clone https://github.com/kcmadden/claude-code-1password-skill.git

README

Claude Code 1Password Skill

Скилл для Claude Code, интегрирующий управление секретами 1Password в AI-рабочие процессы разработчика.

Прекратите хардкодить API-ключи. Прекратите копировать секреты из браузера в терминал. Доверьте это 1Password и Claude.


Что умеет

  • Сохранять API-ключи, токены и учётные данные в 1Password прямо из чата Claude Code
  • Читать секреты через op:// ссылки — секреты никогда не попадают на диск или в историю shell
  • Генерировать файлы .env.tpl со ссылками на секреты (безопасно коммитить) из любого элемента 1Password
  • Ротировать учётные данные одной командой с последующей повторной подстановкой везде
  • Интегрироваться с Claude Desktop, n8n, Docker, GitHub Actions, Python, Supabase и Replit

Установка

Клонируйте в директорию скиллов Claude Code:

bash
git clone https://github.com/kcmadden/claude-code-1password-skill.git \
  ~/.claude/skills/1password

Если скилл уже установлен, обновите его:

cd ~/.claude/skills/1password && git pull

Затем перезапустите Claude Code (или начните новую сессию).

Требования:


Использование

После установки Claude Code автоматически загружает этот скилл, когда вы спрашиваете о 1Password. Просто общайтесь с ним:

«Сохрани мой Anthropic API-ключ в 1Password»

«Сгенерируй .env.tpl для моего проекта из элемента Dev Credentials»

«Прочитай мой Supabase service key в этот скрипт»

«Настрой конфиг Claude Desktop MCP для использования 1Password для секретов»

«Ротируй мой n8n API-ключ и обнови 1Password»


Состав

Скрипты

СкриптНазначение
check_setup.shПроверка установки и аутентификации op CLI
store_secret.shСоздание или обновление секрета, вывод op:// ссылки
env_from_op.shГенерация .env.tpl (ссылки) или .env (значения) из любого элемента 1Password

Справочные материалы (загружаются по запросу, не засоряют контекст)

ФайлСодержимое
op_commands.mdПолный справочник команд CLI с актуальными флагами
secret_references.mdСинтаксис op://, безопасные паттерны подстановки, что следует избегать
integrations.mdClaude Desktop, n8n, Docker, GitHub Actions, Python, Supabase, Replit

Основной паттерн

bash
# 1. Сохраните секрет
bash scripts/store_secret.sh --title "Anthropic" --field api_key --value "sk-..."
# → op://Dev/Anthropic/api_key

# 2. Сошлитесь на него в .env.tpl (коммитьте этот файл)
echo "ANTHROPIC_API_KEY=op://Dev/Anthropic/api_key" >> .env.tpl
echo ".env" >> .gitignore

# 3. Используйте
op run --env-file=.env.tpl -- your-command

Модель безопасности

Скилл следует принципу «безопасность прежде всего»:

Безопасные паттерны (рекомендуется):

bash
op run --env-file=.env.tpl -- your-command     # секреты остаются в подпроцессе
export KEY=$(op read "op://vault/item/field")   # один секрет в переменную

Паттерны, которых следует избегать:

bash
source <(op run --env-file=.env.tpl -- env)    # ⚠️ небезопасно — метасимволы shell в значениях выполняются как код
eval $(op run ... env)                          # ⚠️ тот же риск

Правила, встроенные в этот скилл:

  1. Никогда не хардкодить секреты — всегда использовать op:// ссылки
  2. Коммитить .env.tpl (только ссылки), никогда не коммитить .env (реальные значения)
  3. Всегда добавлять .env в .gitignore
  4. Использовать хранилища для разграничения доступа по проекту или команде
  5. Использовать сервисные аккаунты для CI/CD — никогда не использовать личные токены в автоматизации

Пример: Claude Desktop с 1Password

Храните API-ключи MCP-серверов в 1Password вместо открытого текста в claude_desktop_config.json:

json
{
  "mcpServers": {
    "my-server": {
      "command": "op",
      "args": ["run", "--", "node", "/path/to/server.js"],
      "env": {
        "API_KEY": "op://Dev/My MCP Server/api_key"
      }
    }
  }
}

Claude Desktop запускает op run, который разрешает ссылку при старте. Реальный ключ никогда не появляется в конфигурационном файле.


Пример: среда разработки

bash
# .env.tpl (коммитьте этот файл)
ANTHROPIC_API_KEY=op://Dev/Anthropic/api_key
SUPABASE_SERVICE_KEY=op://Dev/Supabase/service_key
N8N_API_KEY=op://Dev/n8n/api_key

# Запуск Claude Code с подставленными секретами
op run --env-file=.env.tpl -- claude

Участие в разработке

Issues и PR приветствуются. Если вы добавляете паттерны интеграции для других инструментов, откройте PR в references/integrations.md.


Лицензия

MIT

Похожие скиллы