Evaluates the ability to detect cyber attack campaigns by aligning threat intelligence query graphs with system provenance graphs derived from kernel audit logs. It probes structural pattern matching, causal dependency reasoning, and robustness against malware mutations and benign system noise. Use when the user wants to benchmark on DARPA TC Dataset, Public Malware Reports, or asks about evaluating this task. Reports alignment score.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill poirot-alignment-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Poirot Alignment Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-poirot-alignment-eval)More formats (shields.io, HTML) on the badges page.
---
name: poirot-alignment-eval
description: Evaluates the ability to detect cyber attack campaigns by aligning threat intelligence query graphs with system provenance graphs derived from kernel audit logs. It probes structural pattern matching, causal dependency reasoning, and robustness against malware mutations and benign system noise. Use when the user wants to benchmark on DARPA TC Dataset, Public Malware Reports, or asks about evaluating this task. Reports alignment score.
metadata:
skill_kind: dataset_eval
source_arxiv: 1910.00056
bibtex_key: miljerdi2019poirot
confidence: high
---
# poirot-alignment-eval
> POIROT: Aligning Attack Behavior with Kernel Audit Records for Cyber Threat Hunting — Miljerdi et al. (2019) (arXiv:1910.00056, 2019)
## What this evaluates
Evaluates the ability to detect cyber attack campaigns by aligning threat intelligence query graphs with system provenance graphs derived from kernel audit logs. It probes structural pattern matching, causal dependency reasoning, and robustness against malware mutations and benign system noise.
## Datasets
- **DARPA TC Dataset** — total ?; splits: test (-1)
- **Public Malware Reports** — total ?; splits: test (-1)
## Metrics
- `alignment score` **(primary)** — range: [0, 1]
- A float value representing the goodness of structural alignment between a threat intelligence query graph and a system provenance graph. Computed iteratively by matching nodes and edges based on causal dependencies and information flows, normalized to [0, 1].
## Input / output format
**Input**: A query graph ($G_q$) extracted from threat intelligence reports describing attack behavior, and a provenance graph ($G_p$) constructed from kernel audit logs of the target system.
**Output**: An alignment score (float) and the set of matched nodes/edges between $G_q$ and $G_p$. Detection is confirmed if the score exceeds a threshold of 1/3.
## Scoring recipe
```python
def compute_alignment_score(query_graph, provenance_graph):
# Iteratively align nodes starting from seeds with fewest candidates
alignment = iterative_node_alignment(query_graph, provenance_graph)
# Calculate structural overlap score based on matched nodes/edges
score = calculate_graph_overlap_score(alignment)
return score
# Detection triggers if score >= 1/3
if compute_alignment_score(G_q, G_p) >= 1/3:
flag_as_detected()
```
## Common pitfalls
- The threshold $C_{thr}=3$ corresponds to a score threshold of 1/3, not 3.
- The metric measures structural graph alignment, not simple IOC (hash/process name) matching.
- Scores < 1.0 do not necessarily mean failure; they reflect minor causal dependency differences between reports and actual execution.
## Evidence (verbatim from paper)
> In each iteration, an alignment is constructed, and its alignment score is compared with the threshold value, which is set to $\frac{1}{3}$. ... After finding alignment with a score bypassing the threshold, we manually analyzed all the matched attack subgraphs to confirm that they were correctly pinpointing the actual attacks present in the query graphs.
## Citation
```bibtex
@misc{miljerdi2019poirot,
title={POIROT: Aligning Attack Behavior with Kernel Audit Records for Cyber Threat Hunting},
author={Miljerdi et al. (2019)},
year={2019},
note={arXiv:1910.00056}
}
```
- arXiv: 1910.00056
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!