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.
This commit is contained in:
34
src/Scanner/StellaOps.Scanner.Analyzers.Native/PeIdentity.cs
Normal file
34
src/Scanner/StellaOps.Scanner.Analyzers.Native/PeIdentity.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user