baarse
NAIRI, Native Android Inspection & Risk Intelligence NAIRI is an AI-driven, orchestrated mobile application vulnerability analysis tool.
Core trick
An LLM agent drives decompilation and static-analysis tools over an APK and streams task progress to the dashboard via server-sent events.
Description
NAIRI, Native Android Inspection & Risk Intelligence
NAIRI is an AI-driven, orchestrated mobile application vulnerability analysis tool. It streamlines the process of reverse engineering Android APKs by leveraging large language models (Google Gemini) alongside specialized static and runtime analysis environments.
README excerpt
# NAIRI, Native Android Inspection & Risk Intelligence
**NAIRI** is an AI-driven, orchestrated mobile application vulnerability analysis tool. It streamlines the process of
reverse engineering Android APKs by leveraging large language models (Google Gemini) alongside specialized static and
runtime analysis environments.
## Architecture
NAIRI uses a modernized, full-stack architecture:
- **Frontend (`/frontend`)**: A beautiful, dynamic React Single Page Application (SPA) built with Vite and TypeScript.
It provides a real-time dashboard for uploading APKs, modifying AI prompts, and monitoring analysis tasks via
Server-Sent Events (SSE).
- **Backend (`/backend`)**: A robust orchestration server built in Rust using the complete Axum web framework ecosystem.
It handles state management, SQLite databasing for analysis history, and manages Docker container lifecycles for the
actual analysis tools.
- **Analysis Environments (`/docker`)**: Isolated toolchains containerized for reproducibility and security. Includes:
- `images/static-analysis`: Toolchain containing `apktool`, `ghidra-cli`, and AI integrations.
- `images/runtime-analysis`: Toolchain configured with ADB and active networking utilities for monitoring app
behavior dynamically.
## Quick Start
### Prerequisites
- Node.js (v18+)
- Rust (1.75+)
- Docker
- Gemini API Key
### Start the Backend
```bash
cd backend
# Make sure to run the nairi-server binary from the workspace
cargo run -p nairi-server