Jaster is a pentest multi-agent runtime built around a shared task tree and MCP tools.
以2018年fakebook题目为例,该题目为偏困难题目,本项目使用deepseek-v4-pro模型进行渗透,总耗时30min以内:
由于时间较长,不作视频演示,解题过程详情可查看data runs下的日志。
planreads the full task tree, bootstrap curl result, latest discoveries, and reflection history, then patches the task tree and dispatches task keys.- Multiple
strategyworkers run in parallel, each bound to one task node. Every strategy can plan multiple concurrent MCP tool calls per round and loops for up to 10 rounds. reflectionreviews all strategy outputs, updates node status (in_progress,completed,failed), and gives the planner guidance for the next cycle.submissionreviews merged flag candidates and decides whether to submit.
- Task-tree orchestration instead of the old attack-tree / builder pipeline
- MCP-only execution path for strategy actions
- File-backed run storage with task tree snapshots, discoveries, and observations
- Lightweight web UI for live task-tree viewing
- OpenAI-compatible chat completion client
python -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
jaster run --target http://example.comThe repository includes a root mcp.json pointing at python -u -m jaster.mcp.mcp_service.
OPENAI_API_KEYis required for the planner/strategy/reflection LLM and for MCP tools such asexpert_analysisOPENAI_BASE_URLdefaults tohttps://api.openai.com/v1OPENAI_MODELdefaults togpt-4o-miniJASTER_MCP_CONFIGcan override the default./mcp.json
.envin the project root is loaded automatically by the CLIJASTER_DATA_DIRdefaults to./dataJASTER_MAX_ROUNDSdefaults to12JASTER_STRATEGY_MAX_ROUNDSdefaults to10JASTER_STRATEGY_RECENT_OBSERVATION_LIMITdefaults to8JASTER_PARALLEL_TASK_WORKERSdefaults to4JASTER_PARALLEL_ACTION_WORKERSdefaults to4JASTER_MCP_TOOL_TIMEOUTdefaults to180JASTER_HTTP_TIMEOUTdefaults to120JASTER_LLM_MAX_RETRIESdefaults to3JASTER_PHASE_MAX_RETRIESdefaults to3JASTER_LLM_HTTP_MAX_RETRIESdefaults to3JASTER_LLM_HTTP_RETRY_BASE_DELAYdefaults to1.0JASTER_LLM_HTTP_RETRY_MAX_DELAYdefaults to8.0JASTER_LLM_HTTP_RETRY_JITTERdefaults to0.2JASTER_LLM_RATE_LIMIT_MAX_REQUESTSdefaults to2JASTER_LLM_RATE_LIMIT_WINDOW_SECONDSdefaults to1.0