Інструменти

/lagune-prove: суто оборонний Proof of Concept

Перетворіть кожну виявлену знахідку на виконуваний, суто оборонний Proof of Concept (PoC) і бюлетень безпеки для відповідального розкриття.

🧪 Перетворіть кожну виявлену знахідку на виконуваний, суто оборонний доказ для відповідального розкриття.

Для кожної знахідки з карти виявлення вона пише самодостатній бюлетень безпеки й тест, що перевіряє безпечний шлях, тож тест не проходить, поки проблема існує, і проходить, щойно код виправлено.

порада

Тести Lagune зберігаються ізольовано в .lagune/, окремо від вашого власного набору тестів.

Використання​

/lagune-prove

Як це працює​

Вона читає вихідний код, на який вказує кожна знахідка, і для кожної доведеної знахідки створює в .lagune/proofs/ окремий каталог, що містить рівно два файли:

ФайлЩо це
report.test.mjs (або .cjs)Тест. Він запускається на Poku, якщо ваш проєкт уже його використовує, інакше на вбудованому раннері Node.js, тож нічого не треба встановлювати.
report.mdСамодостатній бюлетень безпеки: критичність, вплив, як відтворити проблему й команда запуску, зрозумілий сам по собі.

Доведення завжди написані на JavaScript, тож залишаються переносними, хоч би якою мовою був написаний ваш проєкт. Індекс README.md містить посилання на кожне доведення й одну команду, щоб запустити їх усі.

порада
  • Вона необов'язкова й автономна: не входить до п'яти фаз і не є частиною ланцюжка відстеження.
  • Вона пише лише в .lagune/proofs/ і ніколи не торкається артефактів фаз чи вашого коду, який лише читає.
  • Знахідка, тест якої не відтворює проблему, не отримує доведення, і вона попросить виконати /lagune-detect для цього місця, щоб узгодити стан.
  • Повторний запуск узгоджує доведення: каталог знахідки, яка зникла чи більше не відтворюється, видаляється.
important

Вона запускається лише тоді, коли ви її викликаєте: агент ніколи не запускає її сам.

Спирається на detect

Prove читає карту виявлення від /lagune-detect, тож спершу виконайте detect.

Лише захист і лише з дозволу​

Перш ніж щось генерувати, вона підтверджує, що ви маєте дозвіл тестувати ціль, і відхиляє будь-який запит на робочий експлойт, payload атаки чи обхід виявлення. Доведення демонструє безпечну поведінку й ніколи не видає вхідних даних для атаки.

Від доведення до розкриття​

Два файли кожної доведеної знахідки разом вирушають у приватний GitHub Gist, щоб повідомити про вразливість. Вони є доказом чинної, ще не розкритої проблеми, тож .gitignore усередині .lagune/proofs/ не пускає їх у жоден коміт: діліться ними лише через цей Gist, доки мейнтейнери не розв'яжуть проблему.

Закривати знахідку в ланцюжку Lagune і далі мають /lagune-harden і /lagune-verify: prove створює докази, а не закриває щось.

Часті запитання

Ні. /lagune-prove пише суто оборонні докази: тест, що перевіряє безпечний шлях, тож він не проходить, поки проблема існує, і проходить, щойно код виправлено, а також бюлетень безпеки для відповідального розкриття.

Два файли на кожну знахідку: тест (report.test.mjs або .cjs) і бюлетень безпеки (report.md).

Prove пише самодостатній бюлетень безпеки, яким можна поділитися через приватний канал, як-от приватний GitHub Gist, дотримуючись принципів відповідального розкриття.