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
artemis — Agent d'automatisation Android en langage naturel qui pilote de vrais appareils via ADB, capture Logcat et des captures d'écran, et expose un serveur MCP pour les IDE d'IA et les pipelines de tests CI. | Kitploit
Outils/GitHubGitHub/google/artemis
Sécurité AndroidUtilitaires GénérauxAnalyse Dynamique (Sandboxing)Pentesting d'Applications MobilesScripting et AutomatisationSécurité MobileUtilitaires et FrameworksSécurité de l'IA
GitHubgoogle/artemis

artemis

Agent d'automatisation Android en langage naturel qui pilote de vrais appareils via ADB, capture Logcat et des captures d'écran, et expose un serveur MCP pour les IDE d'IA et les pipelines de tests CI.

6.9k62814il y a 6 joursVé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
Voir le dépôt

ARTEMIS Banner

Permettez aux assistants IA et aux suites de tests d'utiliser de vrais téléphones comme un humain.

English • 中文文档 • Workflow Showcase • Quick Start • MCP for IDEs • Benchmarks • Discord Community

Python 3.12+ License: Apache-2.0 MCP Native Multi-Model AndroidWorld SOTA

Artemis in Action
Démo en direct : configurer des itinéraires dans Google Maps et calculer les durées totales, puis ouvrir YouTube pour lire une chanson de Coldplay.

Points clés

  • Automatisation multi-applications : exécute des workflows de test et des tâches quotidiennes sur Android à partir d'instructions en langage naturel.
  • Ciblage multimodal : utilise les indices d'éléments lorsqu'ils sont disponibles, avec des solutions de repli par coordonnées et localisation visuelle pour les interfaces personnalisées.
  • Diagnostics dans l'IDE : l'intégration du Model Context Protocol (MCP) permet à Antigravity, Claude Code et Windsurf de piloter des appareils de test et de collecter la sortie Logcat et des captures d'écran.
  • Exécution Flash : une boucle réactive d'observation et d'action avec des résumés d'historique asynchrones, généralement 3 à 5 s par étape.
  • Exploration Pro : vérifie les cibles avant chaque action individuelle et renvoie les actions bloquées à l'Operator pour récupération. Prend en charge les tests exploratoires et de stabilité de longue durée.
  • Résultats AndroidWorld : 99 %+ de tâches accomplies sur le benchmark AndroidWorld de Google Research (plus de 100 tâches multi-étapes).

Antigravity × ARTEMIS : workflow de test autonome

Antigravity utilise ARTEMIS via MCP pour transformer une demande de test en un plan, une exécution sur appareil et un rapport de diagnostic :

Démarrage rapide

Assurez-vous qu'un appareil Android (avec le débogage USB activé) ou un émulateur est connecté. Le script de démarrage en un clic va automatiquement :

  • Installer les chaînes d'outils système : détecter et installer automatiquement les dépendances ADB, scrcpy, FFmpeg et Python (uv).
  • Monter le serveur MCP global et les règles d'agent IA : proposer d'installer automatiquement les configurations MCP globales et le Artemis Mobile Testing Mindset (rules.md) dans vos IDE IA (Antigravity, Cursor, Claude Code, Codex, Windsurf, VS Code, Cline/Roo, OpenClaw).

macOS et Linux

root@kitploit:~
# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git && cd artemis

# 2. One-click launch
./start.sh

Windows PowerShell

root@kitploit:~
# 1. Clone repo & navigate to directory
git clone https://github.com/google/artemis.git
cd artemis

# 2. One-click launch
.\start.bat

PowerShell ne recherche pas le répertoire courant pour les scripts exécutables par défaut, utilisez donc .\start.bat sans barre oblique finale. Dans l'invite de commandes (CMD), utilisez plutôt start.bat.

Astuce : ouvre http://localhost:8000 dans votre navigateur par défaut avec un assistant de connexion d'appareil, une mise en miroir d'écran en direct, un bac à sable de prompts et des replays d'exécution. Vous pouvez aussi exécuter directement depuis la CLI : uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash.

Configuration MCP pour Codex / Antigravity / Claude Code / Windsurf (cliquez pour développer)

ARTEMIS inclut un serveur Model Context Protocol (MCP) natif. Connectez votre téléphone réel directement dans les IDE IA :

1. Installation automatique en un clic (recommandée)

L'exécution de ./start.sh (macOS/Linux) ou .\start.bat (Windows PowerShell) vous proposera de configurer le MCP global et les règles de test pour les IDE détectés (ou vous pouvez installer/mettre à jour manuellement à tout moment avec les commandes ci-dessous) :

root@kitploit:~
# Auto-install MCP server & global rules for Antigravity / Jetski:
uv run artemis mcp --install antigravity

# Or install for all supported AI IDEs (including Codex):
uv run artemis mcp --install all

Astuce : vous pouvez aussi configurer MCP de manière interactive lors de la première installation via uv run artemis init. Astuce pro : si vous souhaitez utiliser la commande artemis globalement sans uv run dans n'importe quel répertoire, exécutez uv tool install -e . une fois à la racine du projet.

Intégration du SDK Python (cliquez pour développer)

Installez le client sans dépendance d'exécution sur la machine de développement. ADB, les agents, les modèles et le traitement d'images restent sur l'hôte de l'appareil :

root@kitploit:~
uv add "artemis-client @ git+https://github.com/google/artemis.git#subdirectory=packages/artemis-client"
root@kitploit:~
import asyncio
from artemis_client import ArtemisClient


async def main():
    client = ArtemisClient(
        "http://artemis-host:8000",
        device_serial="emulator-5554",  # optional: target specific device serial
        default_profile="flash",  # "flash" (fast reactive) or "pro" (deep reasoning)
    )

    result = await client.run(
        "Open System Settings, go to 'Battery', verify battery percentage is displayed, and check for any crash dialogs.",
    )

    assert result.succeeded, f"Test failed: {result.error or result.status}"
    print(f"✅ Test Passed! Device: {result.device_serial} | Trace ID: {result.trace_id}")


if __name__ == "__main__":
    asyncio.run(main())

Modes d'utilisation

Artemis Web Console
Aperçu de la console : ① Sélecteur de vue (Accueil / Espace de travail) · ② Modèle et replay (statut Flash/Pro et replay vidéo) · ③ Flux d'agent en direct (perception des actions, coordonnées cibles et résultats structurés) · ④ Dock de prompts (envoi en langage naturel) · ⑤ File de tâches et tableau de bord (cycle de vie et historique)

  • Console de test visuelle web (uv run artemis ui) : projection d'écran en temps réel et panneau interactif, prenant en charge l'envoi de tests en langage naturel, la télémétrie de raisonnement en direct, les trajectoires d'action et le replay d'exécution ; gérez le cycle de vie du serveur à tout moment depuis n'importe quel terminal avec uv run artemis restart, uv run artemis stop et uv run artemis status ;
  • Serveur MCP : connecte Antigravity, Claude Code, Windsurf et d'autres clients MCP à de vrais appareils pour la reproduction de bugs et l'exécution de tests ;
  • CLI développeur (uv run artemis run) : exécution directe en terminal pour les cas de test automatisés, l'inspection exploratoire de stabilité ou les benchmarks AndroidWorld avec une sortie terminal structurée haute fidélité ;
  • SDK Python : s'intègre comme une bibliothèque Python standard dans les frameworks de test automatisé existants (par exemple pytest) ou les pipelines CI/CD avec des sorties structurées Pydantic fortement typées et prise en charge des assertions.

Ce qu'ARTEMIS installe sur votre téléphone

La première tâche sur un appareil installe l'Artemis Accessibility Helper, un petit service d'accessibilité qui lit la disposition de l'écran sans prendre la connexion UiAutomation. Les outils utilisant UiAutomation peuvent supprimer l'helper sauf s'ils activent FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES. Vous verrez une notification réduite « Artemis test helper is running » et une nouvelle entrée sous Paramètres > Accessibilité ; les deux correspondent à cet helper. Il écoute uniquement sur le téléphone lui-même et n'envoie rien ailleurs.

  • Le préinstaller (évite le délai d'environ 3 s lors de la première tâche) : uv run artemis helper install
  • L'inspecter : uv run artemis helper status / uv run artemis doctor
  • Le supprimer à tout moment : uv run artemis helper uninstall
  • Utiliser UIAutomator2 à la place : ARTEMIS_HIERARCHY_BACKEND=uiautomator dans .env
  • Empêcher l'installation automatique : ARTEMIS_HELPER_AUTO_INSTALL=false dans .env

Si l'helper échoue en cours de tâche, ARTEMIS se rabat sur UIAutomator2 et l'indique dans la chronologie de la tâche, dans le statut mobile_manage_task et dans le rapport final.

Benchmarks : AndroidWorld (SOTA 99 %+)

Artemis a atteint un taux de réussite de 99 %+ sur AndroidWorld, le benchmark de Google Research couvrant plus de 20 applications et plus de 100 tâches multi-étapes.

AndroidWorld Benchmark Comparison

Architecture d'ARTEMIS

  • Vérifications pré-exécution et rafales d'actions : Pro vérifie la cible par rapport à l'arbre d'interface en direct et aux pixels avant de déclencher une action individuelle. Les rafales d'actions gèrent les contrôles transitoires sans attendre un autre tour de modèle.
  • Localisation des éléments : combine les hiérarchies d'accessibilité et l'OCR avec des modèles visuels pour les interfaces personnalisées Canvas, Compose et Flutter.
  • Compression d'historique partagée : Flash et Pro remplacent les anciennes captures d'écran par des résumés visuels et compressent les étapes terminées en blocs d'historique consultables. Des seuils de contexte contrôlent le moment où les tours bruts sont remplacés.

ARTEMIS System Architecture Diagram

Profils d'exécution : Flash vs Pro

ARTEMIS prend en charge deux profils d'exécution adaptés à différents besoins d'automatisation :

  • Profil Flash (--profile flash) : boucle réactive rapide et économe en tokens (~3–5 s par étape) : un modèle observe l'écran en direct, réfléchit et agit, sans orchestration de graphe. Idéal pour les tâches d'interface routinières et déterministes. La boucle est illimitée par défaut (agent.flash.max_turns, 0 = illimité) car l'historique est compressé plutôt que plafonné : Flash partage le registre de transcription de session Pro (horloge T+mm:ss relative à la session, captures d'écran repliées en résumés visuels, étapes plus anciennes regroupées en ères et rappelables à la demande via search_history / replay_steps) et peut interroger l'enregistrement de session via video_analyzer. L'interface transitoire (barres de contrôle à disparition automatique, toasts) est gérée en enchaînant les taps dans un seul click_sequence. Limitations : pas de plan de tâche ni de notes, pas de filet de sécurité pré-exécution, pas de vérification de point de contrôle ni de rapport final, et pas de shell ADB.
  • Profil Pro (--profile pro) : un workflow de planification et de vérification (~15–40 s par étape), construit comme un graphe multi-agents. Un Planner maintient un plan de tâche Markdown vivant avec des jalons et des éléments de vérification verify / ; l' l'exécute avec l'ensemble complet d'outils (ancrage Explorer dont le niveau / / est un paramètre utilisateur par profil — / dans ou — jamais choisi par l'agent ; notes, rappel d'historique, analyse vidéo, diagnostics ADB). Chaque action individuelle passe par un pré-exécution (XML d'abord, repli sur les pixels), tandis que les multi-actions s'enchaînent pour battre la latence des tours sur l'interface transitoire. Une action bloquée ou échouée ouvre un qui reste dans le contexte de l'Operator jusqu'à ce qu'une action ultérieure réussisse, de sorte que la récupération est gérée par l'Operator lui-même sans agent de réparation séparé. Un en lecture seule vérifie les points de contrôle du plan et exécute une revue finale de sortie par rapport à l'objectif initial ( : / (par défaut) / / ), et les modifications de jalons du plan font l'objet d'une revue consultative. Gère les workflows à long horizon de plus de 100 étapes, la surveillance et un rapport écrit facultatif.

Feuille de route

  • Intégration Android Studio : plugin IDE natif et intégration de workflow pour permettre le débogage dans l'éditeur, l'enregistrement de tests et le contrôle automatisé d'appareils directement dans Android Studio.
  • Extension à la plateforme iOS : étendre la perception multimodale et l'automatisation mobile aux appareils et simulateurs iOS.
  • VLM légers embarqués : exécution locale avec des modèles de vision edge légers pour une automatisation à faible latence et respectueuse de la vie privée.
  • Interaction vocale duplex en temps réel : envoi de tâches piloté par la voix avec contrôle conversationnel en temps réel et gestion des interruptions.

Communauté et contribution

Les contributions sont chaleureusement bienvenues !

  • Mettez une étoile au dépôt pour suivre les mises à jour et les versions
  • Rejoignez la communauté Discord pour les discussions techniques
  • Ouvrez une Issue ou soumettez une Pull Request

Licence

Ce projet est sous licence Apache License 2.0.

Ce projet inclut du code source développé par Minitap, Inc..

Télécharger l’outil
1. Saisie du prompt (envoi de la tâche)
Décrivez votre scénario de test et vos métriques cibles dans Antigravity

Étape 1 : saisie du prompt dans Antigravity
2. Génération du plan de test
Formule un plan de test étape par étape et une architecture à valider

Étape 2 : génération du plan de test
3. Exécution autonome du test
Pilote un appareil réel, navigue dans l'interface et profile les performances

Étape 3 : exécution autonome du test
4. Rapport final
Fournit des conclusions d'audit structurées, des tableaux de métriques et des jeux de données brutes

Étape 4 : rapport final

2. Configuration manuelle (facultative)

Si vous préférez configurer manuellement, exécutez uv run artemis mcp --generate-config <client> (par exemple, codex ou antigravity) pour générer l'extrait TOML ou JSON approprié. Remplacez /path/to/artemis par le chemin réel de votre dépôt et pointez command vers l'exécutable Python de votre .venv :

  • Codex (~/.codex/config.toml) :
root@kitploit:~
[mcp_servers.artemis]
command = "/path/to/artemis/.venv/bin/python"
args = ["-m", "mcp_server"]
cwd = "/path/to/artemis"

[mcp_servers.artemis.env]
PYTHONUNBUFFERED = "1"
PYTHONPATH = "/path/to/artemis"
  • Antigravity (~/.gemini/jetski/mcp_config.json) :
root@kitploit:~
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis",
      "env": {
        "PYTHONUNBUFFERED": "1"
      },
      "tools": {
        "mobile_run_task": { "eager": true },
        "mobile_manage_task": { "eager": true },
        "mobile_get_device_state": { "eager": true },
        "mobile_inspect_trace": { "eager": true },
        "mobile_diagnose": { "eager": true }
      }
    }
  }
}
  • Claude Desktop (claude_desktop_config.json) :
root@kitploit:~
{
  "mcpServers": {
    "artemis": {
      "command": "/path/to/artemis/.venv/bin/python",
      "args": ["-m", "mcp_server"],
      "cwd": "/path/to/artemis"
    }
  }
}

3. Monter les règles comportementales pour les agents IA (fortement recommandé)

Pour garantir que votre assistant de codage IA agisse avec la rigueur d'un ingénieur de test mobile senior et n'invente jamais d'interactions d'interface, nous fournissons un fichier de règles dédié à l'état d'esprit de test à mcp_server/rules.md (couvrant l'exploration active avant le codage, la stratégie de routage Flash vs Pro, la compensation de latence et de timing, et le modèle de localisation « Dynamic-First, Coordinate-Fallback »).

Vous pouvez monter ou copier mcp_server/rules.md dans la configuration des règles de votre IDE IA :

  • Antigravity : ajoutez le contenu de rules.md à vos Workspace Rules, paramètres Global Rules ou instructions d'agent.
  • Claude Code : exécutez artemis mcp --install claude pour installer les règles dans ~/.claude/rules/artemis.md (installez à un seul emplacement — Claude Code charge à la fois ~/.claude/CLAUDE.md et ~/.claude/rules/*.md, donc dupliquer les règles gaspille du contexte).
  • Cursor : copiez le contenu dans .cursorrules ou créez un fichier de règles à .cursor/rules/artemis.mdc.
  • Codex : ajoutez le contenu à ~/.codex/AGENTS.md (ou au AGENTS.override.md actif).
  • Windsurf / OpenClaw : ajoutez les règles à vos règles d'espace de travail ou prompts système globaux.

Pour plus de détails sur l'état d'esprit de test et l'architecture MCP, consultez le README du serveur MCP.

4. Promptez votre téléphone dans le chat de l'IDE

Dans Codex, Antigravity ou Claude Code, promptez simplement :

« Compile les derniers changements en APK, installe-le sur l'appareil connecté, ouvre l'écran de connexion avec un compte de test, vérifie s'il y a des popups inattendus après la connexion, et renvoie des captures d'écran de la page finale. »

assert
Operator
flash
pro
ultra
pro.explorer.mode
flash.explorer_mode
config/artemis.jsonc
--explorer-pro-mode
Safety Net
rafales d'actions rapides
incident d'exécution
Checker
--verification-level
off
final
checkpoints
strict
[Loop:continuous]