Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pkgxray — Sécurité pré-installation pour agents IA, paquets npm et serveurs MCP. Analyse statique locale sans dépendance ; les analyses normales n'exécutent jamais le code des paquets. | Kitploit
Outils/GitHubGitHub/adamsjack711-ux/pkgxray
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeDevSecOpsDétection de SecretsSécurité de la Chaîne LogistiqueSécurité de l'IA
GitHubadamsjack711-ux/pkgxray

pkgxray

Sécurité pré-installation pour agents IA, paquets npm et serveurs MCP. Analyse statique locale sans dépendance ; les analyses normales n'exécutent jamais le code des paquets.

Voir le dépôt
11144il y a 14 joursPas encore vérifié
Site web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
<div align="center">

<img src="https://raw.githubusercontent.com/adamsjack711-ux/pkgxray/main/docs/banner.png" alt="pkgxray — analysez les paquets avant de les installer" width="820">

# pkgxray — sécurité pré-installation pour les paquets npm, les serveurs MCP et les agents IA

Inspectez un paquet npm ou un serveur MCP **avant** de l'installer ou de vous y connecter, et
obtenez un verdict déterministe et fondé sur des preuves : `SAFE`, `REVIEW` ou `BLOCK`.
Analyse statique locale, zéro dépendance — les analyses normales n'exécutent jamais le code des paquets.

[![npm version](https://img.shields.io/npm/v/pkgxray)](https://www.npmjs.com/package/pkgxray)
[![npm downloads](https://img.shields.io/npm/dm/pkgxray)](https://www.npmjs.com/package/pkgxray)
[![tests](https://github.com/adamsjack711-ux/pkgxray/actions/workflows/pkgxray-test.yml/badge.svg)](https://github.com/adamsjack711-ux/pkgxray/actions/workflows/pkgxray-test.yml)
[![calibration benchmark](https://github.com/adamsjack711-ux/pkgxray/actions/workflows/pkgxray-benchmark.yml/badge.svg)](https://github.com/adamsjack711-ux/pkgxray/actions/workflows/pkgxray-benchmark.yml)
[![license: MIT](https://img.shields.io/npm/l/pkgxray)](LICENSE)

[**Site web**](https://pkgxray.ca) · [**Documentation**](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/README.md) · [**Calibration**](https://pkgxray.ca/stats) · [**Signaler un bug**](https://github.com/adamsjack711-ux/pkgxray/issues)

<img src="https://assets.kitploit.com/production/public/readmes/43061/49ce4b9fed6753583cc0f87fd2c64c556d14806d31791844eaeefc14f7c4749e.gif" alt="Le garde pkgxray validant [email protected] avec un verdict SAFE A+, puis bloquant un échantillon piégé avec un verdict BLOCK F et une détection d'accès aux identifiants HIGH" width="820">

<sub>Exécutions réelles : <code>guard</code> valide <code>[email protected]</code>, puis bloque un échantillon inspiré de la compromission de <code>@solana/web3.js</code> en 2024.</sub>

</div>

## Points clés

- **Zéro dépendance à l'exécution** — Node pur, s'exécute entièrement sur votre machine (~25 ms d'analyse statique).
- **Les analyses normales n'exécutent jamais le code du paquet** — l'archive est lue comme des octets en quarantaine.
- **Verdicts déterministes et sourcés** — chaque constat nomme le fichier et les preuves ; aucun LLM dans le chemin du verdict, donc le texte injecté ne peut pas l'influencer.
- **Conçu pour l'ère des agents** — vérifiez les serveurs MCP avant la connexion, contrôlez les installations effectuées par un agent et ré-auditez le trafic MCP en direct.
- **Calibré et protégé contre les régressions** — zéro faux blocage heuristique sur les 1000 paquets les plus téléchargés, appliqué en CI.

> **[1. Démarrage rapide](#quick-start)** · [2. Ce qu'il analyse et détecte](#what-it-scans--detects) · [3. Verdicts](#verdicts) · [4. Utilisation](#usage) · [5. Intégrations](#integrations) · [6. Comparaison](#how-it-compares) · [7. Documentation](#documentation)

## Pourquoi

Les assistants de codage IA installent des paquets et se connectent à des serveurs MCP à la vitesse
de la machine, souvent sans qu'un humain lise le code. Sonatype a identifié **plus de
454 600 nouveaux paquets open-source malveillants dans les écosystèmes surveillés en
2025**, dont plus de 99 % sur npm
([Sonatype](https://www.sonatype.com/state-of-the-software-supply-chain/2026/open-source-malware)).
`npm audit` se demande *ce paquet a-t-il une CVE connue ?* ; pkgxray se demande aussi *que fait
réellement le code* — avant que quoi que ce soit ne soit installé.

## Démarrage rapide

**1. Analysez un paquet connu comme bénin** (aucune installation de pkgxray nécessaire) :

```bash
npx --yes [email protected] guard npm:[email protected]
```

Il place l'archive en quarantaine et exécute les vérifications statiques et de chaîne
d'approvisionnement — pas de `npm install`, pas de scripts de cycle de vie, aucun code de paquet exécuté.

<details>
<summary>Exemple de sortie</summary>

```text
Decision: SAFE   Grade: A+ (99/100)
No high- or medium-risk indicators were found in the provided evidence.

Notes:
- INFO npm-vs-github-clean — npm tarball matches the linked GitHub repo at the
  published version. (15/16 files match GitHub @4.21.0)
```

</details>

**2. Lisez le verdict :**

| Verdict | Exit | Signification |
|---|---:|---|
| `SAFE` | `0` | Aucun indicateur de risque élevé ou moyen ; la politique par défaut autorise la promotion. |
| `REVIEW` | `3` | Les preuves sont incomplètes ou une capacité privilégiée nécessite un examen humain. |
| `BLOCK` | `2` | Preuves citées de gravité élevée — rejetez ou enquêtez. |

`SAFE` n'est pas une preuve qu'un paquet est inoffensif ; l'analyse statique ne peut pas voir une
charge utile téléchargée uniquement au moment de l'exécution. Voir le [modèle de menace](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/threat-model.md).

**3. Observez un BLOCK sur le fixture inerte fourni :**

```bash
npx --yes [email protected] --file examples/onboarding-malicious.json --format markdown
```

Le fixture est un texte source inerte modélisant une lecture et une exfiltration de clé SSH
fractionnée — **il n'est jamais exécuté**. Il renvoie `BLOCK` (code de sortie `2`) avec le
fichier cité et les preuves.

**4. Ajoutez-le à votre flux de travail** — [rechecks & CI](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/reference.md#monitoring-pkgxray-recheck),
[MCP](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/mcp.md#the-pkgxray-mcp-server), [porte d'installation Hookshot](https://github.com/adamsjack711-ux/pkgxray/blob/main/examples/hookshot).

> **Deux modèles d'exécution.** Les analyses par défaut `guard` et `audit` sont **statiques** —
> le code du paquet n'est jamais exécuté. L'énumération d'un serveur MCP peut le lancer et
> `mcp-proxy` l'exécute derrière une porte ; le
> [`canary`](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/canary-threat-model.md) optionnel est la seule exception délibérée qui
> *exécute* le paquet dans un bac à sable pour confirmer son comportement — il peut confirmer
> la malveillance mais jamais prouver qu'un paquet est sûr. Frontière complète : [SECURITY.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/SECURITY.md#scope).

## Ce qu'il analyse et détecte

**Analyses** — `pkgxray guard npm:name@version`, `github:owner/repo`, un répertoire local,
des lockfiles entiers (`npm`, `yarn`, `pnpm`), des serveurs MCP et des extensions d'agent IA.

**Détections** — vol d'identifiants (y compris les chemins à fragments scindés), récolte des
métadonnées d'instance cloud et des coffres de secrets, injection de prompt, contrebande Unicode,
charges utiles base64 et chargeurs de stade 2, exfiltration, persistance (profil shell,
planificateur OS et workflows CI/CD injectés), droppers auto-supprimants, réplication de ver de
registre (`npm publish` au moment de l'installation), exécution d'arguments calculés obscurcis,
CVE connues (via OSV, avant le téléchargement), divergence des artefacts npm↔GitHub, mises à jour
piégées (`recheck`) et abus de la surface de capacités MCP.

La matrice de couverture complète — et l'angle mort connu du téléchargement ultérieur — se trouve
dans le [modèle de menace](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/threat-model.md) ; un tableau comparatif côte à côte est sur le
[site web](https://pkgxray.ca/#catches).

## Verdicts

| Verdict | Vous devriez |
|---|---|
| `SAFE` | Installer. Seul `safe` sort de la quarantaine par défaut. |
| `REVIEW` | Inspecter la copie en quarantaine avant de la promouvoir. |
| `BLOCK` | Ne pas installer. Chaque constat nomme le fichier et les preuves. |

Les codes de sortie sont stables et adaptés à la CI : **`0`** sûr/autoriser · **`2`** bloquer ·
**`3`** examiner.

## Utilisation

```bash
pkgxray guard npm:[email protected] [--format json]   # vet a package before install
pkgxray mcp --package npm:[email protected] npx some-mcp-server   # vet an MCP server; --recheck catches the rug-pull
pkgxray audit package-lock.json [--deep]               # also: yarn.lock, pnpm-lock.yaml, package.json
pkgxray recheck package-lock.json                      # scheduled: non-zero only on a regression
```

Un `.pkgxray.json` optionnel (lu par toutes les interfaces) règle la politique ; zéro configuration
signifie une sévérité maximale. Les CVE ne peuvent jamais être écartées, chaque assouplissement est
affiché, et une analyse en erreur échoue en mode fermé vers `review`. Schéma et invariants :
[configuration.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/configuration.md) · [`.pkgxray.example.json`](https://github.com/adamsjack711-ux/pkgxray/blob/main/.pkgxray.example.json).

## Intégrations

Un seul moteur derrière chaque point d'entrée. « Fonctionne avec » signifie un guide
d'installation documenté, pas une intégration approuvée par un fournisseur.

| Où | Ce qu'il fait | Guide |
|---|---|---|
| Agents de codage — Codex, Claude Code, Cursor, Windsurf | Contrôle les installations et expose les outils d'audit à l'agent | [coding-agents.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/integrations/coding-agents.md) |
| Clients MCP | Vérifie un serveur avant la connexion ; exécute pkgxray lui-même comme serveur MCP | [mcp.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/mcp.md) |
| GitHub Actions / CI | Fait échouer la build quand une dépendance franchit la politique | [github-actions.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/integrations/github-actions.md) |
| Porte d'installation — Hookshot | Exécute `guard` sur chaque paquet qu'un agent tente d'installer | [examples/hookshot/](https://github.com/adamsjack711-ux/pkgxray/blob/main/examples/hookshot) |
| Porte MCP à l'exécution | Proxifie un serveur MCP en direct et contrôle chaque appel d'outil | [`mcp-proxy`](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/mcp.md#per-call-runtime-gate-pkgxray-mcp-proxy) |
| Surveillance des dépendances | Revérifie les dépendances installées et pré-vérifie les mises à niveau selon un calendrier | [`recheck`](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/reference.md#monitoring-pkgxray-recheck) |

## Comparaison

Exécutez pkgxray *en complément* de `npm audit` / OSV-Scanner, pas à leur place — ils
répondent à *« CVE connue ? »*. Face aux outils du même domaine (vérification comportementale
de la chaîne d'approvisionnement — Socket.dev, OpenSSF Package Analysis, Cisco MCP Scanner), la
comparaison complète des capacités est dans [docs/comparison.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/comparison.md) et sur le
[site web](https://pkgxray.ca/#comparison).

## Preuves

La **calibration zéro faux blocage heuristique sur les 1000 paquets les plus
téléchargés** est protégée contre les régressions en CI ([portée & méthodologie](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/benchmark.md)),
et les exécutions publiées se trouvent sur [pkgxray.ca/stats](https://pkgxray.ca/stats). Cette
affirmation est limitée à l'ensemble des plus installés — pas une affirmation de zéro faux blocage sur
tous les paquets.

## Documentation

| Doc | Ce qu'il couvre |
|---|---|
| [architecture.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/architecture.md) · [design.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/design.md) | Pipeline, interfaces, principes |
| [threat-model.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/threat-model.md) | Portée, angles morts, position sur l'injection de prompt |
| [mcp.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/mcp.md) · [mcp-registry.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/mcp-registry.md) | Vérification MCP, proxy à l'exécution, entrée de registre |
| [canary-threat-model.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/canary-threat-model.md) | Le canary comportemental optionnel |
| [configuration.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/configuration.md) · [reference.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/reference.md) | `.pkgxray.json`, politique de sévérité, `recheck`, serveur de cache |
| [benchmark.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/benchmark.md) · [comparison.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/comparison.md) | Calibration et comparaison |
| [compatibility.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/compatibility.md) · [json-schema.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/json-schema.md) | Contrat 1.0, schéma `--format json` |

Commencez par l'[index de la documentation](https://github.com/adamsjack711-ux/pkgxray/blob/main/docs/README.md).

## Contribuer

```bash
npm test                 # zero-dep node --test suite
npm run benchmark        # calibration corpus: precision/recall + 0-false-block gate
npm run validate:website # regenerate + validate the calibration pages
```

Les pull requests sont les bienvenues — lisez [CONTRIBUTING.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/CONTRIBUTING.md) et le
[Code de conduite](https://github.com/adamsjack711-ux/pkgxray/blob/main/CODE_OF_CONDUCT.md). Signalez les vulnérabilités en privé conformément à
[SECURITY.md](https://github.com/adamsjack711-ux/pkgxray/blob/main/SECURITY.md). Les versions sont publiées sur npm avec provenance (attestation
SLSA), conditionnées aux tests, au benchmark de calibration et au garde de chaîne
d'approvisionnement de pkgxray lui-même.

<div align="center">
<sub>Créé par <a href="https://github.com/adamsjack711-ux">Jack Adams-Lovell</a> · <a href="https://github.com/adamsjack711-ux/pkgxray/blob/main/LICENSE">MIT</a> · <a href="https://pkgxray.ca">pkgxray.ca</a></sub>
</div>
Télécharger l’outil