{
  "markdown": "# claude-skill-security-check\n\nSkill [Claude Code](https://claude.com/product/claude-code) pour auditer les dépendances d'un projet contre les CVE publiques et appliquer les correctifs sûrs en un clic.\n\nInspiré des recommandations Anthropic sur la [préparation aux attaques accélérées par IA](https://claude.com/blog/preparing-your-security-program-for-ai-accelerated-offense) : fermer le patch gap, prioriser les CVE activement exploitées (CISA KEV), automatiser le triage.\n\n## Ce que fait le skill\n\nQuand tu tapes `/security-check` dans Claude Code depuis un projet :\n\n1. **Détection auto** des lock files : `composer.lock`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`\n2. **Scan** des paquets installés contre [OSV.dev](https://osv.dev/) (base unifiée qui agrège GHSA, Packagist, npm, PyPI, etc.)\n3. **Cross-check** des CVE remontées avec le catalogue [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) pour flagger celles qui sont exploitées dans la nature\n4. **Résolution sémantique** : pour chaque vulnérabilité, identifie la plus petite version corrigée dans la bonne branche semver (ex : 7.1.11 → 7.3.7, pas 5.4.50)\n5. **Classification** du bump requis : `patch` / `minor` / `major` / `pas de correctif`\n6. **Rapport markdown** trié par sévérité, avec indicateur 🔥 sur les CVE exploitées\n7. **Application automatique** (si `--apply`) des bumps patch et minor via `composer update` ou `npm update`, après confirmation. **Les majors restent toujours manuels** pour éviter les risque de breaking change et/ou de dépendances incompatibles.\n\n## Installation\n\n### Rapide (recommandée)\n\n```bash\ngit clone https://github.com/Motchouk/claude-skill-security-check.git\ncd claude-skill-security-check\n./install.sh              # niveau utilisateur → ~/.claude/skills/security-check/\n```\n\nAprès redémarrage Claude Code (ou recharge de la session).\n\n### Options d'installation\n\n```bash\n./install.sh --project    # Installer dans le projet courant (./.claude/skills/)\n./install.sh --force      # Écraser une install existante sans prompt\n./install.sh --uninstall  # Supprimer l'installation (user + project)\n```\n\n### Installation manuelle\n\n```bash\n# Niveau utilisateur\nmkdir -p ~/.claude/skills/security-check\ncp -R skills/security-check/* ~/.claude/skills/security-check/\n\n# Ou niveau projet\nmkdir -p .claude/skills/security-check\ncp -R skills/security-check/* .claude/skills/security-check/\n```\n\n### Prérequis\n\n- **Python 3.8+** — uniquement la stdlib, aucun `pip install` requis\n- **Claude Code** (desktop, CLI ou IDE extension)\n- Accès réseau vers `api.osv.dev` et `www.cisa.gov`\n- Pour `--apply` : `composer` et/ou `npm`/`yarn`/`pnpm` disponibles localement ou via `make exec`\n\n## Usage\n\n```\n/security-check                       # Rapport seul (dry-run)\n/security-check --severity HIGH       # Filtre: HIGH + CRITICAL uniquement\n/security-check --apply               # Applique les bumps patch/minor après confirmation\n```\n\n### Exemple de sortie\n\n```\n# Rapport sécurité — 2026-04-16\n\n> 203 paquets scannés dans Packagist.\n> 3 vulnérabilités détectées : 0 patch, 2 minor, 1 major, 0 sans correctif.\n> 0 exploitées activement (CISA KEV).\n\n## Actions recommandées\n\n### À appliquer automatiquement (patch + minor)\n\n| Sévérité | Paquet | Actuelle → Corrigée | Bump | KEV | CVE |\n|---|---|---|---|---|---|\n| **HIGH** | `aws/aws-sdk-php` | 3.369.24 → 3.371.4 | minor |  | [GHSA-27qh-8cxx-2cr5](...) |\n| **HIGH** | `symfony/http-foundation` | 7.1.11 → 7.3.7 | minor |  | [CVE-2025-64500](...) |\n\n### À revoir manuellement (major bumps / pas de correctif)\n\n| Sévérité | Paquet | Actuelle → Corrigée | Raison | Détails |\n|---|---|---|---|---|\n| **HIGH** | `phpoffice/phpspreadsheet` | 4.5.0 → 5.0.0 | breaking changes probables | [CVE-2025-54370](...) |\n```\n\n## Architecture\n\n```\nclaude-skill-security-check/\n├── .claude-plugin/\n│   └── plugin.json                 # Manifest plugin Claude Code\n├── skills/\n│   └── security-check/\n│       ├── SKILL.md                # Procédure suivie par Claude\n│       └── scripts/\n│           ├── scan.py             # Orchestrateur (sortie JSON)\n│           ├── parsers.py          # composer.lock + package-lock/yarn/pnpm\n│           └── sources.py          # Clients OSV.dev + CISA KEV\n├── install.sh                      # Installeur\n├── CHANGELOG.md\n├── LICENSE                         # GPL-3.0\n└── README.md\n```\n\n**Zéro dépendance externe** : tout tient dans la stdlib Python 3.8+.\n\n## Sources de vulnérabilités\n\n| Source | Rôle | Pourquoi ce choix |\n|---|---|---|\n| [OSV.dev](https://osv.dev/) | Détection des CVE | Base unifiée multi-écosystèmes (GHSA + Packagist + npm + …), API batch sans auth |\n| [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | Priorisation | Catalogue officiel des CVE exploitées dans la nature, mis à jour quotidiennement |\n\nLe catalogue KEV est mis en cache 24 h dans `/tmp/security-check-cache/` pour éviter les requêtes répétées. Override possible via `SECURITY_CHECK_CACHE_DIR`.\n\n## Limites connues\n\n- **CVE fraîches** : les advisories publiées il y a moins de 24 h peuvent ne pas être encore indexées dans OSV.\n- **Contraintes strictes** : si `composer.json` / `package.json` bloque un bump (ex. `\"^5.0\"` pour une version corrigée en 6.x), il faut assouplir la contrainte à la main. Le skill le signale mais ne modifie pas ces fichiers.\n- **Majors non appliqués** : choix volontaire pour éviter les breaking changes.\n- **Hors scope** : images Docker, extensions PHP natives, paquets système. Utiliser [Trivy](https://trivy.dev/) ou [Grype](https://github.com/anchore/grype) en complément.\n\n## Portabilité\n\nLe skill fonctionne sur les type de projets suivants :\n\n- **Backend PHP** (Composer)\n- **Frontend JS** (npm/yarn/pnpm seul)\n- **Fullstack** (PHP + JS dans le même répository) — agrégé dans un seul rapport\n- **Projet en conteneur Docker** (ex. Symfony + FrankenPHP) — détecte automatiquement `make exec` si disponible\n\n## Contribuer\n\nLes issues et PR sont bienvenues :\n\n- Nouveaux écosystèmes (PyPI, RubyGems, Cargo, Go modules) — OSV.dev les supporte déjà, il faut ajouter un parser dédié\n- Export du rapport (JSON, SARIF, HTML)\n- Intégration CI (GitHub Actions, GitLab CI)\n\n## Confidentialité\n\nLe skill n'envoie aucune donnée personnelle : uniquement des couples `(nom_paquet, version)` à OSV.dev et une requête GET publique à CISA KEV. Détails dans [PRIVACY.md](PRIVACY.md).\n\n## Licence\n\n[GPL-3.0](LICENSE)\n\n## Crédits\n\n- Sources de données : [OSV.dev](https://osv.dev/) (Google), [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)\n- Inspiration : Anthropic, *[Preparing your security program for AI-accelerated offense](https://claude.com/blog/preparing-your-security-program-for-ai-accelerated-offense)*\n",
  "bytes": 6754,
  "sha": "79960e60c262f555309f0174e2ba165074887cd1e7ccce6a168bbabee4854e7f",
  "repo_slug": "motchouk/claude-skill-security-check",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_motchouk_claude_skill_security_check_cla_34bcb89c/readme"
}