Skip to content

SecureCode AI 1.2.8

Choose a tag to compare

@shorinversion shorinversion released this 08 Oct 11:46
32c7f37

SecureCode AI 1.2.8

Исправления по E2E-тестированию 1.2.7. Сайт: https://mydev.stream

Исправлено

  • Чат-сайты отклоняются. --provider openai-compatible отклоняет любой хост вида chat.*, а в контракт добавлен более полный список чат-продуктов (chat.deepseek.com, kimi.com, www.perplexity.ai и др.). API тех же вендоров (api.deepseek.com, api.perplexity.ai) по-прежнему разрешены. В 1.2.7 chat.deepseek.com принимался и получал запросы.
  • Checkout другого пользователя. Внутренние git-команды работают без глобальной конфигурации, поэтому репозиторий, принадлежащий другому пользователю (CI-контейнер, смонтированный том), отклонялся как dubious ownership, и прогон за 2 секунды падал с безымянным LocalProductUnavailableError. Теперь решение принимает ваш Git с вашей конфигурацией. Если он доверяет checkout'у (safe.directory), анализ идёт. Если не доверяет — до анализа выводится понятное сообщение с командой git config --global --add safe.directory <путь> (D-120).
  • Коды причин. Если прогон остановился без отчёта, сообщение называет код причины: GIT_COMMAND_FAILED, PROVIDER_NOT_ADMITTED и др. Ревизия без поддерживаемых исходников завершается с кодом 4 и NO_SUPPORTED_SOURCE вместо голого ValueError.
  • Группировка секретов. Два захардкоженных секрета в разных строках одного файла больше не сливаются в одну слабость — ни в JSON и SARIF (weakness_group), ни в Markdown и HTML: каждый ротируется отдельно. Для слабостей кода (инъекции и др.) группа по-прежнему «CWE + файл». Ключ SARIF сменился на securecodeWeakness/v2 (D-119).
  • Широкие находки. Находка, охватывающая весь файл, больше не прячет кандидата на отдельной строке.

Добавлено

  • covered_candidates в JSON: кандидаты, свёрнутые в подтверждённую находку того же места, с причиной, счётчиками попыток, retries_exhausted и covered_by.
  • model_cost в JSON: стоимость запросов к модели (usd, known).

Полный список изменений: CHANGELOG.