An intelligent multi-agent OSINT (Open Source Intelligence) system for automated GitHub repository security scanning, trend analysis, and compliance auditing powered by LangGraph and DeepAgents.
- Technical Trend Analysis: Analyze Star growth trends across organization repositories, identify high-potential projects
- Security Risk Analysis: Scan dependency vulnerabilities (CVE) via OSV.dev API, detect sensitive information leakage
- Community Health Analysis: Analyze Issue/PR response times, contributor activity metrics
- Compliance Audit: Check license compliance, scan copyright declarations
- Real-time Alerts: Webhook integration with DingTalk, Feishu, Slack, Discord, Email
- Tiered Scanning: L1 (Light/Daily) → L2 (Standard/Triggered) → L3 (Deep/Weekly)
┌─────────────────────────────────────────────────────────────────┐
│ Frontend Console (Vue3) │
│ Chat Interface │ Dashboard │ Alerts │ Config │
└─────────────────────────────────┬───────────────────────────────┘
│ SSE Streaming
┌─────────────────────────────────▼───────────────────────────────┐
│ FastAPI Service Layer │
│ Streaming Chat │ Scan Trigger │ Status Query │
└─────────────────────────────────┬───────────────────────────────┘
│
┌─────────────────────────────────▼───────────────────────────────┐
│ DeepAgents Main Agent │
│ ┌────────────┬────────────┬────────────┬────────────┐ │
│ │ Trend │ Security │ Community │ Compliance │ │
│ │ Analyzer │ Analyzer │ Analyzer │ Analyzer │ │
│ └─────┬──────┴─────┬──────┴─────┬──────┴─────┬──────┘ │
└─────────────────────────────────┬───────────────────────────────┘
│ OpenSandbox Execution
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ GitHub API │ │ OSV.dev API │ │ Alert │
│ │ │ (CVE Data) │ │ Channels │
└─────────────┘ └─────────────┘ └─────────────┘
| Component | Technology |
|---|---|
| Backend | FastAPI, Python 3.12+ |
| Frontend | Vue3, Vite |
| AI Framework | DeepAgents, LangChain, LangGraph |
| Database | MySQL 8.0+, Redis |
| Sandbox | OpenSandbox |
| Scheduling | APScheduler |
- Python 3.12+
- Node.js 18+
- Docker (required for OpenSandbox)
- MySQL 8.0+
- Redis (optional, for distributed deployments)
- GitHub Personal Access Token
git clone https://github.com/mumu-develop/github-osint-agent.git
cd github-osint-agent# Copy example config
cp .env.example .env
# Edit .env with your credentials:
# - GITHUB_TOKEN: Your GitHub Personal Access Token
# - MYSQL_*: MySQL connection settings
# - LLM_*: LLM API settings (OpenAI/Anthropic)OpenSandbox is a secure code execution sandbox required for the agent to run analysis tasks.
# Start OpenSandbox server via Docker Compose
docker-compose up -d
# Verify the service is running
docker ps | grep opensandbox
curl http://localhost:8080/healthThe OpenSandbox server will be available at http://localhost:8080.
Note: Ensure Docker is running before starting the sandbox. On macOS with Colima:
colima start
docker-compose up -dIf you don't have a local MySQL instance:
# Option 1: Use Docker
docker run -d \
--name osint-mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root123 \
-e MYSQL_DATABASE=osint \
mysql:8.0
# Option 2: Use existing MySQL server
# Just configure the connection in .env file# Python dependencies
pip install -r requirements.txt
# Frontend dependencies
cd frontend
npm install
cd ..# Start backend server
python run.py
# Start frontend (development mode)
cd frontend
npm run devNote: Database tables are automatically created when the backend starts. No manual initialization required.
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
| Endpoint | Method | Description |
|---|---|---|
/api/osint/chat/stream |
POST | SSE streaming chat interface |
/api/scanner/trigger |
POST | Trigger repository scan |
/api/scanner/status/{run_id} |
GET | Query scan task status |
/api/findings |
GET | List findings with filters |
/api/orgs |
GET/POST | Organization configuration CRUD |
/api/channel |
GET/POST | Alert channel management |
/health |
GET | Health check |
| Type | Frequency | Coverage | LLM Usage |
|---|---|---|---|
| L1 Light | Daily | All repos | None |
| L2 Standard | Triggered | High-risk repos | Moderate |
| L3 Deep | Weekly | Top repos | Full analysis |
| Channel | Region | Configuration |
|---|---|---|
| DingTalk | China | DINGTALK_WEBHOOK, DINGTALK_SECRET |
| Feishu/Lark | China | FEISHU_WEBHOOK |
| Slack | Global | SLACK_WEBHOOK, SLACK_CHANNEL |
| Discord | Global | DISCORD_WEBHOOK |
| Global | SMTP_HOST, SMTP_PORT, EMAIL_TO |
Configure one or multiple channels in .env. CRITICAL and HIGH severity alerts are sent immediately to all configured channels.
The project uses a custom OpenSandbox image with pre-installed Python packages for faster startup.
cd docker
chmod +x build.sh
./build.shThis builds the image: sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/osint/osint-sandbox:v1.0.0
# Login to registry
docker login sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com
# Push the image
docker push sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/osint/osint-sandbox:v1.0.0The sandbox image includes:
- numpy, pandas, matplotlib (data analysis)
- requests, beautifulsoup4 (web scraping)
- scipy, scikit-learn, seaborn (ML/statistics)
- jupyter, ipython (interactive computing)
If you want to use your own registry, modify docker/build.sh:
IMAGE_NAME="your-sandbox"
REGISTRY="your-registry.example.com"github-osint-agent/
├── app/ # Backend application
│ ├── main.py # FastAPI entry point
│ ├── agent.py # DeepAgents main agent
│ ├── scanner/ # Scanning modules
│ ├── tools/ # Agent tools
│ ├── routes/ # API routes
│ ├── database/ # Database operations
│ └── alert/ # Alert notifications
├── frontend/ # Vue3 frontend
│ └── src/
│ ├── components/ # UI components
│ └── styles/ # CSS styles
├── subagents/ # Sub-agent YAML configs
├── skills/ # Skill modules
├── docker/ # Docker configurations
├── scripts/ # Utility scripts
├── tests/ # Test files
├── requirements.txt # Python dependencies
├── docker-compose.yml # Docker Compose config
├── pyproject.toml # Package configuration
├── Makefile # Convenience commands
└── .env.example # Environment template
See CONTRIBUTING.md for details.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- LangGraph - Agent orchestration framework
- OpenSandbox - Secure code execution sandbox
- OSV.dev - Open source vulnerability database