audit work, fixed StellaOps.sln warnings/errors, fixed tests, sprints work, new advisories

This commit is contained in:
master
2026-01-07 18:49:59 +02:00
parent 04ec098046
commit 608a7f85c0
866 changed files with 56323 additions and 6231 deletions

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Text.Json.Nodes;
using Microsoft.Extensions.Logging;
using StellaOps.Findings.Ledger.Domain;
@@ -66,7 +67,7 @@ public sealed class AirgapImportService
["bundleId"] = input.BundleId,
["mirrorGeneration"] = input.MirrorGeneration,
["merkleRoot"] = input.MerkleRoot,
["timeAnchor"] = input.TimeAnchor.ToUniversalTime().ToString("O"),
["timeAnchor"] = input.TimeAnchor.ToUniversalTime().ToString("O", CultureInfo.InvariantCulture),
["publisher"] = input.Publisher,
["hashAlgorithm"] = input.HashAlgorithm,
["contents"] = new JsonArray(input.Contents.Select(c => (JsonNode)c).ToArray())

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Text.Json.Nodes;
using Microsoft.Extensions.Logging;
using StellaOps.Findings.Ledger.Domain;
@@ -68,7 +69,7 @@ public sealed class AirgapTimelineService
["highDelta"] = impact.HighDelta,
["mediumDelta"] = impact.MediumDelta,
["lowDelta"] = impact.LowDelta,
["timeAnchor"] = input.TimeAnchor.ToString("O"),
["timeAnchor"] = input.TimeAnchor.ToString("O", CultureInfo.InvariantCulture),
["sealedMode"] = input.SealedMode
}
};

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Text.Json.Nodes;
using Microsoft.Extensions.Logging;
using StellaOps.Findings.Ledger.Domain;
@@ -80,7 +81,7 @@ public sealed class EvidenceSnapshotService
{
["bundleUri"] = input.BundleUri,
["dsseDigest"] = input.DsseDigest,
["expiresAt"] = expiresAt?.ToString("O")
["expiresAt"] = expiresAt?.ToString("O", CultureInfo.InvariantCulture)
}
}
};

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Text.Json.Nodes;
using Microsoft.Extensions.Logging;
using StellaOps.Findings.Ledger.Hashing;
@@ -74,8 +75,8 @@ public sealed class OrchestratorExportService
["jobType"] = input.JobType,
["artifactHash"] = input.ArtifactHash,
["policyHash"] = input.PolicyHash,
["startedAt"] = input.StartedAt.ToUniversalTime().ToString("O"),
["completedAt"] = input.CompletedAt?.ToUniversalTime().ToString("O"),
["startedAt"] = input.StartedAt.ToUniversalTime().ToString("O", CultureInfo.InvariantCulture),
["completedAt"] = input.CompletedAt?.ToUniversalTime().ToString("O", CultureInfo.InvariantCulture),
["status"] = input.Status,
["manifestPath"] = input.ManifestPath,
["logsPath"] = input.LogsPath

View File

@@ -1,3 +1,4 @@
using System.Globalization;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
@@ -91,13 +92,13 @@ public sealed class ScoredFindingsExportService : IScoredFindingsExportService
return new MemoryStream(result.Data);
}
private static byte[] ExportToJson(IReadOnlyList<ScoredFinding> findings, ScoredFindingsExportRequest request)
private byte[] ExportToJson(IReadOnlyList<ScoredFinding> findings, ScoredFindingsExportRequest request)
{
var envelope = new JsonObject
{
["version"] = "1.0",
["tenant_id"] = request.TenantId,
["generated_at"] = DateTimeOffset.UtcNow.ToString("O"),
["generated_at"] = _timeProvider.GetUtcNow().ToString("O", CultureInfo.InvariantCulture),
["record_count"] = findings.Count,
["findings"] = new JsonArray(findings.Select(MapToJsonNode).ToArray())
};
@@ -130,7 +131,7 @@ public sealed class ScoredFindingsExportService : IScoredFindingsExportService
finding.RiskScore?.ToString("F4") ?? "",
EscapeCsv(finding.RiskSeverity ?? ""),
EscapeCsv(finding.RiskProfileVersion ?? ""),
finding.UpdatedAt.ToString("O")));
finding.UpdatedAt.ToString("O", CultureInfo.InvariantCulture)));
}
return Encoding.UTF8.GetBytes(sb.ToString());

View File

@@ -1,6 +1,7 @@
namespace StellaOps.Findings.Ledger.Services;
using System.Collections.Generic;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
@@ -422,10 +423,10 @@ public sealed class SnapshotService
metadata["incident.mode"] = "enabled";
metadata["incident.activationId"] = incident.ActivationId ?? string.Empty;
metadata["incident.retentionExtensionDays"] = incident.RetentionExtensionDays;
metadata["incident.changedAt"] = incident.ChangedAt.ToString("O");
metadata["incident.changedAt"] = incident.ChangedAt.ToString("O", CultureInfo.InvariantCulture);
if (incident.ExpiresAt is not null)
{
metadata["incident.expiresAt"] = incident.ExpiresAt.Value.ToString("O");
metadata["incident.expiresAt"] = incident.ExpiresAt.Value.ToString("O", CultureInfo.InvariantCulture);
}
_logger.LogInformation(