Огляд
Сканери знаходять помилку. Розробнику, який її написав, ще треба навчитися виправленню. Це завдання дає урок просто в pull request, саме тоді, коли код на рев’ю.
- Читає SARIF від CodeQL, Semgrep, Trivy, Gitleaks
- Зіставляє кожну знахідку з уроком на 5-10 хвилин
- Публікує одну гілку в pull request
- Ніколи не валить збірку
Як це працює
-
Ваш сканер запускається у збірці pull request і пише файл SARIF. Завдання читає його після кроку сканування.
-
Кожна знахідка зіставляється за її CWE. Секрети й advisory залежностей зіставляються за типом сканера, тож захардкоджений секрет чи вразливий пакет веде до уроку про виправлення.
-
Завдання додає одну гілку коментарів із щонайбільше пʼятьма уроками, по одному на тип проблеми, і оновлює ту саму гілку під час наступних запусків.
-
Коли хтось завершує урок, він позначається під час наступного запуску пайплайна, а з підключеним застосунком — одразу.
Додати у ваш пайплайн
Встановіть RansomLeak Secure Coding Lessons із Visual Studio Marketplace у вашу організацію, а потім додайте завдання після кроку, що пише SARIF:
- task: RansomLeakLessons@1
condition: always()
inputs:
sarif: results.sarif Завдання працює лише у збірках pull request, тож додайте пайплайн як політику build validation для цільової гілки. Воно входить із власним токеном ідентичності пайплайна, тож service connection і секрет не потрібні.
Один раз для репозиторію надайте проєктному Build Service дозвіл Contribute to pull requests, щоб він міг коментувати.
Додатковий застосунок RansomLeak
Більшості команд вистачає самого завдання. Застосунок додає миттєві позначки й статус pull
request ransomleak/secure-coding: pending, поки уроки відкриті, і succeeded, коли
їх завершено. Він ніколи не падає.
| Завдання пайплайна | Завдання із застосунком | |
|---|---|---|
| Вартість | Безкоштовно | Безкоштовно, плюс одне місце Basic |
| Позначає завершений урок | Під час наступного запуску | Одразу |
| Статус pull request | Ні | Так, ніколи не падає |
| Потрібен адміністратор каталогу | Ні | Так, один раз |
Адміністратор Microsoft Entra схвалює застосунок для вашого тенанта. Потім сторінка Connect перевіряє доступ і точно показує, чого бракує.
Pull request без уроків не повідомляє цей статус, тож не робіть його обовʼязковою політикою.
Дозволи та обробка даних
| Дані | Як обробляються |
|---|---|
| Знахідки | Назва сканера, CWE, чи є правило advisory CVE або GHSA, і номер pull request. Без вихідного коду, шляхів до файлів, фрагментів і секретів. |
| Розробник | Записів про окремих розробників ми не зберігаємо. |
| Завершення | Одна позначка на pull request і урок, лише ідентифікатори й час. Зникає через 30 днів. |
Позначка означає, що урок пройдено за посиланням із цього pull request, а не доказ того, хто саме його пройшов. Як RansomLeak обробляє дані, дивіться в політиці конфіденційності.
Поширені запитання
Чи інтегрується RansomLeak з Azure DevOps?
Так. RansomLeak Secure Coding Lessons — безкоштовне завдання пайплайна з Visual Studio Marketplace. Коли ваш сканер позначає слабкість у pull request Azure Repos, завдання публікує одну гілку коментарів із підібраними уроками безпечного кодування на 5-10 хвилин. Обліковий запис RansomLeak не потрібен.
З якими сканерами воно працює?
З будь-яким сканером, що пише SARIF: CodeQL, Semgrep, Trivy, Gitleaks та іншими інструментами, чиї правила мають CWE, CVE або GHSA. Для GitHub Advanced Security for Azure DevOps експортуйте результати сканування в SARIF і передайте файл завданню.
Чи зламає воно збірку або заблокує злиття?
Ні. Завдання ніколи не валить збірку. Якщо RansomLeak недоступний, бракує дозволу або файл SARIF недійсний, воно пише попередження й продовжує роботу. Статус pull request від додаткового застосунку теж ніколи не падає.
Що дає додатковий застосунок RansomLeak?
Без нього завершений урок позначається під час наступного запуску пайплайна. З ним позначка зʼявляється одразу, а застосунок встановлює статус pull request ransomleak/secure-coding. Адміністратор Microsoft Entra схвалює застосунок один раз, і йому потрібне місце Basic у вашій організації.
Які дані отримує RansomLeak?
Лише ідентифікатори: назву сканера, CWE правил, що дали результат, чи є правило advisory CVE або GHSA, і номер pull request. Вихідний код, шляхи до файлів, фрагменти й секрети не залишають агента, а записів про окремих розробників RansomLeak не зберігає.
Чи підтримується Azure DevOps Server?
Ні. Завдання працює в будь-якій організації Azure DevOps Services. Azure DevOps Server і pull request із форків не підтримуються.
Потрібна допомога?
Напишіть нам на support@ransomleak.com — і ми допоможемо підключити Azure DevOps до вашого тенанта.