一键导入
report-generation
Generate a Markdown security report from aggregated DNS exfiltration scores.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a Markdown security report from aggregated DNS exfiltration scores.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Merge Stage 2 DNS analysis scores and calculate final exfiltration verdicts.
Capture live DNS queries with tcpdump for a configurable duration, save the traffic to a PCAP file, and process it through the existing PCAP reader. Use when a user explicitly requests timed live DNS capture from a network interface.
Compute DGA probabilities using a pre-trained RandomForest model.
Score DNS queries for anomalies using the trained embedding similarity model.
Calculate DNS subdomain entropy scores for exfiltration and DGA detection.
Normalize DNS input from PCAP or CSV into one unified JSON dataset.
| name | report-generation |
| description | Generate a Markdown security report from aggregated DNS exfiltration scores. |
Generate a Markdown security report from aggregated DNS exfiltration scores.
Used by report_agent in Stage 3 after orchestrator_agent writes
outputs/<run_timestamp>/scores.json.
generate_report(input_path: str, output_path: str, top_n: int = 10) -> dict
Use this skill after Stage 2 scores have been aggregated into scores.json.
The input must be a JSON array where each record contains the final combined
score and verdict for one DNS query.
| Parameter | Type | Required | Description |
|---|---|---|---|
input_path | str | yes | Path to aggregated scores.json |
output_path | str | yes | Path to write the Markdown report |
top_n | int | no | Number of top records to list |
Each score record should contain:
| Field | Type | Description |
|---|---|---|
query_id | int | Query identifier from Stage 1 |
domain | str | Full DNS domain |
label | str | Ground-truth label if available |
source | str | Data source, such as pcap or csv |
entropy_score | float | Raw entropy score |
dga_score | float | DGA probability |
embed_score | float | Embedding anomaly score |
combined_score | float | Final weighted score |
verdict | str | benign or suspected |
Returns a dict with processing summary:
| Field | Type | Description |
|---|---|---|
total_queries | integer | Number of records in scores.json |
suspected_count | integer | Count where verdict is suspected |
report_file | string | Path where the report was written |
Also writes a Markdown file to output_path.
The generated report includes:
{"error": "file_not_found", ...}{"error": "invalid_json", ...}{"error": "invalid_format", ...}from tools.generate_report import generate_report
result = generate_report(
input_path="outputs/<run_timestamp>/scores.json",
output_path="outputs/<run_timestamp>/exfil_report.md",
top_n=10,
)
print(f"Report written to {result['report_file']}")
orchestrator_agent preserving the source
field from Stage 2 score records.