Skip to main content

analysis

Run Quark Engine analysis on an APK file — produces summary, detail, JSON, web, call graph, behavior map, and classification reports.

来源信息

仓库
ev-flow/quark-engine
最近来源活动
2026年7月25日 11:02
检测到的 SKILL.md 语言
英语
星标
1,733
分支
220

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
analysis
description
Run Quark Engine analysis on an APK file — produces summary, detail, JSON, web, call graph, behavior map, and classification reports.
version
1.0.0
allowed-tools
Bash
# Run Quark Analysis Use this skill when the user wants to analyze an APK file with Quark Engine. The skill maps the user's analysis request to the correct `quark` CLI flags, runs the command, and presents the output. ## Step 0 — Verify Quark is installed ```bash quark --version ``` If this fails, stop and tell the user: "Quark not found — run `pip install quark-engine` and try again." ## Step 1 — Identify the APK Ask the user for the APK path if not provided. Confirm it exists: ```bash test -f "<apk_path>" && echo "OK" || echo "NOT FOUND" ``` If not found, stop and ask the user to provide the correct path. ## Step 2 — Identify the analysis type Map the user's request to one of the modes below. ### Report modes | User intent | Flags to pass to run_analysis.sh | Output | |-------------|----------------------------------|--------| | Summary overview | `-s` | Terminal table of matched rules and confidence | | Detail per rule | `-d` | Verbose output for each rule | | JSON report | `-o report.json` | JSON file in the current directory | | Web report | `-s -w report.html` | HTML file — **`-s` required**, silently produces nothing without it | | Call graph (PNG) | `-s -g png` | PNG saved in `call_graph_image/` — **`-s` required** | | Call graph (JSON) | `-s -g json` | JSON saved in `call_graph_image/` — **`-s` required** | | Behavior map | `-l max` | Report grouped by behavior label | | Rules classification | `-c` | Rules grouped by category | ### Modifiers (combine with a report mode) | Need | Flag | Note | |------|------|------| | Use a specific rules directory | `-r <rules_dir>` | Must be a **directory**, not a single JSON file | | Run a single rule file | `-s <rule.json>` | Replaces the default rules directory | | Filter by confidence | `-t <value>` | Allowed values: `20`, `40`, `60`, `80`, `100` | ### Utility modes (work without rules installed) | User intent | Flags | Output | |-------------|-------|--------| | List all classes and methods | `-i all` | Every class, method, and descriptor in the APK | | List Android API calls only | `-i native` | Only native Android SDK methods | | List declared permissions | `-p` | Permissions declared in the manifest | ### `-C` comparison mode — requires user interaction `-C` opens an interactive terminal dialog that the user must control. Do **not** try to invoke it automatically. Instead, tell the user: > Label comparison requires interactive input. Run this directly in your terminal: > ``` > quark -a "<apk_path>" -C > ``` ## Step 3 — Check rules directory (report modes only) Skip this step for utility modes (`-i`, `-p`). ```bash test -d ~/.quark-engine/quark-rules/rules && echo "OK" || echo "MISSING" ``` If missing: "Rules directory not found — run `freshquark` to download the latest rules, then try again." ## Step 4 — Run the analysis Before running, print the exact command for the user: ``` Running: quark -a "<apk_path>" <flags> ``` Then run it: ```bash bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "<apk_path>" <flags> ``` **Examples:** ```bash # Summary report bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -s # JSON report to file bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -o report.json # Call graph PNG (requires -s) bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -s -g png # List native APIs only (no rules needed) bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -i native # Summary with a custom rules directory bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -s -r ~/my-rules/ # Run a single rule file bash "${CLAUDE_PLUGIN_ROOT}/skills/analysis/scripts/run_analysis.sh" "sample.apk" -s path/to/rule.json ``` ## Step 5 — Present output and offer next steps Print the raw quark output verbatim first — do not summarize or paraphrase it. Example of what this looks like for a summary report: ``` [!] WARNING: Low Risk [*] Total Score: 1.9 +------------+------------------------------------------------------------+------------+ | Filename | Rule | Confidence | +------------+------------------------------------------------------------+------------+ | 00002.json | Open the camera and take picture | 100% | | 00010.json | Read sensitive data(SMS, CALLLOG) and put it into JSON | 100% | ... +------------+------------------------------------------------------------+------------+ ``` After the raw output, provide analysis and offer next steps: - **(a)** Re-run with a different format or a specific rule file - **(b)** Generate a new Quark rule for a suspicious behavior seen in the output — use the **`/quark:rule-gen`** skill - **(c)** Export to JSON: re-run with `-o report.json` for downstream processing - **(d)** View call graph: re-run with `-s -g png` to visualize which methods triggered a rule
在 GitHub 查看