The client
A consultancy that sells expert judgement
A cybersecurity consultancy running risk assessments and GRC programmes for enterprise clients. Its value is a senior consultant looking at an infrastructure and seeing how an attacker would get through it — and what that would cost the business.
Too much of that consultant’s week, though, went into the paperwork around the insight rather than the insight itself.
The challenge
Mapping attack paths by hand, engagement after engagement
Every engagement meant tracing attack paths through a client’s infrastructure by hand, scoring the impact, and cross-checking each finding against several frameworks. The same analysis was rebuilt from scratch for every client, and its quality depended on who did it.
The surface area
The hours went on mapping and cross-referencing — exactly the work that does not need a senior consultant, done by senior consultants.
Constraints
What we had to design around
- Expert judgementA risk assessment carries the consultancy’s name. The system could draft the paths, the scores and the control mapping, but a consultant had to be able to check every step and sign it off.
- FrameworksISO 27001, NIST CSF, GDPR and NIS2 overlap without lining up. One control can satisfy three of them; one attack vector can touch five. A keyword search over the standards misses those connections.
- Two languagesEngagements run in two languages, and the same concept carries different terms in each. The answer had to be the same whichever language the question came in.
- Data residencySome clients accept a cloud model. Others do not let infrastructure details leave their premises. The same copilot had to run either way, with the same quality.
- Existing toolsConsultants already work in GRC tooling. The assistance had to reach them there through an API, not only in a new window.
Our approach
Put the frameworks in a graph, then give each job an agent
Attack path analysis is a question about connections. This asset exposes that service, which an attacker can reach from there, which breaks this control, which three frameworks care about. Flat documents and a vector index lose that chain.
So the foundation is a semantic knowledge graph: frameworks, methodologies, attack paths and policies, with their relationships made explicit. On top sit specialist agents, each owning one part of the consultant’s workflow, and a triage agent that decides which of them a question needs.
The solution
Five layers, from a question to a signed-off assessment
- Copilot interface — A bilingual web interface built in Gradio for back-and-forth work with the assistant, and a REST API that brings the same answers into existing GRC tools.
- Triage agent — Reads what the consultant is asking — a path, an impact, a control gap — and orchestrates the specialists that own it. A response generator assembles one assessment from whichever agents ran. Built on Agno.
- Advisory agents — Risk analysis maps attack paths and vectors. Impact assessment scores them on the consultancy’s own criteria. Compliance mapping ties each finding to framework controls. Recommendation support suggests mitigations. Each works through shared tools for context understanding, data retrieval, GraphRAG search and reasoning.
- Semantic knowledge graph — Attack paths, frameworks, methodologies and client policies as one graph, with terminology mapped across both languages. A query becomes a sub-graph — KNN and hybrid search, then the relevant documents — so every answer arrives with its context.
- Deployment and background operations — Azure OpenAI in the cloud or Mistral on-premise, chosen per client. Caching, guardrails and a feedback log run underneath every request.

Responsible by design
Four rules for agents near a client’s risk register
Sign-off
The agents draft; the consultant decides.
Paths, scores and mitigations arrive as a draft assessment. Nothing reaches a client report without a consultant reviewing it.
Ground
Answers come from the graph, not the model’s memory.
Every agent reads the same knowledge graph of frameworks, attack paths and policies. A control reference traces back to the standard it came from.
Method
The methodology is followed, not paraphrased.
Risk-methodology steps are encoded in the graph, so every assessment moves through the same stages in the same order, whoever runs it.
Contain
Client data stays where the client wants it.
Where infrastructure details cannot leave the building, the whole copilot runs on-premise. Guardrails filter every request either way.
The first rule shapes the rest. The copilot does not assess risk on its own. It gives a consultant a grounded first draft, so their judgement goes on the parts that need it.
Results
What changed for the consultants
- 60–70% less attack path analysis time — paths, impact scores and control mapping now arrive as a draft, so the consultant’s time goes on review and on the client conversation.
- 85% correlation with expert risk assessments, measured against the consultancy’s own subject-matter experts on the same scenarios.
- Manual GRC work down from 25–40% to 10–15% of consultant time, while keeping expert-level accuracy and compliance.
- 50% higher consultant productivity through consistent analysis quality — a junior consultant’s assessment follows the same method as a senior’s.
- Risk-methodology compliance automated, in both working languages, in the cloud or on-premise.
Consultants stopped rebuilding the same analysis for every client and started spending their time on what the analysis means.
Beyond the numbers
What else changes
The consultancy’s method stops living in people’s heads and starts living in the graph. A new consultant runs an assessment the same way the most senior one would, and a new framework is something to add to the graph, not a reason to retrain the team.
And because the copilot runs on-premise as well as in the cloud, the clients with the strictest data rules — often the ones that need the analysis most — are no longer the ones left out.
If your consultants spend more time mapping than advising
The first question is which parts of an assessment repeat from client to client. That is answerable from a handful of past engagements, before anything gets built.