跳到主要内容
知仓学习社ZHICANG

amocrm-api-control

Безопасная OAuth-авторизация amoCRM, чтение схемы аккаунта и сверка заявок по источнику, времени, статусу, ответственному и внешней ссылке.

联网读环境变量(配置)严重 1 · 高危 4hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少7 个文本文件,24 KB
它会碰到什么联网读环境变量(配置)
命中总数14 处
命中统计严重 1 · 高 4 · 中 2 · 低 7

关于「读环境变量(配置)」:这个技能会读 process.env 之类的环境变量,但读到的都是端口、目录、超时这类配置项,没有读取密钥类变量。扫描规则原本把「读环境变量」一律算作「读凭据」,本站按变量名做了细化区分,命中明细仍如实列在下面。

逐条看命中(5 条严重或高危)
  • 严重 tests/test_reconciliation.py:115cred-paths
    path = Path(directory) / "credentials.json"
  • scripts/exchange_amocrm_token.py:18cred-envread
    Path(os.environ.get("CODEX_HOME", Path.home() / ".codex")) / "plugins/yandex-direct-for-all/scripts",
  • scripts/exchange_amocrm_token.py:19cred-envread
    Path(os.environ.get("CLAUDE_HOME", Path.home() / ".claude")) / "plugins/yandex-direct-for-all/scripts",
  • scripts/fetch_amocrm_schema.py:17cred-envread
    Path(os.environ.get("CODEX_HOME", Path.home() / ".codex")) / "plugins/yandex-direct-for-all/scripts",
  • scripts/fetch_amocrm_schema.py:18cred-envread
    Path(os.environ.get("CLAUDE_HOME", Path.home() / ".claude")) / "plugins/yandex-direct-for-all/scripts",

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Управление amoCRM через программный интерфейс

Граница задачи

Навык предназначен для получения и обновления OAuth-токенов, чтения воронок, статусов и полей, а также сверки заявок. Любые изменения бизнес-данных требуют отдельного плана, точной области, подтверждения и чтения после записи.

Перед созданием интеграции

  1. Используй уже существующую интеграцию, если она есть.
  2. Создание закрытой интеграции в нетехническом аккаунте может иметь последствия для технической поддержки; покажи владельцу актуальное предупреждение из интерфейса amoCRM.
  3. redirect_uri должен точно совпадать с адресом интеграции. Местный приёмник слушает только 127.0.0.1 и проверяет точные путь и state.

Закрытые файлы

Все файлы интеграции, state, кода авторизации и токенов должны иметь права 0600, а их папки — 0700. Секрет, код и токен не передавай аргументом и не печатай.

Ожидаемая схема файла интеграции:

{
  "subdomain": "ACCOUNT_SUBDOMAIN",
  "client_id": "PUBLIC_INTEGRATION_ID",
  "client_secret": "PRIVATE_INTEGRATION_SECRET",
  "redirect_uri": "EXACT_REGISTERED_REDIRECT_URI"
}

Порядок OAuth

  1. Создай случайное состояние и сохрани его в закрытом файле.
  2. Запусти scripts/amocrm_local_callback_server.py с явными --state-file и --output.
  3. Открой адрес согласия, содержащий тот же state.
  4. Приёмник сохранит только код, а не полный адрес.
  5. Запусти scripts/exchange_amocrm_token.py с --integration-file, --authorization-code-file и --token-file. Для обновления используй --refresh без файла кода.
  6. После успешного первого обмена удали одноразовый файл кода.

Чтение схемы и сверка

scripts/fetch_amocrm_schema.py проходит постраничную выдачу и сохраняет схему аккаунта в закрытой папке. Повтор той же страницы считается ошибкой.

Для сверки каждая строка обязана иметь поля:

  • source — источник;
  • occurred_at — время события;
  • status — статус;
  • responsible — ответственный;
  • external_link — внешняя ссылка, используемая как ключ сопоставления.

Результат разделяет совпадение, расхождение и строку, присутствующую только во втором источнике.

Граница публикации

Не публикуй поддомены аккаунтов, учётные данны, токены, контакты, заявки, домены и местные пути. Для испытаний используй только синтетические данны.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,027
本站分层T1
该仓技能数1910
原文件路径plugins/nebelov/yandex-direct-for-all/skills/amocrm-api-control/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 1910 个技能