Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
agent-scan — Scanner de sécurité pour agents IA, serveurs MCP et compétences d'agents. | Kitploit
Outils/GitHubGitHub/snyk/agent-scan
Scanners de VulnérabilitésAnalyse Dynamique (Sandboxing)Analyse de CodeDétection de SecretsSécurité de la Chaîne LogistiqueSécurité de l'IA
GitHubsnyk/agent-scan

agent-scan

Scanner de sécurité pour agents IA, serveurs MCP et compétences d'agents.

Voir le dépôt
2.9k258il y a 1 jourVérifié par Kitploit

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

Snyk Agent Scan

Découvrez et analysez les composants agents installés sur votre machine pour détecter les injections de prompts
et les vulnérabilités (y compris les agents, les serveurs MCP et les compétences).

Remarque : la sortie CLI est expérimentale et susceptible de changer

Agent Scan v0.5.x (prévu pour dépréciation)

La sortie brute de cette CLI — y compris les codes de problème, les noms de champs, les libellés de sévérité et la structure de réponse — est expérimentale et peut changer sans préavis entre les versions. Nous déconseillons de créer des workflows de production qui dépendent de champs de sortie ou de codes de problème spécifiques de la CLI.

Agent Scan v0.6 et versions ultérieures

La sortie brute de cette CLI — y compris les noms des indicateurs de risque, les scores, les noms de champs et la structure de réponse — est expérimentale et peut changer sans préavis entre les versions. Nous déconseillons de créer des workflows de production qui dépendent de champs de sortie ou de noms de risque spécifiques de la CLI.

Si vous êtes un client enterprise utilisant Snyk pour gérer le risque de sécurité des agents à grande échelle, la sortie CLI peut ne pas refléter ce qui est envoyé et affiché dans la plateforme Evo. L'intégration, la découverte et l'évaluation des risques sous-jacentes qui alimentent les déploiements enterprise sont stables et prises en charge — tout changement sera communiqué conformément aux pratiques produit standard de Snyk. Contactez votre équipe de compte pour obtenir des conseils de déploiement.

NOUVEAU Lisez notre rapport technique sur les menaces émergentes de l'écosystème des compétences d'agents publié avec Agent Scan 0.4, qui ajoute la prise en charge de l'analyse des compétences d'agents.

snyk-agent-scan snyk-agent-scan license snyk-agent-scan python version requirements

Sortie d'Agent Scan v0.5.x

[!WARNING] Agent Scan v0.5.x utilise une sortie basée sur les codes de problème. Cette ligne de CLI est prévue pour la dépréciation.

agent-scan-pretty

Sortie d'Agent Scan v0.6 et versions ultérieures

Rapport Agent Scan v0.6 et versions ultérieures montrant les risques scorés des serveurs MCP et des compétences

Agent Scan vous aide à découvrir tous vos composants agents installés (harnesses, serveurs MCP et compétences) et les analyse pour détecter les menaces courantes comme les injections de prompts, la gestion de données sensibles ou les charges utiles de malware cachées dans le langage naturel. Ignorez l'analyse des compétences en utilisant --no-skills.

Avertissement de sécurité

⚠️ IMPORTANT : l'analyse des configurations MCP exécutera les commandes qui y sont définies.

Lorsqu'Agent Scan analyse un fichier de configuration MCP, il démarre les serveurs MCP stdio en exécutant les commandes et arguments spécifiés dans la configuration. Cela est nécessaire pour récupérer les descriptions des outils et effectuer l'analyse de sécurité.

Recommandations :

  • Exécutez les analyses dans un environnement sandbox (conteneur Docker, VM ou environnement jetable) lors de l'évaluation de configurations MCP non fiables ou tierces
  • Examinez attentivement l'invite de consentement lors des analyses interactives ; elle affiche la commande et les arguments exacts qui seront exécutés pour chaque serveur
  • Utilisez --dangerously-run-mcp-servers uniquement dans des environnements de confiance où vous avez vérifié toutes les commandes de serveurs MCP

Par défaut, Agent Scan exige un consentement explicite de l'utilisateur (o/n) avant de démarrer chaque serveur MCP stdio lors des exécutions interactives. Cela vous donne le contrôle sur ce qui est exécuté sur votre système.

Démarrage rapide

Choisissez l'une des deux façons d'exécuter Agent Scan :

  1. Exécutez le package Python avec uvx en suivant les instructions ci-dessous.
  2. Téléchargez un binaire autonome pour votre plateforme depuis GitHub Releases. Les versions incluent également le SBOM, les sommes de contrôle, les sommes de contrôle signées et les archives du code source.

Avant d'utiliser l'une ou l'autre option :

  1. Inscrivez-vous sur Snyk et obtenez un jeton API depuis https://app.snyk.io/account (API Token → KEY → cliquer pour afficher).
  2. Définissez le jeton comme variable d'environnement avant d'exécuter toute analyse : ```bash export SNYK_TOKEN=your-api-token-here
    root@kitploit:~

Exécuter avec uvx

Assurez-vous d'avoir uv installé sur votre système. Choisissez les instructions correspondant à votre version de CLI.

Agent Scan v0.5.x

Les exemples épinglent la version v0.5.17 comme version concrète de la série v0.5.x :```bash

Scan the whole machine

uvx [email protected]

Scan a specific MCP configuration

uvx [email protected] ~/.vscode/mcp.json

Scan a single agent skill

uvx [email protected] ~/path/to/my/SKILL.md

Scan all Claude skills

uvx [email protected] ~/.claude/skills

root@kitploit:~
> [!WARNING]
> v0.5.x utilise la sortie issue-code et l'API d'analyse `2025-09-02`. Cette ligne CLI est prévue pour être dépréciée.

#### Agent Scan v0.6 et versions ultérieures```bash
# Scan the whole machine
uvx snyk-agent-scan@latest

# Scan a specific MCP configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json

# Scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md

# Scan all Claude skills
uvx snyk-agent-scan@latest ~/.claude/skills

v0.6 et versions ultérieures utilisent la sortie basée sur les risques et l'API d'analyse 2026-07-10.

Les deux versions analysent les serveurs MCP, les outils, les prompts, les ressources et les skills, et découvrent automatiquement les configurations d'agents prises en charge telles que Claude Code/Desktop, Cursor, Gemini CLI et Windsurf.

Exécuter avec un binaire autonome

Téléchargez le binaire correspondant à votre système d'exploitation et à votre architecture depuis la dernière version GitHub. La page de version fournit également un SBOM (sbom-<version>.json), des fichiers de somme de contrôle et des archives de code source générées par GitHub. Consultez Vérification des binaires autonomes pour vérifier votre téléchargement.

Exemple d'exécution d'Agent Scan v0.5.x

Démo des vulnérabilités de sécurité d'Agent Scan v0.5

Pour la sortie basée sur les risques de v0.6, voir l'image v0.6 en haut de ce README.

Points forts

  • Découverte automatique des configurations MCP, des outils d'agent et des skills
  • Analyse de Claude, Cursor, Windsurf, Gemini CLI, Amp, Amazon Q et d'autres agents.

Agent Scan v0.5.x

  • Détecte 15+ risques de sécurité distincts dans les serveurs MCP et les skills d'agents :
    • MCP: Prompt Injection, Tool Poisoning, Tool Shadowing, Toxic Flows
    • Skills: Prompt Injection, Malware Payloads, Untrusted Content, Credential Handling, Hardcoded Secrets

Agent Scan v0.6 et versions ultérieures

  • Détecte 15 risques de sécurité distincts dans les serveurs MCP et les skills d'agents :
    • MCP: injection de prompt, mots dangereux, contenu non fiable, données privées et capacités destructives
    • Skills: injection de prompt, téléchargements suspects, code malveillant, gestion des identifiants, détection de secrets, et plus encore

Agents et capacités pris en charge

Agent Scan découvre automatiquement les agents et leurs capacités (serveurs MCP ou skills) lorsque leurs chemins d'installation existent. Le tableau ci-dessous indique sur quels systèmes d'exploitation chaque agent est analysé.

  • ✓ : au moins un chemin est défini pour cette capacité.
  • ✗ : l'agent est listé pour ce système d'exploitation mais n'a aucun chemin pour cette capacité.
  • — : cet agent n'est pas inclus pour ce système d'exploitation.
  • Skills : les skills peuvent être ignorés en utilisant --no-skills

Couverture de détection par portée

Le tableau ci-dessus montre sur quels systèmes d'exploitation chaque agent est analysé. Celui-ci détaille la détection par portée de configuration et type de composant (skills vs serveurs MCP), combinés sur tous les systèmes d'exploitation. « Servers » signifie serveurs MCP.

Les quatre portées :

  • Système — configuration à l'échelle de la machine / gérée par l'administrateur / d'entreprise qui s'applique à tous les utilisateurs (par ex. managed-mcp.json, fichiers sous /etc, /Library/Application Support ou ProgramData).
  • Utilisateur — configuration du répertoire personnel de l'utilisateur (s'applique à tous ses projets).
  • Projet / espace de travail — configuration limitée à un projet ou un espace de travail ouvert.
  • Extension / plugin — composants inclus dans les extensions ou plugins installés.

Légende : ✓ détecté · ✗ l'agent prend en charge cette fonctionnalité mais Agent Scan ne l'analyse pas encore · N/A l'agent ne possède aucun composant de ce type à cette portée.

† OpenClaw n'a pas d'énumération de projets ouverts : ses skills de projet/espace de travail ne sont trouvés qu'à l'emplacement fixe ~/.openclaw/workspace/skills

‡ Amp stocke les skills de projet/espace de travail dans .agents/skills (et le chemin de compatibilité .claude/skills) ; seul ~/.config/agents/skills au niveau utilisateur est détecté aujourd'hui, donc les skills au niveau projet sont pris en charge mais pas encore analysés.

Vérification des binaires autonomes

Nous utilisons la signature GPG sur le fichier de sommes de contrôle des versions pour garantir l'intégrité et l'authenticité de la distribution.

Guide de vérification étape par étape

  1. Téléchargez les artefacts de la version : Téléchargez le binaire de votre plateforme (par ex., agent-scan-<version>-<os>-<arch>) et le fichier de sommes de contrôle signé (sha256sums.txt.asc) depuis la page GitHub Releases dans le même répertoire.

  2. Vérifiez la signature GPG du fichier de sommes de contrôle : Téléchargez la clé publique GPG dans le même répertoire, puis exécutez : ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc

    root@kitploit:~

Recherchez une ligne dans la sortie indiquant gpg: Good signature from "Snyk Limited <[email protected]>".

  1. Vérifiez l'intégrité du binaire : Après avoir confirmé que la signature est valide, vérifiez que votre binaire téléchargé correspond au checksum :
    • Sur Linux (ou macOS avec coreutils) :
      root@kitploit:~
      grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c -
      
    • Sur macOS (avec shasum par défaut) :
      root@kitploit:~
      grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
      
    Cela affichera agent-scan-<version>-<os>-<arch>: OK.

Capacités du scanner

Agent Scan v0.5.x

Agent Scan est un outil de sécurité qui analyse et inspecte la chaîne d'approvisionnement des composants d'agents sur votre machine. Il recherche les vulnérabilités de sécurité courantes telles que les injections de prompt, l'empoisonnement d'outils, les flux toxiques ou les vulnérabilités dans les compétences des agents.

Agent Scan v0.6 et versions ultérieures

Agent Scan rapporte des indicateurs de risque notés pour des menaces telles que l'injection de prompt, l'exposition à des données non fiables ou privées, les capacités destructrices et les compétences d'agents malveillantes.

Agent Scan fonctionne selon deux modes principaux qui peuvent être utilisés conjointement ou séparément :

  1. Mode Scan : La commande CLI snyk-agent-scan analyse la machine actuelle à la recherche d'agents et de composants d'agents tels que les compétences et les serveurs MCP. À la fin, il génère un rapport complet que l'utilisateur peut consulter.

  2. Mode arrière-plan (MDM). Agent Scan analyse la machine à intervalles réguliers en arrière-plan et transmet les résultats à une instance Snyk Evo. Cette fonctionnalité peut être utilisée par les équipes de sécurité pour surveiller la chaîne d'approvisionnement des agents à l'échelle de l'entreprise depuis un emplacement central. Pour la configurer, veuillez nous contacter.

Comment ça fonctionne

Analyse

Agent Scan parcourt les fichiers de configuration de votre agent local pour trouver les agents, les compétences et les serveurs MCP. Pour MCP, il se connecte aux serveurs et récupère les descriptions des outils.

Consentement interactif pour les serveurs MCP

⚠️ Note de sécurité : L'analyse d'une configuration MCP exécute les commandes qui y sont définies. Examinez toujours ce qui sera exécuté avant d'approuver.

Par défaut, Agent Scan demande le consentement de l'utilisateur avant de démarrer chaque serveur MCP stdio lors des exécutions interactives. Ce flux de consentement :

  • Affiche le nom du serveur, la commande et les variables d'environnement (masquées) qui seront exécutés
  • Vous permet d'approuver ou de refuser chaque serveur individuellement
  • Empêche l'exécution de serveurs potentiellement non fiables sans votre autorisation explicite
  • Enregistre les serveurs refusés avec une erreur user_declined (ils ne sont jamais démarrés)

Bonnes pratiques :

  • Examinez attentivement la commande et les arguments avant d'approuver
  • Lorsque vous analysez des configurations MCP non fiables ou tierces, exécutez Agent Scan dans un bac à sable (Docker, VM ou environnement jetable)
  • Refusez tout serveur présentant des commandes inconnues ou suspectes

Pour les environnements non interactifs (par exemple, les pipelines CI/CD), vous devez utiliser l'option --dangerously-run-mcp-servers pour contourner l'invite de consentement et démarrer automatiquement tous les serveurs. N'utilisez cette option que dans des environnements de confiance où toutes les commandes des serveurs MCP ont été vérifiées.

Analyse et validation

Agent Scan valide les composants découverts à l'aide de vérifications locales et de l'API Agent Scan. Il envoie les informations sur les composants nécessaires à l'analyse, notamment les détails de l'application d'agent, les configurations et signatures des serveurs MCP, les noms et descriptions des outils, ainsi que le contenu des compétences. Les secrets présents dans les valeurs de configuration et le texte sont masqués avant la transmission.

En utilisant Agent Scan, vous acceptez les conditions d'utilisation d'Agent Scan de Snyk.

Agent Scan ne stocke ni ne journalise aucune donnée d'utilisation, c'est-à-dire le contenu et les résultats de vos appels d'outils MCP.

Paramètres de la CLI

La référence complète des options se trouve dans docs/cli-reference.md. La plupart des commandes et options sont partagées entre la v0.5.x et la v0.6 et les versions ultérieures.

Commandes partagées```text

snyk-agent-scan scan [CONFIG_FILE...] Scan MCP servers and skills (default) snyk-agent-scan inspect [CONFIG_FILE...] Inspect components without analysis snyk-agent-scan help Display help

root@kitploit:~
### Options partagées par les deux lignes de versions

Ces options existent à la fois dans v0.5.x et v0.6 et versions ultérieures. Leur applicabilité aux commandes est détaillée dans la référence complète du CLI.```text
--storage-file FILE               Path to store scan state (default: ~/.mcp-scan)
--analysis-url URL                Analysis endpoint; the default API version depends on the CLI version
--verification-H HEADER           Additional analysis request header (repeatable)
--mcp-oauth-tokens-path PATH      OAuth tokens for protected remote MCP servers
--verbose                         Enable detailed logging
--print-errors                    Show error details and tracebacks
--print-full-descriptions         Show full entity descriptions without truncation
--json                            Emit JSON; the response schema depends on the CLI version
--skip-ssl-verify                 Disable TLS certificate verification
--skills / --no-skills            Include skills (default) or skip them
--scan-all-users                  Scan all readable user home directories
--ci                              Exit non-zero when findings or operational failures remain
--server-timeout SECONDS          MCP connection timeout (default: 10)
--suppress-mcpserver-io BOOL      Suppress stdio MCP server stderr
--dangerously-run-mcp-servers     Skip consent and start configured stdio MCP servers
--control-server URL              Upload destination (repeatable)
--control-server-H HEADER         Header for the current control-server block
--control-identifier ID           Identifier for the current control-server block
--no-bootstrap                    Accepted compatibility no-op; does not change behavior
--checks-per-server NUM           Accepted compatibility no-op; does not change behavior

Agent Scan v0.5.x

[!WARNING] v0.5.x est prévue pour être dépréciée. Les exemples épinglent v0.5.17 comme version concrète de la série v0.5.x.```text --analysis-url URL Defaults to the 2025-09-02 analysis API --ignore-issues-codes CODES Comma-separated E/W security finding codes and X failure codes to ignore in CI

root@kitploit:~
v0.5.x émet des constatations avec codes d'issue et du JSON `ScanPathResult` indexé par chemin. Voir la [référence CLI v0.5.x](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md#agent-scan-v05x) et la [référence des codes d'issue](https://github.com/snyk/agent-scan/blob/HEAD/docs/issue-codes.md).

### Agent Scan v0.6 et versions ultérieures```text
--analysis-url URL                Defaults to the 2026-07-10 analysis API
--ignore-risks NAMES              Comma-separated risk names to omit from output and CI evaluation
--ignore-failure-codes CODES      Comma-separated X codes to omit from CI evaluation
--show-full-discovery             List every MCP entity and skill file instead of compact scan summaries

v0.6 et versions ultérieures émettent des indicateurs de risque scorés et le JSON scan_path_responses. La sortie d'analyse lisible par l'humain est compacte par défaut ; --show-full-discovery la développe sans modifier la sortie JSON ni celle de inspect. Voir la référence CLI v0.6-and-later, la référence des risques et la référence des codes d'échec.

Exemples```bash

Scan all known MCP configs and agent skills

snyk-agent-scan

Scan a specific config file or skill

snyk-agent-scan ~/custom/config.json snyk-agent-scan ~/path/to/my/SKILL.md

Inspect without security analysis

snyk-agent-scan inspect

CI mode

snyk-agent-scan --ci --dangerously-run-mcp-servers

root@kitploit:~
## Démo

Ce dépôt contient un serveur MCP vulnérable qui illustre les résultats de sécurité du Model Context Protocol signalés par Agent Scan.

Comment démontrer les résultats de sécurité MCP ?

1. Clonez ce dépôt
2. Créez un fichier de configuration `mcp.json` dans le répertoire racine du dépôt git cloné avec le contenu suivant :

``````jsonc
{
  "mcpServers": {
    "Demo MCP Server": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp", "run", "demoserver/server.py"],
    },
  },
}
  1. Exécutez la version appropriée :

    • Agent Scan v0.5.x (sortie issue-code) : uvx --python 3.13 [email protected] scan mcp.json
    • Agent Scan v0.6 et versions ultérieures (sortie basée sur les risques) : uvx --python 3.13 snyk-agent-scan@latest scan mcp.json

Remarque : si vous placez le chemin du fichier de configuration mcp.json ailleurs, ajustez le chemin args dans la configuration du serveur MCP pour refléter le chemin vers le serveur MCP (demoserver/server.py) ainsi que la commande uvx qui exécute Agent Scan avec le chemin correct vers mcp.json.

Agent Scan est fermé aux contributions

Agent Scan n'accepte actuellement pas de contributions externes.

Nous accueillons volontiers les suggestions, rapports de bugs ou demandes de fonctionnalités sous forme d'issues GitHub.

Configuration de développement

Pour exécuter Agent Scan à partir des sources, suivez ces étapes :```bash uv run pip install -e . uv run -m src.agent_scan.cli

root@kitploit:~
## Inclure les résultats d'Agent Scan dans votre propre projet / registre

Si vous souhaitez inclure les résultats d'Agent Scan dans votre propre projet ou registre, veuillez [nous contacter](https://evo.ai.snyk.io/#contact-us). Des API dédiées existent à cet effet. L'utilisation de l'API standard d'Agent Scan pour des analyses à grande échelle est considérée comme un abus et entraînera le blocage de votre compte.

## Documentation

- [Index de la documentation](https://github.com/snyk/agent-scan/blob/HEAD/docs/README.md) — Documentation versionnée pour les deux gammes de CLI.
- [Référence CLI](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md) — Commandes, drapeaux, options et variables d'environnement pour v0.5.x et v0.6 et versions ultérieures.
- [Analyse](https://github.com/snyk/agent-scan/blob/HEAD/docs/scanning.md) — Comportement et exemples d'analyse pour v0.5.x et v0.6 et versions ultérieures.
- [Sortie JSON](https://github.com/snyk/agent-scan/blob/HEAD/docs/json-output.md) — La sortie indexée par chemin v0.5.x et le schéma de réponse v0.6.
- [Codes d'anomalie](https://github.com/snyk/agent-scan/blob/HEAD/docs/issue-codes.md) — Référence des constats de sécurité `E*` et `W*` pour v0.5.x.
- [Référence des risques](https://github.com/snyk/agent-scan/blob/HEAD/docs/risks.md) — Indicateurs de risque de sécurité, scores et champs de preuve pour v0.6.
- [Codes d'échec](https://github.com/snyk/agent-scan/blob/HEAD/docs/failure-codes.md) — Échecs opérationnels de découverte, d'inspection et d'analyse pour v0.6.

## Pour aller plus loin

- [Présentation de MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [Notification de sécurité MCP : attaques d'empoisonnement d'outils](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp MCP exploité](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [Injection de prompt MCP](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Analyse de flux toxique](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Rapport de compétences](https://github.com/snyk/agent-scan/blob/HEAD/.github/reports/skills-report.pdf)

## Journal des modifications

Voir [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/HEAD/CHANGELOG.md).
Télécharger l’outil
AgentmacOS MCPmacOS SkillsLinux MCPLinux SkillsWindows MCPWindows Skills
Windsurf✓✓✓✓✓✓
Cursor✓✓✓✓✓✓
VS Code✓✓✓✓✓✓
Claude Desktop✓✗——✓✗
Claude Code✓✓✓✓✓✓
Gemini CLI✓✓✓✓✓✓
OpenClaw✗✓✗✓✗✓
Amp✗✓✗✓✗✓
Kiro✓✓✓✓✓✓
OpenCode✓✓✓✓✓✓
Antigravity✓✓✓✓✓✓
Codex✓✓✓✓——
Amazon Q✓✗✓✗✓ (WSL)✗
AgentSystème
skills
Système
servers
Utilisateur
skills
Utilisateur
servers
Projet / WS
skills
Projet / WS
servers
Ext / plugin
skills
Ext / plugin
servers
Windsurf✓N/A✓✓✓✓✓✓
CursorN/AN/A✓✓✓✓✓✓
VS CodeN/AN/A✓✓✓✓✓✓
Claude DesktopN/AN/A✗✓N/AN/AN/A✗
Claude Code✗✓✓✓✓✓✓✓
Gemini CLIN/A✗✓✓✗✗✗✗
OpenClawN/AN/A✓✗✓ †N/A✗✗
AmpN/A✗✓✗✗ ‡✗✗✗
KiroN/AN/A✓✓✓✓✓✓
OpenCode✓✓✓✓✓✓N/AN/A
AntigravityN/AN/A✓✓✓✓✓✓
Codex✓✓✓✓✓✓✓✓
Amazon QN/AN/AN/A✓N/A✗N/AN/A