Этот отчет не переведен на запрошенный язык. Вместо него показан канонический отчет на английском языке.

Версионная оценка безопасности

ID отчёта: SA-36E07D5E

7/7/2026, 7:41:32 AM

background-remover оценка безопасности v5

Отчёт о сертификации безопасности навыка

История аудитов
Модель аудита: codex Исторический отчет
Название навыка
background-remover
Версия
v5
Сопровождающий
verging.ai
Охват
1 Просканировано файлов · 239 Проанализировано строк
Версия политики
Недоступно

Наивысшая серьёзность подтверждённого результата

Высокий

Подтверждённая проблема безопасности (1) требует внимания.

Контекст установки

Исторические доказательства

Этот отчёт может не описывать артефакт, доступный для установки в настоящее время. Откройте текущую страницу Навыка для получения рекомендаций по установке.

Открыть текущую страницу Навыка

Этот отчёт не блокирует и не разрешает манифест или ZIP.

The skill is a documented client for the verging.ai background removal service and intentionally performs authenticated network uploads of user images. Most markdown backtick findings are false positives, but the curl workflow, external API calls, API key handling, temporary files, and public result URLs are real security and privacy risks.

Позиция отчета

Исторический отчет

Откройте историю аудита перед использованием этого отчета для установки.

Аттестация аудита

Не подлежит аттестации

Требуемая неизменяемая привязка не завершена.

Проверка человеком

Не проверено

Для этого отчета не зафиксирована проверка человеком.

Охват

1 Просканировано файлов · 239 Проанализировано строк

28 элементов показано для проверки

Ограничения

Этот отчёт не заявляет о выполнении во время работы или в песочнице и не доказывает отсутствие побочных эффектов.

Цепочка доказательств

Проследите доказательства от привязки источника до контракта установки. Доступные доказательства подтверждают возможность проверки; они не являются гарантией безопасности.

  1. Источник

    Привязка недоступна

  2. Артефакт

    Идентификация неполная

  3. Аудит

    Завершено

  4. Контракт установки

    Открыть манифест для проверки

    Открыть манифест

Обнаруженные возможности

«Обнаружено» означает, что в этом отчете зафиксированы подтверждающие доказательства. «Не зафиксировано» не доказывает отсутствие возможности.

Содержит скрипты

Может выполнять код, включённый в Skill.

Не зафиксировано этим аудитом

Доступ к сети

Может подключаться к внешним службам.

Обнаружено в 14 местах расположения доказательств

Доступ к файловой системе

Может читать или записывать локальные файлы.

Обнаружено в 1 месте расположения доказательств

Переменные окружения

Может считывать значения из окружения процесса.

Обнаружено в 13 местах расположения доказательств

Внешние команды

Может вызывать команды или программы вне Навыка.

Обнаружено в 19 местах расположения доказательств

Пункты проверки возможностей (27)
Высокий
Generic API/secret keys
- VERGING_API_KEY
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
primaryEnv: VERGING_API_KEY
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
| --api-key | -k | Your API Key | VERGING_API_KEY env |
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
| VERGING_API_KEY | Your API Key |
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
Authorization: ApiKey <your_api_key>
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
curl -X POST -H "Authorization: ApiKey $VERGING_API_KEY" \
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
curl -X POST -H "Authorization: ApiKey $VERGING_API_KEY" \
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
- Replace `$VERGING_API_KEY` with your actual API key or set it as an environment variable
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
- API Key can be passed via --api-key parameter or read from environment variable VERGING_API_KEY
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Высокий
Generic API/secret keys
- Set it via environment variable: `export VERGING_API_KEY="your_key"`
The skill requires a verging.ai API key and uses it for authenticated API requests. This is intended behavior, but it is real handling of sensitive credentials.
Средний
Ruby/shell backtick execution
```bash
This block documents curl commands that send an API key and image data to external endpoints. It is documentation rather than embedded code, but the skill instructs the agent to run these external commands.
Средний
Ruby/shell backtick execution
- Every 5 seconds call `/api/v1/background-removal/jobs?job_ids=xxx` to query status
This range includes the documented workflow to poll remote job URLs and use curl to download the result. The static trigger is a markdown backtick, but the surrounding instructions require external command execution.
Средний
Hardcoded URL
https://verging.ai/api/v1/upload-video
The documented upload-video endpoint starts the upload flow for user images. This creates external transfer of user-provided files.
Средний
Hardcoded URL
# "url": "https://...r2.cloudflarestorage.com/...jpg?X-Amz-...",
The example response contains a presigned Cloudflare R2 upload URL. It indicates that image content is transferred to external object storage.
Средний
Hardcoded URL
# "public_url": "https://img.panpan8.com/background-removal/2026-03-11/xxx.jpg"
The example public_url uses an external image delivery domain. This is a real privacy consideration because processed image results are exposed by URL.
Средний
Hardcoded URL
"https://...presigned-url-from-step-1..."
The documented curl PUT sends the local image to a presigned external URL. Even though the URL is a placeholder, the workflow is an external upload.
Средний
Hardcoded URL
https://verging.ai/api/v1/background-removal/create-job
The documented create-job call sends image metadata and job data to verging.ai. This is a core outbound network action.
Средний
Hardcoded URL
- For remote image URLs (https://example.com/image.jpg), use curl to download
The skill instructs the agent to download remote image URLs with curl. User-supplied URL downloads can contact arbitrary hosts and should be constrained.
Средний
Hardcoded URL
User: /background-removal -i https://example.com/photo.jpg
The example demonstrates processing a remote image URL. This confirms the skill may fetch user-provided network resources.
Средний
Temp directory access
- **Temporary files:** Local temporary files are stored in `/tmp/verging-bg-removal/` and cleaned up
The skill documents storing temporary files under /tmp/verging-bg-removal. A fixed temp directory can expose image data or collide across runs if permissions and cleanup are weak.
Низкий
Hardcoded URL
| VERGING_API_URL | API base URL (default: https://verging.ai/api/v1) |
The skill defines https://verging.ai/api/v1 as the default outbound API base URL. This is expected for the service, but it is real network access.
Низкий
Hardcoded URL
https://verging.ai/api/v1/auth/me
The documented curl command calls the verging.ai auth endpoint with the API key. This is real authenticated network access.
Низкий
Hardcoded URL
"https://verging.ai/api/v1/background-removal/jobs?job_ids=123"
The documented job-status request polls an external API endpoint. This is expected behavior, but it is real network access.
Низкий
Hardcoded URL
https://verging.ai/api/v1/background-removal/jobs
The documented jobs endpoint lists remote processing jobs through the external API. This confirms ongoing network dependency.

Результаты оценки рисков

Подтверждённые проблемы безопасности отделены от элементов, которые всё ещё требуют проверки.

Подтверждённые проблемы безопасности (1)

RISK-001 Высокий
External Image Upload and Public Result Exposure
The skill instructs agents to upload images to verging.ai storage for processing and return processed images through a public URL. Users may expose private photos if they are not warned before upload or if result URLs are shared.
The processing flow explicitly uploads images to external storage and the privacy section states that result images are returned via a public URL.

Меры по устранению

В ходе этого аудита были зафиксированы рекомендуемые исправления. Их применение является ответственностью сопровождающего.

  1. FIX-001
    Высокий
    API key exposure risk
    Prefer environment variables or a secret manager, discourage command-line API keys, and never print Authorization headers in logs or examples.
  2. FIX-002
    Высокий
    External image transfer and public result URLs
    Warn users before uploading sensitive images, document retention and access controls, and use expiring private result URLs where possible.
  3. FIX-003
    Средний
    Unconstrained curl workflow
    Validate URL schemes and hosts, quote all local paths, and restrict downloads to http or https resources requested by the user.
  4. FIX-004
    Средний
    Temporary file handling
    Use a unique per-run temporary directory with restrictive permissions and clean it up on success, failure, and cancellation.

Экспертные доказательства

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

Субъект артефакта

Коммит Marketplace
Недоступно
Хеш содержимого
Недоступно
Хеш дерева
Недоступно
Путь Skill
Недоступно
Хеш данных аудита
Недоступно

Метаданные анализа

Модель аудита: codex

Состояние анализа: Завершено

Область действия ограничена зафиксированными файлами, строками, методами и доказательствами. Выполнение во время работы или в песочнице не заявляется.

Проверить и экспортировать

Манифест и lockfile привязывают артефакты установки к криптографическим хешам. Это заявление о целостности не связано с оценкой безопасности.

Аттестация аудита: not_attestable