Communitygithub.com

YepAPI/compétences

Sécurité des dépendances — audit npm, vérification du lockfile, prévention des attaques sur la chaîne d'approvisionnement.

Qu'est-ce que compétences ?

Cette compétence fournit des règles de sécurité strictes pour gérer les dépendances npm, en se concentrant sur la prévention des vulnérabilités dans les pipelines CI/CD et les environnements de développement. Elle automatise l'audit des dépendances avec `npm audit` pour échouer la construction en cas de vulnérabilités hautes ou critiques, et utilise `lockfile-lint` pour garantir que tous les packages proviennent du registre npm officiel. La compétence impose le verrouillage des versions majeures dans `package.json` avec `^` pour les mises à jour mineures, interdit les plages `*` ou `latest`, et conseille de vérifier les nouvelles dépendances avant l'installation en examinant les téléchargements npm, les dates de publication et le nombre de mainteneurs. Elle recommande également l'intégration d'outils de surveillance en temps réel comme Snyk, Socket.dev ou GitHub Dependabot, ainsi que des mises à jour hebdomadaires des dépendances pour éviter l'accumulation de failles connues. La compétence inclut des exemples concrets de configurations YAML pour GitHub Actions et des extraits de `package.json`, avertissant contre les pratiques dangereuses comme l'installation aveugle de packages, l'ignorance des avertissements `npm audit`, l'utilisation de `*` ou `latest`, l'exécution de scripts `postinstall` non vérifiés, et la confiance aveugle envers les packages populaires, illustrée par le cas réel de `event-stream` compromis.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/dependency-security

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Sécurité des dépendances

Règles

  • Exécutez npm audit dans CI — échouez la construction en cas de vulnérabilités hautes/critiques
  • Utilisez lockfile-lint pour vérifier que tous les packages pointent vers le registre npm officiel
  • Verrouillez les versions majeures dans package.json : utilisez ^ pour les mises à jour mineures, jamais * ou latest
  • Examinez les nouvelles dépendances avant de les installer : vérifiez les téléchargements npm, la date de dernière publication, le nombre de mainteneurs
  • Utilisez npm ls --all pour auditer les dépendances transitives — vos dépendances directes en tirent des centaines d'autres
  • Configurez Snyk, Socket.dev ou GitHub Dependabot pour les alertes de vulnérabilités en temps réel
  • Mettez à jour les dépendances chaque semaine — les dépendances obsolètes accumulent des vulnérabilités connues
# GitHub Actions — audit dans CI
- name: Auditer les dépendances
  run: npm audit --audit-level=high

- name: Vérifier l'intégrité du lockfile
  run: npx lockfile-lint --path package-lock.json --type npm --allowed-hosts npm --validate-https
// package.json — verrouiller les versions majeures
{
  "dependencies": {
    "next": "^14.0.0",
    "react": "^18.0.0",
    "zod": "^3.0.0"
  }
}

À éviter

  • npm install random-package sans vérifier d'abord le package — l'typosquatting est réel
  • Ignorer les avertissements npm audit — les vulnérabilités connues sont le vecteur d'attaque le plus facile
  • Utiliser * ou latest comme plages de versions — une publication compromise frappe immédiatement votre construction
  • Exécuter des scripts postinstall provenant de packages non fiables sans vérification
  • Présumer que les packages populaires sont sûrs — même event-stream (des millions de téléchargements) a été compromis

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

Skills associés