Skip to content

[FEATURE] Add composer-audit security snippet (PHP dependency vulnerability scan) #35

Description

@prog-time

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.
  • README — строка в таблицу snippets.

--abandoned=ignore — чтобы гейт падал только на реальных CVE, а не на abandoned-пакетах.

Готово когда

  • 4 файла по конвенции + строка в README
  • bats tests/security/composer-audit.bats зелёный
  • assemble-ci.shgit diff CI/ пустой

Affected Files

No files specified

Checklist

No checklist items

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions