Инструменты

/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.

Только защита и только с разрешения​

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

От доказательства к раскрытию​

Два файла каждой доказанной находки вместе помещаются в приватный GitHub Gist, чтобы сообщить об уязвимости. Они свидетельствуют о существующей нераскрытой проблеме, поэтому .gitignore внутри .lagune/proofs/ не пускает их ни в один коммит: делитесь ими только через этот Gist, пока мейнтейнеры не устранят проблему.

Закрывать находку в цепочке Lagune по-прежнему должны /lagune-harden и /lagune-verify: prove создает свидетельства, но ничего не закрывает.

Частые вопросы

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

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

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