m365expertise MICROSOFT SECURITY EXPERTISE

AdGUARD reports

An audit is only worth what you deliver from it. From a single stored audit, AdGUARD produces 6 different reports — one per audience — in 5 file formats and in both languages. Here is what each one is for, what it contains, and an extract of what it looks like.

6report types
5file formats
176controls reported
FR / ENfrom the same audit

Why several reports rather than one

The steering committee, the administrator who fixes things and the compliance officer are not looking for the same thing in the same audit. A single hundred-page document is read by nobody: the executive cannot find the decision, the administrator cannot find the offending object, the auditor cannot find the framework. AdGUARD therefore keeps one source of truth — the stored audit, with its date, its baseline and its scope — and renders it once per audience. The figures cannot drift between documents: they are computed once, not once per report.

The 6 report types

The type is picked at export time and applies to every requested format. Each report states the exact scope of the audit it comes from: without that, two reports for the same client are not comparable.

Executive report

Management · CISO · security committee

It answers, in one page, the only question a board asks: where do we stand, and is it getting better? The weighted score — a level 1 control counts three times a level 2 one — gives a single figure, comparable between audits and between entities; the change in points since the previous audit says whether the effort paid off. This is the document that releases a budget, not the one that explains how to fix things.

What it contains
  • The weighted compliance score and its change in points
  • The split between compliant, non-compliant, warnings and not evaluated
  • The heaviest non-conformities, written without technical jargon
  • The exact scope: baseline applied, date, controls actually evaluated
Extract
COMPLIANCE SCORE            47 / 100      -3 pts since 3 Jun
Controls evaluated          163 / 176     Baseline “ANSSI”

Compliant 75   Non-compliant 39      Not evaluated 17

WHAT EXPOSES YOU MOST TODAY
 1  An ordinary domain user can become a domain administrator
    in a single hop
 2  6 service accounts carry a password unchanged for more than
    5 years, 2 of them in a privileged group
 3  An inbound trust accepts tickets without SID filtering

Detailed technical report

IT team · administrators · managed service provider

This is the report that makes the audit verifiable. Every control appears with its verdict and, above all, with the objects found: not “non-compliant”, but which accounts, which groups, which resources. The verification command is included, so the administrator can replay the check locally and, if need be, challenge the result. An audit you cannot replay does not get fixed: it gets argued about.

What it contains
  • Every evaluated control, grouped by category, with a stable identifier
  • The verdict and the named list of objects at fault
  • The PowerShell verification command and the link to the official documentation
  • The framework mapping, control by control
Extract
AD-PRIV-009     No service account in the domain administration
                groups
Level 1 · Privileged accounts · NON-COMPLIANT

Objects found (4)
  CONTOSO\svc-sql01       Domain Admins      password unchanged 1,842 d
  CONTOSO\svc-backup      Domain Admins      password unchanged 967 d
  CONTOSO\svc-scan        Account Operators  SPN exposed (kerberoastable)
  … 1 more

Verification   Get-ADGroupMember "Domain Admins" | Get-ADUser -Prop ServicePrincipalName
Reference      cyber.gouv.fr — Active Directory recommendations
Frameworks     ANSSI · CIS · ISO 27001 · NIS2 · DORA · MITRE T1078.002

Prioritized remediation plan

Project manager · run team · client action plan

This is the report you take to the follow-up meeting. Non-conformities are sorted by real severity — level 1 controls first, then by the number of affected objects — rather than in catalog order: whatever would be exploited first comes at the top. In CSV or Excel, each row becomes a ticket; the action plan no longer has to be written, only assigned.

What it contains
  • Non-conformities sorted by priority, not by identifier
  • The action to take, written as an instruction
  • The number of affected objects, which gives the real workload
  • One row per action, ready to import into a ticketing tool
Extract
#   LVL  CONTROL        ACTION                                   OBJECTS
1   L1   AD-PATH-012    Remove the GenericAll right held by        1
                        “Domain Users” over the domain
                        administrators
2   L1   AD-PRIV-009    Move service accounts out of the           4
                        administration groups
3   L1   AD-TRUST-003   Enable SID filtering on the inbound        1
                        trust
   L2   AD-LAPS-002    Extend LAPS to the 38 uncovered hosts     38

Compliance by framework

Compliance · external audit · cyber insurance · NIS2 / DORA

It translates the audit into the auditor's language. The same non-conformity does not weigh the same read through the ANSSI guide, a CIS benchmark or Annex A of ISO 27001; this report gives, framework by framework, how many controls are covered and the compliance rate reached. This is the exhibit you attach to a NIS2 file, an insurer's questionnaire or a client security review. It also gives the ANSSI maturity tier reached out of 5: a tier is only granted if no control in the lower tiers is failing — deliberately strict, which is what makes the figure credible.

What it contains
  • Coverage and compliance rate for every framework: ANSSI, MCSB, MITRE ATT&CK, CIS Windows Server, ISO 27001, NIST, NIS2, DORA
  • The controls behind each rate, so the figure can be justified
  • Controls not evaluated, counted separately — a partially covered framework says so
  • The ANSSI maturity tier reached, and what blocks the next one
Extract
FRAMEWORK                        COVERAGE        COMPLIANT
ANSSI                            176 / 176          43 %
Microsoft Cloud Security Bench.  143 / 176          46 %
MITRE ATT&CK                      81 / 176          38 %
CIS Windows Server                56 / 176          52 %
ISO/IEC 27001 · NIST · NIS2      176 / 176          43 %

ANSSI MATURITY   tier 2 of 5
  Tier 1  102 controls   reached
  Tier 2   27 controls   reached
  Tier 3   32 controls   3 non-compliant

Situation report

Steering committee · quarterly review

This is the recurring report, the one you re-read from one quarter to the next. It does not re-describe the audit: it says what moved since the previous one, at comparable scope — and says so explicitly when the scope changed, otherwise the curve lies. Regressions are listed before fixes: a control that becomes non-compliant again is a drift signal, not a detail.

What it contains
  • The score, the change in points and the trend curve over the period
  • Posture by category, from weakest to strongest
  • What regressed and what was fixed since the previous audit
  • The five priorities of the quarter, taken from the level 1 non-conformities
  • Scope notes: baseline, controls not evaluated, comparison point
Extract
SITUATION AS OF 6 AUG       47 / 100   -3 pts
Compared with the 3 Jun audit · same baseline “ANSSI”

POSTURE BY CATEGORY (weakest first)
  Service accounts           0 %   ██████████
  ACL delegation            12 %   █████████
  Trusts                    15 %   █████████
  Kerberos                     ██████████
  Privileged accounts          █████████

REGRESSED (3)   AD-DEL-004 · AD-KRB-002 · AD-LAPS-001
FIXED (9)       AD-PRIV-012 · AD-CS-006 · AD-GPO-002 · …

Scope: 163 controls evaluated out of 176, 13 not evaluated (documentary).

Attack paths and trusts

Active Directory team · technical management · red team

This is the report that gets remediation approved. It does not say a right is misplaced: it shows the whole chain — which principal holds which right over which object, and in how many hops an ordinary user becomes a domain administrator. Each path is scored severity × breadth: a right held by “Domain Users” does not weigh the same as the same right held by one named account. The dsacls remediation plan is included with every modifying command commented out — the tool is read-only, nothing runs by accident.

What it contains
  • Paths sorted by score, with domain takeovers flagged separately
  • Grouping by target object and by holding principal
  • Group expansion: who really holds the right once memberships are resolved
  • A plain-language glossary of rights (GenericAll, WriteDACL, DCSync, ForceChangePassword…)
  • The trust map, with direction, filtering and the age of each trust secret
  • The commented dsacls plan, plus Graphviz and GraphML exports for yEd or Gephi
Extract
RANK      TARGET  ←  PRINCIPAL  [RIGHT]                       SCORE
CRITICAL  Domain Admins ← Domain Users
          [GenericAll]                    severity 2 × breadth 3 = 6
CRITICAL  AdminSDHolder ← Account Operators
          [WriteDACL]                     severity 2 × breadth 2 = 4
      krbtgt ← CONTOSO\svc-sql01
          [DCSync]                        severity 2 × breadth 1 = 

11 direct paths · 8 principals · 6 critical objects exposed
3 paths start from a principal every domain user belongs to.

# Remediation plan — every modifying command is commented out
$dn = (Get-ADDomain).DistinguishedName
dsacls "$dn" | Select-String "Domain Users"
# dsacls "$dn" /R "CONTOSO\Domain Users"

The 5 formats, and when to use them

The same report can be exported to several formats at once. They do not serve the same purpose: a PDF cannot be sorted, a CSV cannot be signed.

HTML

The web report: one standalone file, no external resource, opens in any browser. This is the one you send by email — the recipient installs nothing, the coloured tables and the diagrams are inside.

PDF

The paginated deliverable: the one that gets signed, archived and attached to a file. Table of contents, headers, page numbers, vector diagrams — this is the version of record.

Excel

The native .xlsx workbook, to sort, filter and annotate. This is where the remediation plan becomes a tracker: add an “owner” column, a “due date” column, and the report turns into the project board.

CSV

The universal import format: semicolon separator, UTF-8 with BOM, opens cleanly in Excel as well as in a ticketing tool or an online spreadsheet.

JSON

The complete structure — summary and controls. This is the integration format: SIEM ingestion, feeding a GRC tool, automated comparison of two audits, machine-readable archiving.

The attack path report additionally embeds two graph formats: Graphviz (.dot) and GraphML, which open in yEd or Gephi to rework the diagram before a presentation.

Where the reports come from

The report is not a separate step: it is the stored audit, rendered. The type and the formats are chosen at export time, and the file is written locally.

The export screen: pick the report type, then the formats (captured before the attack path report was added)
Posture by category, as carried into the situation report
The attack path graph, with its CSV export and its remediation script

Where each report lands in an engagement

A tool-based audit does not produce a document, it produces a sequence. Here is the usual order of an engagement, and the report that goes with it.

Day 0 — Framing
The baseline is frozen: which controls are in scope, which are excluded and why. Scope is written before the audit, not negotiated afterwards.
Day 1 — Audit
The audit runs read-only, then the detailed technical report goes to the IT team the same day — while the findings are still fresh and verifiable.
Day +2 — Management
The executive report, as a PDF: one score, one trend, three risks. This is the document that gets the decision made.
Week 1 — Plan
The remediation plan in Excel: one row per action, sorted by priority. Add an owner and a due date, and the project tracker exists.
Quarterly — Committee
Situation report: score, trend, posture by category, regressions and fixes since the previous committee.
Yearly — Compliance
The framework report, attached to the NIS2 or DORA file, to the insurer's questionnaire or to a large account's security review.

Under your brand, in your language

Every report carries your logo, your name and your issuer details, with the audited client's logo on the cover. The same audit is rendered in French or in English without being re-run. And the export stays a local file: no client data goes through a third-party service — which is often the very condition for auditing a sensitive environment.

Want to see a full report?
We can walk you through the tool's real output on a demonstration environment.
Get in touch →