Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/google/artemis
Sicurezza AndroidUtilità GenericheAnalisi Dinamica (Sandboxing)Pentesting di App MobiliScripting e AutomazioneSicurezza MobileUtilità e FrameworkSicurezza dell'IA
GitHubgoogle/artemis

artemis

Agente di automazione Android in linguaggio naturale che controlla dispositivi reali tramite ADB, cattura Logcat e screenshot ed espone un server MCP per IDE basati su AI e pipeline di test CI.

6.9k628146 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

ARTEMIS Banner

Consenti agli assistenti AI e alle suite di test di usare telefoni reali come farebbe un umano.

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
Demo dal vivo: configura percorsi di guida e calcola le durate totali in Google Maps, poi apri YouTube per riprodurre una canzone dei Coldplay.

Punti Chiave

  • Automazione Cross-App: Esegue flussi di test e attività quotidiane su Android a partire da istruzioni in linguaggio naturale.
  • Targeting Multimodale: Usa gli indici degli elementi quando disponibili, con fallback di localizzazione tramite coordinate e visiva per interfacce personalizzate.
  • Diagnostica nell'IDE: L'integrazione con il Model Context Protocol (MCP) consente a Antigravity, Claude Code e Windsurf di pilotare dispositivi di test e raccogliere output Logcat e screenshot.
  • Esecuzione Flash: Un ciclo reattivo di osservazione e azione con riepiloghi asincroni della cronologia, tipicamente 3–5s per step.
  • Esplorazione Pro: Verifica i target prima delle singole azioni e restituisce le azioni bloccate all'Operator per il recupero. Supporta test esplorativi e di stabilità di lunga durata.
  • Risultati AndroidWorld: 99%+ di completamento delle attività sul benchmark AndroidWorld di Google Research (100+ attività multi-step).

Antigravity × ARTEMIS: Workflow di Testing Autonomo

Antigravity usa ARTEMIS tramite MCP per trasformare una richiesta di test in un piano, esecuzione sul dispositivo e un report diagnostico:

Quick Start

Assicurati che un dispositivo Android (con USB Debugging abilitato) o un emulatore sia connesso. Lo script di avvio one-click eseguirà automaticamente:

  • Installazione dei Toolchain di Sistema: Rileva e installa automaticamente le dipendenze ADB, scrcpy, FFmpeg e Python (uv).
  • Mount del Global MCP Server e delle Regole per gli Agenti AI: Propone di installare automaticamente le configurazioni globali MCP e la Artemis Mobile Testing Mindset (rules.md) nei tuoi IDE AI (Antigravity, Cursor, Claude Code, Codex, Windsurf, VS Code, Cline/Roo, OpenClaw).

macOS e 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 non cerca gli script eseguibili nella directory corrente per impostazione predefinita, quindi usa .\start.bat senza il backslash finale. Nel Prompt dei comandi (CMD), usa invece start.bat.

Suggerimento: Apre http://localhost:8000 nel browser predefinito con una procedura guidata di connessione al dispositivo, mirroring dello schermo in tempo reale, sandbox per i prompt e replay delle esecuzioni. Puoi anche eseguire direttamente da CLI: uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash.

Configurazione MCP per Codex / Antigravity / Claude Code / Windsurf (Clicca per espandere)

ARTEMIS include un server nativo Model Context Protocol (MCP). Collega il tuo telefono reale direttamente negli IDE AI:

1. Installazione Automatica One-Click (Consigliata)

Eseguire ./start.sh (macOS/Linux) o .\start.bat (Windows PowerShell) ti chiederà di configurare MCP globale e le regole di testing per gli IDE rilevati (oppure puoi installare/aggiornare in qualsiasi momento manualmente usando i comandi seguenti):

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

Suggerimento: Puoi anche configurare MCP in modo interattivo durante il setup iniziale tramite uv run artemis init. Pro Tip: Se vuoi usare il comando artemis globalmente senza uv run in qualsiasi directory, esegui uv tool install -e . una volta nella root del progetto.

Integrazione Python SDK (Clicca per espandere)

Installa il client a zero dipendenze runtime sulla macchina di sviluppo. ADB, gli agenti, i modelli e l'elaborazione delle immagini rimangono sull'host del dispositivo:

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())

Modalità d'Uso

Artemis Web Console
Panoramica della Console: ① View Switcher (Home / Workspace) · ② Model & Replay (stato Flash/Pro e replay video) · ③ Live Agent Stream (percezione delle azioni, coordinate target e risultati strutturati) · ④ Prompt Dock (invio in linguaggio naturale) · ⑤ Task Queue & Dashboard (ciclo di vita e cronologia)

  • Console Web di Test Visuale (uv run artemis ui): Proiezione dello schermo in tempo reale e pannello interattivo, con supporto all'invio di test in linguaggio naturale, telemetria del ragionamento live, traiettorie delle azioni e replay delle esecuzioni; gestisci il ciclo di vita del server in qualsiasi momento da qualsiasi terminale usando uv run artemis restart, uv run artemis stop e uv run artemis status;
  • MCP Server: Collega Antigravity, Claude Code, Windsurf e altri client MCP a dispositivi reali per la riproduzione di bug e l'esecuzione di test;
  • CLI per Sviluppatori (uv run artemis run): Esecuzione diretta da terminale per casi di test automatizzati, ispezione esplorativa della stabilità o benchmark AndroidWorld con output strutturato ad alta fedeltà;
  • Python SDK: Si integra come libreria Python standard nei framework di testing automatizzato esistenti (es. pytest) o nelle pipeline CI/CD con output strutturati Pydantic fortemente tipizzati e supporto alle asserzioni.

Cosa Installa ARTEMIS sul Tuo Telefono

La prima attività su un dispositivo installa l'Artemis Accessibility Helper, un piccolo servizio di accessibilità che legge il layout dello schermo senza occupare la connessione UiAutomation. Gli strumenti che usano UiAutomation possono sopprimere l'helper a meno che non abilitino FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES. Vedrai una notifica compressa "Artemis test helper is running" e una nuova voce sotto Impostazioni > Accessibilità; entrambe sono quell'helper. Ascolta solo sul telefono stesso e non invia nulla altrove.

  • Pre-installalo (evita il ritardo di ~3 s alla prima attività): uv run artemis helper install
  • Ispezionalo: uv run artemis helper status / uv run artemis doctor
  • Rimuovilo in qualsiasi momento: uv run artemis helper uninstall
  • Usa UIAutomator2 invece: ARTEMIS_HIERARCHY_BACKEND=uiautomator in .env
  • Impedisci l'installazione automatica: ARTEMIS_HELPER_AUTO_INSTALL=false in .env

Se l'helper dovesse fallire a metà attività, ARTEMIS ripiega su UIAutomator2 e lo segnala nella timeline dell'attività, nello stato di mobile_manage_task e nel report finale.

Benchmark: AndroidWorld (SOTA 99%+)

Artemis ha raggiunto un tasso di completamento del 99%+ su AndroidWorld, il benchmark di Google Research che copre 20+ app e 100+ attività multi-step.

AndroidWorld Benchmark Comparison

Come è Architettato ARTEMIS

  • Controlli Pre-Esecuzione e Action Bursts: Pro verifica il target rispetto all'albero UI live e ai pixel prima di inviare una singola azione. Gli action bursts gestiscono controlli transitori senza attendere un altro turno del modello.
  • Localizzazione degli Elementi: Combina gerarchie di accessibilità e OCR con modelli visivi per interfacce personalizzate Canvas, Compose e Flutter.
  • Compressione della Cronologia Condivisa: Flash e Pro sostituiscono gli screenshot più vecchi con riepiloghi visivi e comprimono gli step completati in chunk di cronologia ricercabili. Le soglie di contesto controllano quando i turni grezzi vengono sostituiti.

ARTEMIS System Architecture Diagram

Profili di Esecuzione: Flash vs. Pro

ARTEMIS supporta due profili di esecuzione pensati per diverse esigenze di automazione:

  • Profilo Flash (--profile flash): Ciclo reattivo veloce ed efficiente in token (~3–5s per step): un modello osserva lo schermo live, ragiona e agisce, senza orchestrazione a grafo. Ideale per attività UI routinarie e deterministiche. Il ciclo è illimitato per impostazione predefinita (agent.flash.max_turns, 0 = illimitato) perché la cronologia viene compressa anziché limitata: Flash condivide il registro della trascrizione di sessione di Pro (orologio relativo alla sessione T+mm:ss, screenshot ripiegati in riepiloghi visivi, step più vecchi raggruppati in ere e richiamabili su richiesta tramite search_history / replay_steps) e può interrogare la registrazione della sessione tramite video_analyzer. La UI transitoria (barre di controllo a dissolvenza automatica, toast) viene gestita concatenando i tap in un unico click_sequence. Limitazioni: Nessun piano di attività o note, nessuna rete di sicurezza pre-esecuzione, nessuna verifica dei checkpoint o report finale, e nessuna shell ADB.
  • Profilo Pro (--profile pro): Un workflow di pianificazione e verifica (~15–40s per step), costruito come grafo multi-agente. Un Planner mantiene un piano di attività Markdown vivo con milestone e voci di controllo verify / assert; l' lo esegue con il set completo di strumenti (grounding dell'Explorer il cui tier / / è un'impostazione utente per profilo — / in o — mai scelto dall'agente; note, richiamo della cronologia, analisi video, diagnostica ADB). Ogni singola azione passa attraverso una pre-esecuzione (XML-first, fallback sui pixel), mentre i multi-azione vengono lanciati consecutivamente per battere la latenza dei turni sulla UI transitoria. Un'azione bloccata o fallita apre un che rimane nel contesto dell'Operator finché un'azione successiva non riesce, così il recupero è gestito dall'Operator stesso senza un agente di riparazione separato. Un in sola lettura verifica i checkpoint del piano ed esegue una revisione finale in uscita rispetto all'obiettivo originale (: / (predefinito) / / ), e le modifiche alle milestone del piano ricevono una revisione consultiva. Gestisce workflow a lungo orizzonte di 100+ step, monitoraggio e un report scritto opzionale.

Roadmap

  • Integrazione con Android Studio: Plugin IDE nativo e integrazione del workflow per abilitare il debug in-editor, la registrazione dei test e il controllo automatizzato del dispositivo direttamente in Android Studio.
  • Espansione alla Piattaforma iOS: Estendere la percezione multimodale e l'automazione mobile a dispositivi e simulatori iOS.
  • VLM Leggeri On-Device: Esecuzione locale con modelli di visione edge leggeri per un'automazione a bassa latenza e privacy-first.
  • Interazione Vocale Duplex in Tempo Reale: Invio di attività guidato dalla voce con controllo conversazionale in tempo reale e gestione delle interruzioni.

Community e Contributi

I contributi sono calorosamente benvenuti!

  • Metti una stella al repo per seguire aggiornamenti e release
  • Unisciti alla Discord Community per discussioni tecniche
  • Apri una Issue o invia una Pull Request

Licenza

Questo progetto è distribuito sotto la Apache License 2.0.

Questo progetto include codice sorgente sviluppato da Minitap, Inc..

Scarica lo strumento
1. Prompt Input (Task Dispatch)
Descrivi il tuo scenario di test e le metriche target in Antigravity

Step 1: Prompt Input in Antigravity
2. Test Plan Generation
Formula un piano di test passo-passo e un'architettura da revisionare

Step 2: Test Plan Generation
3. Autonomous Test Execution
Pilota un dispositivo reale, naviga la UI e profila le prestazioni

Step 3: Autonomous Test Execution
4. Final Report
Fornisce risultati di audit strutturati, tabelle di metriche e dataset grezzi

Step 4: Final Report

2. Configurazione Manuale (Opzionale)

Se preferisci configurare manualmente, esegui uv run artemis mcp --generate-config <client> (ad esempio, codex o antigravity) per ottenere lo snippet TOML o JSON appropriato. Sostituisci /path/to/artemis con il percorso effettivo del tuo repo e punta command all'eseguibile Python del tuo .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. Mount delle Regole Comportamentali per gli Agenti AI (Altamente Consigliato)

Per assicurarti che il tuo assistente di coding AI agisca con il rigore di un senior mobile test engineer e non allucini mai le interazioni UI, forniamo un file dedicato di regole per la mentalità di testing in mcp_server/rules.md (che copre Active Exploration before coding, strategia di routing Flash vs. Pro, compensazione di Latenza e Timing e il pattern di locator "Dynamic-First, Coordinate-Fallback").

Puoi montare o copiare mcp_server/rules.md nella configurazione delle regole del tuo IDE AI:

  • Antigravity: Aggiungi il contenuto di rules.md alle tue Workspace Rules, alle impostazioni Global Rules o alle istruzioni dell'agente.
  • Claude Code: Esegui artemis mcp --install claude per installare le regole in ~/.claude/rules/artemis.md (installa in una sola posizione — Claude Code carica sia ~/.claude/CLAUDE.md sia ~/.claude/rules/*.md, quindi duplicare le regole spreca contesto).
  • Cursor: Copia il contenuto in .cursorrules o crea un file di regole in .cursor/rules/artemis.mdc.
  • Codex: Aggiungi il contenuto in ~/.codex/AGENTS.md (o nell'AGENTS.override.md attivo).
  • Windsurf / OpenClaw: Aggiungi le regole alle regole del workspace o ai system prompt globali.

Per maggiori dettagli sulla mentalità di testing e sull'architettura MCP, consulta il MCP Server README.

4. Prompt del Tuo Telefono nella Chat dell'IDE

In Codex, Antigravity o Claude Code, basta scrivere:

"Build the latest changes into an APK, install it on the connected device, open the login screen with a test account, verify if there are any unexpected popups after login, and return screenshots of the final page."

Operator
flash
pro
ultra
pro.explorer.mode
flash.explorer_mode
config/artemis.jsonc
--explorer-pro-mode
Safety Net
fast-action bursts
execution incident
Checker
--verification-level
off
final
checkpoints
strict
[Loop:continuous]