Уведомление об обновлении Checkov, вызывающее сбой CI

Примерно в 11:30 по восточному времени 21 ноября 2022 г. наши конвейеры непрерывной интеграции начали давать сбои из-за уведомления об обновлении/обновлении Checkov с подсказкой ввода (см. вывод ниже).

Есть ли опция командной строки, чтобы пропустить эту проверку от bridgecrew?

$ checkov
       _               _              
   ___| |__   ___  ___| | _______   __
  / __| '_ \ / _ / __| |/ / _ \ \ / /
 | (__| | | |  __/ (__|   < (_) \ V / 
  \___|_| |_|\___|\___|_|\_\___/ \_/  
                                      
By bridgecrew.io | version: 2.1.244 
Update available 2.1.244 -> 2.2.80
Run pip3 install -U checkov to update 
Would you like to “level up” your Checkov powers for free?  The upgrade includes: 
• Command line docker Image scanning
• Software Composition Analysis
• Centralized policy management
• Free bridgecrew.cloud account with API access
• Auto-fix remediation suggestions
• Enabling of VS Code Plugin
• Dashboard visualisation of Checkov scans
• Integration with GitHub for:
    ◦   Automated Pull Request scanning
    ◦   Auto remediation PR generation
• Integration with up to 100 cloud resources for:
    ◦   Automated cloud resource checks
    ◦   Resource drift detection
and much more...
It's easy and only takes 2 minutes. We can do it right now!
To Level-up, press 'y'... 
Level up? (y/n): Traceback (most recent call last):
  File "/usr/bin/checkov", line 9, in <module>
    sys.exit(run())
  File "/usr/lib/python3.10/site-packages/checkov/main.py", line 368, in run
    bc_integration.onboarding()
  File "/usr/lib/python3.10/site-packages/checkov/common/bridgecrew/platform_integration.py", line 696, in onboarding
    reply = self._input_levelup_results()
  File "/usr/lib/python3.10/site-packages/checkov/common/bridgecrew/platform_integration.py", line 860, in _input_levelup_results
    result = str(input('Level up? (y/n): ')).lower().strip()  # nosec
EOFError: EOF when reading a line
Uploading artifacts for failed job
00:01
Uploading artifacts...
WARNING: plan.json: no matching files              
ERROR: No files to upload                     

Я пытался обновить версию с помощью pip, но старая версия все еще используется. Это отдельная проблема, и на данный момент я сосредоточен на том, чтобы полностью избежать проверки обновлений.

bash-5.1# checkov --version
2.1.244
bash-5.1# pip3 install -U checkov
... (Lots of output)
bash-5.1# checkov --version
2.1.244

Это мой файл .checkov.yaml:

compact: true
quiet: true
skip-download: false
download-external-modules: true
directory:
 - ./
skip-check:
 - CKV_AWS_18  
 - CKV_AWS_50  
 - CKV_AWS_115 
 - CKV_AWS_116
 - CKV_AWS_117 
 - CKV_AWS_158 
 - CKV_AWS_173 
 - CKV_OPENAPI_4  # some APIs are public
 - CKV_OPENAPI_5  # some APIs are public
 - LOW 

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
2
0
82
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы получаете этот вывод только потому, что вызываете checkov без каких-либо параметров командной строки. Так уже около года, может даже больше.

Я использую файл конфигурации checkov вместо параметров командной строки. Суть моего вопроса заключается в том, какой параметр командной строки или файла конфигурации я могу использовать, чтобы пропустить эту проверку обновления.

Dominic O'Connor 24.11.2022 21:11

Я пытался обновить версию с помощью pip, но старая версия все еще используется.

Версия 2.1.244 была выпущена 2 октября, так что она не сегодняшняя. Я присоединяюсь к предложению Джеймса использовать параметры - это позволит вообще избежать этого запроса. А также проверить, чего не хватает в депе вашей машины, так как кажется, что последние чековы не могут быть установлены. Настоятельно рекомендуем использовать докер checkov напрямую, если вы не в настроении отлаживать и это!

Дата выпуска версии 2.1.244 значения не имеет. Наши трубопроводы работали в 10:30 и прекращали работать в 11:00. Мы используем файл yaml, а не параметры командной строки.

Dominic O'Connor 28.11.2022 22:54
Ответ принят как подходящий

Если кто-то еще столкнется с этим, я исправил это, явно передав флаг файла конфигурации в командной строке:

checkov --config-file .checkov.yaml

Мне до сих пор неясно, почему конвейеры начали давать сбои, когда мы использовали предварительно созданный образ Docker для выполнения наших заданий.

Другие вопросы по теме