Files
git.stella-ops.org/src/Scanner/StellaOps.Scanner.Analyzers.Native/PeIdentity.cs
master 00d2c99af9 feat: add Attestation Chain and Triage Evidence API clients and models
- Implemented Attestation Chain API client with methods for verifying, fetching, and managing attestation chains.
- Created models for Attestation Chain, including DSSE envelope structures and verification results.
- Developed Triage Evidence API client for fetching finding evidence, including methods for evidence retrieval by CVE and component.
- Added models for Triage Evidence, encapsulating evidence responses, entry points, boundary proofs, and VEX evidence.
- Introduced mock implementations for both API clients to facilitate testing and development.
2025-12-18 13:15:13 +02:00

35 lines
1.6 KiB
C#

namespace StellaOps.Scanner.Analyzers.Native;
/// <summary>
/// Full identity information extracted from a PE (Portable Executable) file.
/// </summary>
/// <param name="Machine">Machine type (x86, x86_64, ARM64, etc.).</param>
/// <param name="Is64Bit">Whether this is a 64-bit PE (PE32+).</param>
/// <param name="Subsystem">PE subsystem (Console, GUI, Native, etc.).</param>
/// <param name="CodeViewGuid">CodeView PDB70 GUID in lowercase hex (no dashes).</param>
/// <param name="CodeViewAge">CodeView Age field (increments on rebuild).</param>
/// <param name="PdbPath">Original PDB path from debug directory.</param>
/// <param name="ProductVersion">Product version from version resource.</param>
/// <param name="FileVersion">File version from version resource.</param>
/// <param name="CompanyName">Company name from version resource.</param>
/// <param name="ProductName">Product name from version resource.</param>
/// <param name="OriginalFilename">Original filename from version resource.</param>
/// <param name="RichHeaderHash">Rich header hash (XOR of all entries).</param>
/// <param name="CompilerHints">Compiler hints from rich header.</param>
/// <param name="Exports">Exported symbols from export directory.</param>
public sealed record PeIdentity(
string? Machine,
bool Is64Bit,
PeSubsystem Subsystem,
string? CodeViewGuid,
int? CodeViewAge,
string? PdbPath,
string? ProductVersion,
string? FileVersion,
string? CompanyName,
string? ProductName,
string? OriginalFilename,
uint? RichHeaderHash,
IReadOnlyList<PeCompilerHint> CompilerHints,
IReadOnlyList<string> Exports);