원클릭으로
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 직업 분류 기준
| 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.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.