Add LDAP Distinguished Name Helper and Credential Audit Context
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled

- Implemented LdapDistinguishedNameHelper for escaping RDN and filter values.
- Created AuthorityCredentialAuditContext and IAuthorityCredentialAuditContextAccessor for managing credential audit context.
- Developed StandardCredentialAuditLogger with tests for success, failure, and lockout events.
- Introduced AuthorityAuditSink for persisting audit records with structured logging.
- Added CryptoPro related classes for certificate resolution and signing operations.
This commit is contained in:
master
2025-11-09 12:21:38 +02:00
parent ba4c935182
commit 75c2bcafce
385 changed files with 7354 additions and 7344 deletions

View File

@@ -0,0 +1,18 @@
<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='720'>
<rect width='1200' height='720' fill='#0f172a'/>
<rect x='20' y='20' width='560' height='680' fill='none' stroke='#38bdf8' stroke-width='3'/>
<rect x='620' y='20' width='560' height='680' fill='none' stroke='#34d399' stroke-width='3'/>
<text x='60' y='70' font-family='monospace' font-size='30' fill='#f8fafc'>Plan Inspector</text>
<text x='60' y='110' font-family='monospace' font-size='20' fill='#e2e8f0'>Cache key: A1B2C3D4 · Generated: 2025-11-09T14:03Z</text>
<text x='60' y='140' font-family='monospace' font-size='20' fill='#e2e8f0'>Plan from cache ✔ · Prompt tokens:128 · Completion:64</text>
<text x='60' y='190' font-family='monospace' font-size='20' fill='#a5b4fc'>Structured chunks:</text>
<text x='80' y='220' font-family='monospace' font-size='20' fill='#e2e8f0'>[1] doc-1:0001 Section: Summary</text>
<text x='80' y='250' font-family='monospace' font-size='20' fill='#e2e8f0'>[2] doc-1:0002 Section: Remediation</text>
<text x='60' y='300' font-family='monospace' font-size='20' fill='#a5b4fc'>SBOM counts: versions=2 · paths=2 · env(prod=true, stage=false)</text>
<text x='60' y='350' font-family='monospace' font-size='20' fill='#facc15'>Guardrail status: WARN · Violations: citation_missing</text>
<text x='60' y='380' font-family='monospace' font-size='18' fill='#f87171'>Fallback reason: remote_timeout</text>
<text x='660' y='70' font-family='monospace' font-size='30' fill='#bbf7d0'>Sanitized Prompt & Response</text>
<text x='660' y='120' font-family='monospace' font-size='20' fill='#e2e8f0'>Sanitized prompt:</text>
<text x='680' y='150' font-family='monospace' font-size='18' fill='#cbd5f5'>{task:Summary,context:...}</text>
<text x='660' y='200' font-family='monospace' font-size='20' fill='#e2e8f0'>Inference response (remote.qwen.preview):</text>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,12 @@
<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='720'>
<rect width='1200' height='720' fill='#0f172a'/>
<rect x='20' y='20' width='1160' height='680' fill='none' stroke='#38bdf8' stroke-width='3'/>
<text x='60' y='80' font-family='monospace' font-size='32' fill='#f8fafc'>Advisory AI — Findings List View</text>
<text x='60' y='130' font-family='monospace' font-size='22' fill='#e2e8f0'>Workspace: Sovereign-West · Profile: default · Filters: task=Summary, policy=policy-42</text>
<text x='60' y='170' font-family='monospace' font-size='20' fill='#94a3b8'>──────────────────────────────────────────────────────────────────────────────</text>
<text x='60' y='210' font-family='monospace' font-size='24' fill='#fca5a5'>[Summary] CVE-2024-1020 Verdict: BLOCK Cached plan ✔</text>
<text x='80' y='245' font-family='monospace' font-size='20' fill='#e2e8f0'>Citations: [1] Vendor CSAF [2] VEX Lens · Guardrail: Clean · Inference: remote.qwen.preview</text>
<text x='60' y='300' font-family='monospace' font-size='24' fill='#facc15'>[Conflict] GHSA-2024-1234 Verdict: WARN Guardrail ⚠</text>
<text x='80' y='335' font-family='monospace' font-size='20' fill='#e2e8f0'>Blocked phrase count: 2 · Needs operator review · Copy-as-ticket available</text>
<text x='60' y='390' font-family='monospace' font-size='22' fill='#a5b4fc'>Remote inference model: remote.qwen.preview · Prompt tokens:128 · Completion tokens:64</text>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB