Type: feature
Context
Что добавляем
Сниппет composer-audit в категорию security — скан PHP-зависимостей на известные уязвимости (CVE) через composer audit.
Зачем
Каталог уже содержит dep-audit для других экосистем: bundler-audit (Ruby), pip-audit (Python). Для PHP/Composer аналога нет — это очевидный недостающий сиблинг. На реальном Laravel-проекте composer audit сразу выявляет уязвимые транзитивные зависимости (например, CVE в symfony/yaml).
Конвенция (как у остальных сниппетов)
scripts/shell/security/composer-audit.sh — логика (set -euo pipefail, проверка наличия composer и composer.lock через ::error::, запуск composer audit --abandoned=ignore).
tests/security/composer-audit.bats — кейсы: composer не установлен / нет composer.lock / чистый lock / уязвимая зависимость.
scripts/CI/security/composer-audit.yml — source job (run: bash scripts/shell/security/composer-audit.sh).
CI/security/composer-audit.yml — собранный через assemble-ci.sh.
- README — строка в таблицу snippets.
--abandoned=ignore — чтобы гейт падал только на реальных CVE, а не на abandoned-пакетах.
Готово когда
Affected Files
No files specified
Checklist
No checklist items
Note
The task was generated using the MCP server — prog-time/mcp-github-issues
Type: feature
Context
Что добавляем
Сниппет
composer-auditв категориюsecurity— скан PHP-зависимостей на известные уязвимости (CVE) черезcomposer audit.Зачем
Каталог уже содержит dep-audit для других экосистем:
bundler-audit(Ruby),pip-audit(Python). Для PHP/Composer аналога нет — это очевидный недостающий сиблинг. На реальном Laravel-проектеcomposer auditсразу выявляет уязвимые транзитивные зависимости (например, CVE вsymfony/yaml).Конвенция (как у остальных сниппетов)
scripts/shell/security/composer-audit.sh— логика (set -euo pipefail, проверка наличияcomposerиcomposer.lockчерез::error::, запускcomposer audit --abandoned=ignore).tests/security/composer-audit.bats— кейсы: composer не установлен / нет composer.lock / чистый lock / уязвимая зависимость.scripts/CI/security/composer-audit.yml— source job (run: bash scripts/shell/security/composer-audit.sh).CI/security/composer-audit.yml— собранный черезassemble-ci.sh.--abandoned=ignore— чтобы гейт падал только на реальных CVE, а не на abandoned-пакетах.Готово когда
bats tests/security/composer-audit.batsзелёныйassemble-ci.sh→git diff CI/пустойAffected Files
No files specified
Checklist
No checklist items