audit work, fixed StellaOps.sln warnings/errors, fixed tests, sprints work, new advisories
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user