Documentation
¶
Index ¶
- Constants
- func ApplyGovernFirstProfile(profileName string, paths []ActionPath) ([]ActionPath, *ActionPathToControlFirst)
- func BuildActionPaths(attackPaths []riskattack.ScoredPath, inventory *agginventory.Inventory) ([]ActionPath, *ActionPathToControlFirst)
- func BuildControlPathGraph(paths []ActionPath) *aggattack.ControlPathGraph
- func BuildIdentityActionTargets(paths []ActionPath) (*IdentityActionTarget, *IdentityActionTarget)
- func BuildWorkflowChains(paths []ActionPath, graph *aggattack.ControlPathGraph) *agentresolver.WorkflowChainArtifact
- func BuyerActionContractReadinessLabel(value string) string
- func BuyerAutonomyTierLabel(tier string) string
- func BuyerAutonomyTierShortLabel(tier string) string
- func BuyerControlResolutionLabel(state string) string
- func BuyerDelegationReadinessLabel(state string) string
- func BuyerEvidenceCompletenessLabel(completeness *EvidenceCompleteness) string
- func BuyerEvidenceCompletenessSummaryLabel(summary *EvidenceCompletenessSummary) string
- func BuyerEvidenceStateLabel(kind, state string) string
- func BuyerPublicEvidenceLabel(label string) string
- func BuyerRecommendedControlLabel(value string) string
- func BuyerRuntimeEvidenceLabel(state string, absenceStatus string, coverage *GaitCoverage) string
- func ClosureCriteriaText(requirements []ClosureRequirement, fallback string) string
- func GaitCoverageHasStatus(coverage *GaitCoverage, want string) bool
- func IncrementAutonomyTierCounts(counts *AutonomyTierCounts, tier string)
- func IncrementDelegationReadinessCounts(counts *DelegationReadinessCounts, state string)
- func IncrementRecommendedControlCounts(counts *RecommendedControlCounts, value string)
- func RemediationForActionPath(path ActionPath) string
- func RuntimeEvidenceAbsenceStatus(path ActionPath) string
- func ValidActionContractReadinessState(value string) bool
- func ValidActionPathType(value string) bool
- func ValidAutonomyTier(value string) bool
- func ValidControlResolutionState(value string) bool
- func ValidDelegationReadinessState(value string) bool
- func ValidEvidenceState(value string) bool
- func ValidRecommendedControl(value string) bool
- func ValidRuntimeEvidenceAbsenceStatus(value string) bool
- func ValidTargetClass(value string) bool
- type ActionLineage
- type ActionLineageSegment
- type ActionPath
- func DecorateActionLineage(paths []ActionPath, graph *aggattack.ControlPathGraph) []ActionPath
- func DecorateActionPaths(paths []ActionPath) []ActionPath
- func DecorateControlMetadata(paths []ActionPath, repoContexts map[string]attribution.Context) []ActionPath
- func DecorateEvidenceContext(paths []ActionPath, report *scanquality.Report) []ActionPath
- func DecorateIntroducedBy(paths []ActionPath, repoContexts map[string]attribution.Context) []ActionPath
- func DecoratePolicyCoverage(paths []ActionPath, findings []model.Finding) []ActionPath
- func DecorateWorkflowChainRefs(paths []ActionPath, artifact *agentresolver.WorkflowChainArtifact) []ActionPath
- func LinkAttackPaths(paths []ActionPath, attackPaths []riskattack.ScoredPath) []ActionPath
- func ProjectActionPath(path ActionPath) ActionPath
- func ProjectActionPaths(paths []ActionPath) []ActionPath
- func ProjectBuyerFacingActionPath(path ActionPath) ActionPath
- type ActionPathSummary
- type ActionPathSummaryOptions
- type ActionPathToControlFirst
- type AutonomyTierCounts
- type ClosureRequirement
- type DelegationReadinessCounts
- type EvidenceCompleteness
- type EvidenceCompletenessAxisScore
- type EvidenceCompletenessSummary
- type ExposureGroup
- type GaitCoverage
- type GaitCoverageDetail
- type GovernedPathView
- type HighStakesPreset
- type IdentityActionTarget
- type IdentityExposureSummary
- type OwnerlessExposure
- type ProductionContext
- type RecommendedActionContract
- type RecommendedControlCounts
- type RepoAggregate
- type Report
- type ScoredFinding
Constants ¶
View Source
const ( ActionPathTypeAIAssistedWorkflow = "ai_assisted_workflow" ActionPathTypeAgentFramework = "agent_framework" ActionPathTypeAutomationBot = "automation_bot" ActionPathTypeCICDWorkflow = "ci_cd_workflow" ActionPathTypeLegacyScript = "legacy_script" ActionPathTypePlainSourceCode = "plain_source_code" ActionPathTypeUnknownExecutablePath = "unknown_executable_path" )
View Source
const ( AutonomyTier0SafeMetadata = "tier_0_safe_metadata" AutonomyTier1LowRiskInternal = "tier_1_low_risk_internal" AutonomyTier2AppCodeOwnerReview = "tier_2_app_code_owner_review" AutonomyTier3SensitiveCodeOrInfra = "tier_3_sensitive_code_or_infra" AutonomyTier4ProdPrivilegedCustomerImpact = "tier_4_prod_privileged_or_customer_impacting" DelegationReadinessSafeToDelegate = "safe_to_delegate" DelegationReadinessReviewRequired = "review_required" DelegationReadinessApprovalRequired = "approval_required" DelegationReadinessProofRequired = "proof_required" DelegationReadinessReadyForControl = "ready_for_control" DelegationReadinessBlocked = "blocked" DelegationReadinessBlockedByContradiction = "blocked_by_contradiction" RecommendedControlAllow = "allow" RecommendedControlOwnerReview = "owner_review" RecommendedControlSecurityReview = "security_review" RecommendedControlApprovalRequired = "approval_required" RecommendedControlJITCredentialRequired = "jit_credential_required" // #nosec G101 -- deterministic control enum label, not credential material. RecommendedControlProofRequired = "proof_required" RecommendedControlBlockStandingCredential = "block_standing_credential" RecommendedControlBlock = "block" ActionContractReadinessDraft = "draft" ActionContractReadinessNeedsOwner = "needs_owner" ActionContractReadinessNeedsApproval = "needs_approval_evidence" ActionContractReadinessReadyForReportOnly = "ready_for_report_only" ActionContractReadinessReadyForControl = "ready_for_control" ActionContractReadinessBlockedContradict = "blocked_by_contradiction" GovernedPathLabelToday = "today_path" GovernedPathLabelRecommended = "recommended_governed_path" )
View Source
const ( ControlStateSafeByDefault = "safe_by_default" ControlStateApprovalNeeded = "approval_required" ControlStateBlockRecommend = "block_recommended" ControlStateEvidenceNeeded = "evidence_required" ControlStateInventoryOnly = "inventory_only" RiskZoneCodingHelp = "coding_help" RiskZoneRepoWrite = "repo_write" RiskZoneCredential = "credential_bearing" // #nosec G101 -- Deterministic risk-zone label, not credential material. RiskZoneCICD = "ci_cd" RiskZoneIAC = "iac" RiskZoneRelease = "release" RiskZoneProductionData = "production_data" RiskZoneExternalEgress = "external_egress" ReviewBurdenLow = "low" ReviewBurdenMedium = "medium" ReviewBurdenHigh = "high" ReviewBurdenCritical = "critical" ConfidenceLaneConfirmedActionPath = "confirmed_action_path" ConfidenceLaneLikelyActionPath = "likely_action_path" ConfidenceLaneSemanticReviewCandidate = "semantic_review_candidate" ConfidenceLaneContextOnly = "context_only" EmptyStateEligible = "eligible" EmptyStateNotEligible = "not_eligible" EmptyStateCoverageReduced = "coverage_reduced" )
View Source
const ( ClosureSeverityCritical = "critical" ClosureSeverityHigh = "high" ClosureSeverityMedium = "medium" ClosureSeverityLow = "low" ClosureRequirementAssignOwner = "assign_owner" ClosureRequirementAttachApproval = "attach_approval" ClosureRequirementAttachPolicyReference = "attach_policy_reference" ClosureRequirementAttachProof = "attach_proof" ClosureRequirementCollectRuntimeEvidence = "collect_runtime_evidence" ClosureRequirementExpandScanCoverage = "expand_scan_coverage" ClosureRequirementProvideProviderExport = "provide_provider_export" ClosureRequirementProveDeploymentConstraint = "prove_deployment_constraint" ClosureRequirementProveJITCredential = "prove_jit_credential" // #nosec G101 -- deterministic requirement label, not credential material. ClosureRequirementRefreshExpiredEvidence = "refresh_expired_evidence" ClosureRequirementResolveContradiction = "resolve_contradiction" ClosureRequirementAcceptInternalTooling = "accept_declared_internal_tooling" ClosureRequirementDefendRiskClassification = "defend_risk_classification" CompletenessAxisDiscovery = "discovery" CompletenessAxisAuthority = "authority" CompletenessAxisBlast = "blast_radius" CompletenessAxisControl = "control" CompletenessAxisRuntime = "runtime_evidence" CompletenessAxisProof = "proof" EvidenceCompletenessStrong = "strong_evidence" EvidenceCompletenessPartial = "partial_evidence" EvidenceCompletenessInsufficient = "insufficient_evidence" )
View Source
const ( ControlResolutionStateDetectedControl = "detected_control" ControlResolutionStateDeclaredControl = "declared_control" ControlResolutionStateExternalControlReference = "external_control_reference" ControlResolutionStateNoVisibleControl = "no_visible_control" ControlResolutionStateNotApplicable = "not_applicable" ControlResolutionStateContradictoryControl = "contradictory_control" EvidenceStateVerified = "verified" EvidenceStateDeclared = "declared" EvidenceStateInferred = "inferred" EvidenceStateUnknown = "unknown" EvidenceStateContradictory = "contradictory" )
View Source
const ( GaitStatusPresent = "present" GaitStatusMissing = "missing" GaitStatusStale = "stale" GaitStatusConflict = "conflict" GaitStatusNotApplicable = "not_applicable" RuntimeEvidenceAbsenceNotCollected = "not_collected" RuntimeEvidenceAbsenceNotApplicable = "not_applicable" RuntimeEvidenceAbsenceMissingRequired = "missing_required" RuntimeEvidenceAbsenceMissingForClaim = "missing_for_control_claim" )
View Source
const ( InventoryRiskProductionBacked = "production_backed" InventoryRiskWriteCapable = "write_capable" InventoryRiskCredentialAccess = "credential_access" // #nosec G101 -- deterministic enum label, not credential material. InventoryRiskVisibilityOnly = "visibility_only" InventoryRiskDependencyOnly = "dependency_only" ControlPriorityControlFirst = "control_first" ControlPriorityReviewQueue = "review_queue" ControlPriorityInventoryHygiene = "inventory_hygiene" RiskTierCritical = "critical" RiskTierHigh = "high" RiskTierMedium = "medium" RiskTierLow = "low" )
View Source
const ( PolicyCoverageStatusNone = "none" PolicyCoverageStatusDeclared = "declared" PolicyCoverageStatusMatched = "matched" PolicyCoverageStatusRuntimeProven = "runtime_proven" PolicyCoverageStatusStale = "stale" PolicyCoverageStatusConflict = "conflict" )
View Source
const ( TargetClassProductionImpacting = "production_impacting" TargetClassReleaseAdjacent = "release_adjacent" TargetClassCustomerDataAdjacent = "customer_data_adjacent" TargetClassInternalTooling = "internal_tooling" TargetClassDeveloperProductivity = "developer_productivity" TargetClassTestDemoSandbox = "test_demo_sandbox" TargetClassUnknown = "unknown" )
View Source
const ( HighStakesPresetReleaseAutomation = "release_automation" HighStakesPresetProductionPath = "production_path" HighStakesPresetCredentialAutomation = "credential_bearing_automation" // #nosec G101 -- Deterministic high-stakes preset label, not credential material. HighStakesPresetInfrastructureAsCode = "infrastructure_as_code" HighStakesPresetIdentityAuthCode = "identity_auth_code" HighStakesPresetPackagePublishing = "package_publishing" HighStakesPresetPaymentFlow = "payment_flow" HighStakesPresetRegulatedCustomerFlow = "regulated_customer_workflow" HighStakesPresetExternalEgress = "external_egress" HighStakesPresetMCPToolConfig = "mcp_tool_config" HighStakesPresetMutableEndpoint = "mutable_endpoint" ProductionContextAppendixOnly = "appendix_only" )
Variables ¶
This section is empty.
Functions ¶
func ApplyGovernFirstProfile ¶ added in v1.1.0
func ApplyGovernFirstProfile(profileName string, paths []ActionPath) ([]ActionPath, *ActionPathToControlFirst)
func BuildActionPaths ¶ added in v1.0.11
func BuildActionPaths(attackPaths []riskattack.ScoredPath, inventory *agginventory.Inventory) ([]ActionPath, *ActionPathToControlFirst)
func BuildControlPathGraph ¶ added in v1.3.0
func BuildControlPathGraph(paths []ActionPath) *aggattack.ControlPathGraph
func BuildIdentityActionTargets ¶ added in v1.1.0
func BuildIdentityActionTargets(paths []ActionPath) (*IdentityActionTarget, *IdentityActionTarget)
func BuildWorkflowChains ¶ added in v1.6.0
func BuildWorkflowChains(paths []ActionPath, graph *aggattack.ControlPathGraph) *agentresolver.WorkflowChainArtifact
func BuyerActionContractReadinessLabel ¶ added in v1.6.0
func BuyerAutonomyTierLabel ¶ added in v1.6.0
func BuyerAutonomyTierShortLabel ¶ added in v1.6.0
func BuyerControlResolutionLabel ¶ added in v1.6.0
func BuyerDelegationReadinessLabel ¶ added in v1.6.0
func BuyerEvidenceCompletenessLabel ¶ added in v1.6.0
func BuyerEvidenceCompletenessLabel(completeness *EvidenceCompleteness) string
func BuyerEvidenceCompletenessSummaryLabel ¶ added in v1.6.0
func BuyerEvidenceCompletenessSummaryLabel(summary *EvidenceCompletenessSummary) string
func BuyerEvidenceStateLabel ¶ added in v1.6.0
func BuyerPublicEvidenceLabel ¶ added in v1.6.0
func BuyerRecommendedControlLabel ¶ added in v1.6.0
func BuyerRuntimeEvidenceLabel ¶ added in v1.6.0
func BuyerRuntimeEvidenceLabel(state string, absenceStatus string, coverage *GaitCoverage) string
func ClosureCriteriaText ¶ added in v1.6.0
func ClosureCriteriaText(requirements []ClosureRequirement, fallback string) string
func GaitCoverageHasStatus ¶ added in v1.6.0
func GaitCoverageHasStatus(coverage *GaitCoverage, want string) bool
func IncrementAutonomyTierCounts ¶ added in v1.6.0
func IncrementAutonomyTierCounts(counts *AutonomyTierCounts, tier string)
func IncrementDelegationReadinessCounts ¶ added in v1.6.0
func IncrementDelegationReadinessCounts(counts *DelegationReadinessCounts, state string)
func IncrementRecommendedControlCounts ¶ added in v1.6.0
func IncrementRecommendedControlCounts(counts *RecommendedControlCounts, value string)
func RemediationForActionPath ¶ added in v1.4.0
func RemediationForActionPath(path ActionPath) string
func RuntimeEvidenceAbsenceStatus ¶ added in v1.6.0
func RuntimeEvidenceAbsenceStatus(path ActionPath) string
func ValidActionContractReadinessState ¶ added in v1.6.0
func ValidActionPathType ¶ added in v1.6.0
func ValidAutonomyTier ¶ added in v1.6.0
func ValidControlResolutionState ¶ added in v1.6.0
func ValidDelegationReadinessState ¶ added in v1.6.0
func ValidEvidenceState ¶ added in v1.6.0
func ValidRecommendedControl ¶ added in v1.6.0
func ValidRuntimeEvidenceAbsenceStatus ¶ added in v1.6.0
func ValidTargetClass ¶ added in v1.6.0
Types ¶
type ActionLineage ¶ added in v1.5.0
type ActionLineage struct {
Segments []ActionLineageSegment `json:"segments,omitempty"`
}
func CloneActionLineage ¶ added in v1.5.0
func CloneActionLineage(in *ActionLineage) *ActionLineage
type ActionLineageSegment ¶ added in v1.5.0
type ActionLineageSegment struct {
SegmentID string `json:"segment_id"`
Kind string `json:"kind"`
Label string `json:"label,omitempty"`
Status string `json:"status,omitempty"`
NodeIDs []string `json:"node_ids,omitempty"`
EdgeIDs []string `json:"edge_ids,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty"`
}
type ActionPath ¶ added in v1.0.11
type ActionPath struct {
PathID string `json:"path_id"`
Org string `json:"org"`
Repo string `json:"repo"`
AgentID string `json:"agent_id,omitempty"`
ToolFamilyID string `json:"tool_family_id,omitempty"`
ToolInstanceID string `json:"tool_instance_id,omitempty"`
ToolType string `json:"tool_type"`
Location string `json:"location,omitempty"`
LocationRange *model.LocationRange `json:"location_range,omitempty"`
Purpose string `json:"purpose,omitempty"`
PurposeSource string `json:"purpose_source,omitempty"`
PurposeConfidence string `json:"purpose_confidence,omitempty"`
Version string `json:"version,omitempty"`
VersionSource string `json:"version_source,omitempty"`
ConfigFingerprint string `json:"config_fingerprint,omitempty"`
ConfigSource string `json:"config_source,omitempty"`
WriteCapable bool `json:"write_capable"`
OperationalOwner string `json:"operational_owner,omitempty"`
OwnerSource string `json:"owner_source,omitempty"`
OwnershipStatus string `json:"ownership_status,omitempty"`
OwnershipState string `json:"ownership_state,omitempty"`
OwnershipConfidence float64 `json:"ownership_confidence,omitempty"`
OwnershipEvidence []string `json:"ownership_evidence_basis,omitempty"`
OwnershipConflicts []string `json:"ownership_conflicts,omitempty"`
EvidenceDecisions []evidencepolicy.Decision `json:"evidence_decisions,omitempty"`
Contradictions []evidencepolicy.Contradiction `json:"contradictions,omitempty"`
ControlResolutionState string `json:"control_resolution_state,omitempty"`
BoundaryLabel string `json:"boundary_label,omitempty"`
ControlResolutionReasons []string `json:"control_resolution_reasons,omitempty"`
ControlEvidenceRefs []string `json:"control_evidence_refs,omitempty"`
ConstraintEvidenceClasses []string `json:"constraint_evidence_classes,omitempty"`
ConstraintEvidenceRefs []string `json:"constraint_evidence_refs,omitempty"`
ConstraintEvidenceStatus string `json:"constraint_evidence_status,omitempty"`
ApprovalEvidenceState string `json:"approval_evidence_state,omitempty"`
OwnerEvidenceState string `json:"owner_evidence_state,omitempty"`
ProofEvidenceState string `json:"proof_evidence_state,omitempty"`
RuntimeEvidenceState string `json:"runtime_evidence_state,omitempty"`
TargetEvidenceState string `json:"target_evidence_state,omitempty"`
CredentialEvidenceState string `json:"credential_evidence_state,omitempty"`
TargetClass string `json:"target_class,omitempty"`
TargetClassReasons []string `json:"target_class_reasons,omitempty"`
TargetClassEvidenceRefs []string `json:"target_class_evidence_refs,omitempty"`
ActionPathType string `json:"action_path_type,omitempty"`
ActionPathTypeReasons []string `json:"action_path_type_reasons,omitempty"`
ActionPathTypeEvidenceRefs []string `json:"action_path_type_evidence_refs,omitempty"`
ApprovalGapReasons []string `json:"approval_gap_reasons,omitempty"`
WritePathClasses []string `json:"write_path_classes,omitempty"`
ActionClasses []string `json:"action_classes,omitempty"`
ActionReasons []string `json:"action_reasons,omitempty"`
MutableEndpointSemantics []agginventory.MutableEndpointSemantic `json:"mutable_endpoint_semantics,omitempty"`
PullRequestWrite bool `json:"pull_request_write,omitempty"`
MergeExecute bool `json:"merge_execute,omitempty"`
DeployWrite bool `json:"deploy_write,omitempty"`
DeliveryChainStatus string `json:"delivery_chain_status,omitempty"`
ProductionTargetStatus string `json:"production_target_status,omitempty"`
ProductionWrite bool `json:"production_write"`
ApprovalGap bool `json:"approval_gap"`
SecurityVisibilityStatus string `json:"security_visibility_status,omitempty"`
CredentialAccess bool `json:"credential_access"`
Credentials []*agginventory.CredentialProvenance `json:"credentials,omitempty"`
CredentialProvenance *agginventory.CredentialProvenance `json:"credential_provenance,omitempty"`
CredentialAuthority *agginventory.CredentialAuthority `json:"credential_authority,omitempty"`
AuthorityBindings []*agginventory.AuthorityBinding `json:"authority_bindings,omitempty"`
PathContext *agginventory.PathContext `json:"path_context,omitempty"`
TrustDepth *agginventory.TrustDepth `json:"trust_depth,omitempty"`
DeploymentStatus string `json:"deployment_status,omitempty"`
WorkflowTriggerClass string `json:"workflow_trigger_class,omitempty"`
ExecutionIdentity string `json:"execution_identity,omitempty"`
ExecutionIdentityType string `json:"execution_identity_type,omitempty"`
ExecutionIdentitySource string `json:"execution_identity_source,omitempty"`
ExecutionIdentityStatus string `json:"execution_identity_status,omitempty"`
ExecutionIdentityRationale string `json:"execution_identity_rationale,omitempty"`
BusinessStateSurface string `json:"business_state_surface,omitempty"`
StandingPrivilege bool `json:"standing_privilege,omitempty"`
StandingPrivilegeReasons []string `json:"standing_privilege_reasons,omitempty"`
ControlState string `json:"control_state,omitempty"`
ControlStateReasons []string `json:"control_state_reasons,omitempty"`
RiskZone string `json:"risk_zone,omitempty"`
RiskZoneReasons []string `json:"risk_zone_reasons,omitempty"`
ReviewBurden string `json:"review_burden,omitempty"`
ReviewBurdenReasons []string `json:"review_burden_reasons,omitempty"`
ConfidenceLane string `json:"confidence_lane,omitempty"`
ConfidenceLaneReasons []string `json:"confidence_lane_reasons,omitempty"`
PolicyCoverageStatus string `json:"policy_coverage_status,omitempty"`
PolicyRefs []string `json:"policy_refs,omitempty"`
PolicyMissingReasons []string `json:"policy_missing_reasons,omitempty"`
PolicyStatusReasons []string `json:"policy_status_reasons,omitempty"`
PolicyConfidence string `json:"policy_confidence,omitempty"`
PolicyEvidenceRefs []string `json:"policy_evidence_refs,omitempty"`
GaitCoverage *GaitCoverage `json:"gait_coverage,omitempty"`
IntroducedBy *attribution.Result `json:"introduced_by,omitempty"`
InventoryRisk string `json:"inventory_risk,omitempty"`
ControlPriority string `json:"control_priority,omitempty"`
RiskTier string `json:"risk_tier,omitempty"`
AutonomyTier string `json:"autonomy_tier,omitempty"`
AutonomyTierReasons []string `json:"autonomy_tier_reasons,omitempty"`
AutonomyTierEvidenceRefs []string `json:"autonomy_tier_evidence_refs,omitempty"`
DelegationReadinessState string `json:"delegation_readiness_state,omitempty"`
DelegationReadinessReasons []string `json:"delegation_readiness_reasons,omitempty"`
RecommendedControl string `json:"recommended_control,omitempty"`
RecommendedControlReasons []string `json:"recommended_control_reasons,omitempty"`
RiskClassificationValidationReasons []string `json:"risk_classification_validation_reasons,omitempty"`
RiskClassificationValidationRefs []string `json:"risk_classification_validation_refs,omitempty"`
RecommendedActionContract *RecommendedActionContract `json:"recommended_action_contract,omitempty"`
TodayPath *GovernedPathView `json:"today_path,omitempty"`
RecommendedGovernedPath *GovernedPathView `json:"recommended_governed_path,omitempty"`
HighStakesPresets []HighStakesPreset `json:"high_stakes_presets,omitempty"`
ProductionContext *ProductionContext `json:"production_context,omitempty"`
EvidencePacketStatus string `json:"evidence_packet_status,omitempty"`
EvidencePacketResult string `json:"evidence_packet_result,omitempty"`
EvidencePacketMissingEvidenceState string `json:"evidence_packet_missing_evidence_state,omitempty"`
EvidencePacketRefs []string `json:"evidence_packet_refs,omitempty"`
AttackPathScore float64 `json:"attack_path_score"`
RiskScore float64 `json:"risk_score"`
RecommendedAction string `json:"recommended_action"`
AttackPathRefs []string `json:"attack_path_refs,omitempty"`
SourceFindingKeys []string `json:"source_finding_keys,omitempty"`
WorkflowChainRefs []string `json:"workflow_chain_refs,omitempty"`
MatchedProductionTargets []string `json:"matched_production_targets,omitempty"`
GovernanceControls []agginventory.GovernanceControlMapping `json:"governance_controls,omitempty"`
ClosureRequirements []ClosureRequirement `json:"closure_requirements,omitempty"`
EvidenceCompleteness *EvidenceCompleteness `json:"evidence_completeness,omitempty"`
ActionLineage *ActionLineage `json:"action_lineage,omitempty"`
}
func DecorateActionLineage ¶ added in v1.5.0
func DecorateActionLineage(paths []ActionPath, graph *aggattack.ControlPathGraph) []ActionPath
func DecorateActionPaths ¶ added in v1.1.0
func DecorateActionPaths(paths []ActionPath) []ActionPath
func DecorateControlMetadata ¶ added in v1.6.0
func DecorateControlMetadata(paths []ActionPath, repoContexts map[string]attribution.Context) []ActionPath
func DecorateEvidenceContext ¶ added in v1.6.0
func DecorateEvidenceContext(paths []ActionPath, report *scanquality.Report) []ActionPath
func DecorateIntroducedBy ¶ added in v1.3.0
func DecorateIntroducedBy(paths []ActionPath, repoContexts map[string]attribution.Context) []ActionPath
func DecoratePolicyCoverage ¶ added in v1.3.0
func DecoratePolicyCoverage(paths []ActionPath, findings []model.Finding) []ActionPath
func DecorateWorkflowChainRefs ¶ added in v1.6.0
func DecorateWorkflowChainRefs(paths []ActionPath, artifact *agentresolver.WorkflowChainArtifact) []ActionPath
func LinkAttackPaths ¶ added in v1.4.0
func LinkAttackPaths(paths []ActionPath, attackPaths []riskattack.ScoredPath) []ActionPath
func ProjectActionPath ¶ added in v1.5.0
func ProjectActionPath(path ActionPath) ActionPath
func ProjectActionPaths ¶ added in v1.5.0
func ProjectActionPaths(paths []ActionPath) []ActionPath
func ProjectBuyerFacingActionPath ¶ added in v1.4.0
func ProjectBuyerFacingActionPath(path ActionPath) ActionPath
type ActionPathSummary ¶ added in v1.0.11
type ActionPathSummary struct {
TotalPaths int `json:"total_paths"`
WriteCapablePaths int `json:"write_capable_paths"`
CredentialAccessPaths int `json:"credential_access_paths"`
StandingPrivilegePaths int `json:"standing_privilege_paths"`
ProductionTargetBackedPaths int `json:"production_target_backed_paths"`
ControlFirstPaths int `json:"control_first_paths"`
GovernFirstPaths int `json:"govern_first_paths"`
DetectedControlPaths int `json:"detected_control_paths,omitempty"`
DeclaredControlPaths int `json:"declared_control_paths,omitempty"`
ExternalControlPaths int `json:"external_control_reference_paths,omitempty"`
ContradictoryControlPaths int `json:"contradictory_control_paths,omitempty"`
ControlEvidenceUnknownPaths int `json:"control_evidence_unknown_paths,omitempty"`
ApprovalEvidenceUnknownPaths int `json:"approval_evidence_unknown_paths,omitempty"`
OwnerEvidenceUnknownPaths int `json:"owner_evidence_unknown_paths,omitempty"`
ProofEvidenceUnknownPaths int `json:"proof_evidence_unknown_paths,omitempty"`
MissingApprovalPaths int `json:"missing_approval_paths"`
MissingPolicyPaths int `json:"missing_policy_paths"`
MissingProofPaths int `json:"missing_proof_paths"`
UnresolvedOwnerPaths int `json:"unresolved_owner_paths"`
HighReviewBurdenPaths int `json:"high_review_burden_paths"`
ConfirmedActionPaths int `json:"confirmed_action_paths"`
LikelyActionPaths int `json:"likely_action_paths"`
SemanticReviewCandidatePaths int `json:"semantic_review_candidate_paths"`
ContextOnlyPaths int `json:"context_only_paths"`
AutonomyTiers AutonomyTierCounts `json:"autonomy_tiers"`
DelegationReadiness DelegationReadinessCounts `json:"delegation_readiness"`
RecommendedControls RecommendedControlCounts `json:"recommended_controls"`
EmptyStateStatus string `json:"empty_state_status,omitempty"`
EmptyStateReasons []string `json:"empty_state_reasons,omitempty"`
}
func SummarizeActionPaths ¶ added in v1.5.0
func SummarizeActionPaths(paths []ActionPath, opts ActionPathSummaryOptions) ActionPathSummary
type ActionPathSummaryOptions ¶ added in v1.5.0
type ActionPathSummaryOptions struct {
ScanCoverageReduced bool
}
type ActionPathToControlFirst ¶ added in v1.0.11
type ActionPathToControlFirst struct {
Summary ActionPathSummary `json:"summary"`
Path ActionPath `json:"path"`
}
func BuildActionPathChoice ¶ added in v1.5.0
func BuildActionPathChoice(paths []ActionPath) *ActionPathToControlFirst
type AutonomyTierCounts ¶ added in v1.6.0
type AutonomyTierCounts struct {
Tier0SafeMetadata int `json:"tier_0_safe_metadata"`
Tier1LowRiskInternal int `json:"tier_1_low_risk_internal"`
Tier2AppCodeOwnerReview int `json:"tier_2_app_code_owner_review"`
Tier3SensitiveCodeOrInfra int `json:"tier_3_sensitive_code_or_infra"`
Tier4ProdPrivilegedCustomerImpact int `json:"tier_4_prod_privileged_or_customer_impacting"`
}
type ClosureRequirement ¶ added in v1.6.0
type ClosureRequirement struct {
ID string `json:"id"`
Severity string `json:"severity"`
RequirementType string `json:"requirement_type"`
CurrentEvidenceState string `json:"current_evidence_state,omitempty"`
RequiredEvidence string `json:"required_evidence"`
AcceptableSourceClasses []string `json:"acceptable_source_classes,omitempty"`
FreshnessRequirement string `json:"freshness_requirement,omitempty"`
Examples []string `json:"examples,omitempty"`
ClosureRefs []string `json:"closure_refs,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
Guidance string `json:"guidance"`
}
func CloneClosureRequirements ¶ added in v1.6.0
func CloneClosureRequirements(in []ClosureRequirement) []ClosureRequirement
type DelegationReadinessCounts ¶ added in v1.6.0
type DelegationReadinessCounts struct {
SafeToDelegate int `json:"safe_to_delegate"`
ReviewRequired int `json:"review_required"`
ApprovalRequired int `json:"approval_required"`
ProofRequired int `json:"proof_required"`
ReadyForControl int `json:"ready_for_control"`
Blocked int `json:"blocked"`
BlockedByContradict int `json:"blocked_by_contradiction"`
}
type EvidenceCompleteness ¶ added in v1.6.0
type EvidenceCompleteness struct {
TotalScore int `json:"total_score"`
Label string `json:"label"`
AxisScores []EvidenceCompletenessAxisScore `json:"axis_scores"`
EvidenceGaps []string `json:"evidence_gaps,omitempty"`
UnsupportedSurfaces []string `json:"unsupported_surfaces,omitempty"`
FreshnessPenalties []string `json:"freshness_penalties,omitempty"`
ContradictionPenalties []string `json:"contradiction_penalties,omitempty"`
Reasons []string `json:"reasons,omitempty"`
}
func CloneEvidenceCompleteness ¶ added in v1.6.0
func CloneEvidenceCompleteness(in *EvidenceCompleteness) *EvidenceCompleteness
type EvidenceCompletenessAxisScore ¶ added in v1.6.0
type EvidenceCompletenessSummary ¶ added in v1.6.0
type EvidenceCompletenessSummary struct {
PathCount int `json:"path_count"`
AverageTotalScore int `json:"average_total_score"`
Label string `json:"label"`
LowEvidencePathCount int `json:"low_evidence_path_count,omitempty"`
ReducedCoveragePathCount int `json:"reduced_coverage_path_count,omitempty"`
AxisScores []EvidenceCompletenessAxisScore `json:"axis_scores,omitempty"`
Reasons []string `json:"reasons,omitempty"`
}
func BuildEvidenceCompletenessSummary ¶ added in v1.6.0
func BuildEvidenceCompletenessSummary(paths []ActionPath) *EvidenceCompletenessSummary
func CloneEvidenceCompletenessSummary ¶ added in v1.6.0
func CloneEvidenceCompletenessSummary(in *EvidenceCompletenessSummary) *EvidenceCompletenessSummary
type ExposureGroup ¶ added in v1.1.0
type ExposureGroup struct {
GroupID string `json:"group_id"`
Org string `json:"org"`
Repos []string `json:"repos"`
ToolTypes []string `json:"tool_types"`
ExecutionIdentity string `json:"execution_identity,omitempty"`
ExecutionIdentityType string `json:"execution_identity_type,omitempty"`
ExecutionIdentityStatus string `json:"execution_identity_status,omitempty"`
DeliveryChainStatus string `json:"delivery_chain_status,omitempty"`
WorkflowTriggerClass string `json:"workflow_trigger_class,omitempty"`
BusinessStateSurface string `json:"business_state_surface,omitempty"`
RecommendedAction string `json:"recommended_action"`
StandingPrivilege bool `json:"standing_privilege"`
PathCount int `json:"path_count"`
WriteCapablePathCount int `json:"write_capable_path_count"`
ProductionWritePathCount int `json:"production_write_path_count"`
PathIDs []string `json:"path_ids"`
ExampleRepo string `json:"example_repo,omitempty"`
ExampleLocation string `json:"example_location,omitempty"`
}
func BuildExposureGroups ¶ added in v1.1.0
func BuildExposureGroups(paths []ActionPath) []ExposureGroup
type GaitCoverage ¶ added in v1.4.0
type GaitCoverage struct {
PolicyDecision GaitCoverageDetail `json:"policy_decision"`
Approval GaitCoverageDetail `json:"approval"`
JITCredential GaitCoverageDetail `json:"jit_credential"`
FreezeWindow GaitCoverageDetail `json:"freeze_window"`
KillSwitch GaitCoverageDetail `json:"kill_switch"`
ActionOutcome GaitCoverageDetail `json:"action_outcome"`
ProofVerification GaitCoverageDetail `json:"proof_verification"`
}
func CloneGaitCoverage ¶ added in v1.4.0
func CloneGaitCoverage(in *GaitCoverage) *GaitCoverage
func MergeGaitCoverage ¶ added in v1.4.0
func MergeGaitCoverage(current, incoming *GaitCoverage) *GaitCoverage
type GaitCoverageDetail ¶ added in v1.4.0
type GovernedPathView ¶ added in v1.6.0
type GovernedPathView struct {
Label string `json:"label,omitempty"`
Summary string `json:"summary,omitempty"`
AutonomyTier string `json:"autonomy_tier,omitempty"`
DelegationReadinessState string `json:"delegation_readiness_state,omitempty"`
RecommendedControl string `json:"recommended_control,omitempty"`
CredentialMode string `json:"credential_mode,omitempty"`
ApprovalEvidenceState string `json:"approval_evidence_state,omitempty"`
ProofEvidenceState string `json:"proof_evidence_state,omitempty"`
OutcomeEvidenceState string `json:"outcome_evidence_state,omitempty"`
PathType string `json:"path_type,omitempty"`
TargetClass string `json:"target_class,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
}
func CloneGovernedPathView ¶ added in v1.6.0
func CloneGovernedPathView(in *GovernedPathView) *GovernedPathView
type HighStakesPreset ¶ added in v1.6.0
type HighStakesPreset struct {
Preset string `json:"preset,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty"`
}
func CloneHighStakesPresets ¶ added in v1.6.0
func CloneHighStakesPresets(in []HighStakesPreset) []HighStakesPreset
type IdentityActionTarget ¶ added in v1.1.0
type IdentityActionTarget struct {
ExecutionIdentity string `json:"execution_identity,omitempty"`
ExecutionIdentityType string `json:"execution_identity_type,omitempty"`
ExecutionIdentitySource string `json:"execution_identity_source,omitempty"`
RepoCount int `json:"repo_count"`
PathCount int `json:"path_count"`
WriteCapablePathCount int `json:"write_capable_path_count"`
HighImpactPathCount int `json:"high_impact_path_count"`
UnknownToSecurityPathCount int `json:"unknown_to_security_path_count"`
UnresolvedOwnershipPathCount int `json:"unresolved_ownership_path_count"`
StandingPrivilege bool `json:"standing_privilege"`
Rationale []string `json:"rationale,omitempty"`
}
type IdentityExposureSummary ¶ added in v1.1.0
type IdentityExposureSummary struct {
TotalNonHumanIdentitiesObserved int `json:"total_non_human_identities_observed"`
IdentitiesBackingWriteCapablePaths int `json:"identities_backing_write_capable_paths"`
IdentitiesBackingDeployCapablePaths int `json:"identities_backing_deploy_capable_paths"`
IdentitiesWithUnresolvedOwnership int `json:"identities_with_unresolved_ownership"`
IdentitiesWithUnknownExecutionLinked int `json:"identities_with_unknown_execution_correlation"`
}
func BuildIdentityExposureSummary ¶ added in v1.1.0
func BuildIdentityExposureSummary(paths []ActionPath, inventory *agginventory.Inventory) *IdentityExposureSummary
type OwnerlessExposure ¶ added in v1.1.0
type OwnerlessExposure struct {
ExplicitOwnerPaths int `json:"explicit_owner_paths"`
InferredOwnerPaths int `json:"inferred_owner_paths"`
UnresolvedOwnerPaths int `json:"unresolved_owner_paths"`
ConflictOwnerPaths int `json:"conflict_owner_paths"`
}
func BuildOwnerlessExposure ¶ added in v1.1.0
func BuildOwnerlessExposure(paths []ActionPath) *OwnerlessExposure
type ProductionContext ¶ added in v1.6.0
type ProductionContext struct {
Status string `json:"status,omitempty"`
SurfaceLabel string `json:"surface_label,omitempty"`
ToolType string `json:"tool_type,omitempty"`
Owner string `json:"owner,omitempty"`
CredentialMode string `json:"credential_mode,omitempty"`
DeploymentStatus string `json:"deployment_status,omitempty"`
ActionClasses []string `json:"action_classes,omitempty"`
PathType string `json:"path_type,omitempty"`
TargetClass string `json:"target_class,omitempty"`
MutableEndpointOperations []string `json:"mutable_endpoint_operations,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
}
func CloneProductionContext ¶ added in v1.6.0
func CloneProductionContext(in *ProductionContext) *ProductionContext
type RecommendedActionContract ¶ added in v1.6.0
type RecommendedActionContract struct {
PathSummary string `json:"path_summary,omitempty"`
AllowedAction string `json:"allowed_action,omitempty"`
RequiredAuthority string `json:"required_authority,omitempty"`
RequiredReview string `json:"required_review,omitempty"`
RequiredApproval string `json:"required_approval,omitempty"`
RequiredProof string `json:"required_proof,omitempty"`
AllowedAutonomyTier string `json:"allowed_autonomy_tier,omitempty"`
ValidationStep string `json:"validation_step,omitempty"`
DefaultPosture string `json:"default_posture,omitempty"`
DelegationReadinessState string `json:"delegation_readiness_state,omitempty"`
ApprovalEvidenceState string `json:"approval_evidence_state,omitempty"`
OwnerEvidenceState string `json:"owner_evidence_state,omitempty"`
ProofEvidenceState string `json:"proof_evidence_state,omitempty"`
OutcomeEvidenceState string `json:"outcome_evidence_state,omitempty"`
ContractReadinessState string `json:"contract_readiness_state,omitempty"`
ReportOnly bool `json:"report_only,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty"`
}
func CloneRecommendedActionContract ¶ added in v1.6.0
func CloneRecommendedActionContract(in *RecommendedActionContract) *RecommendedActionContract
type RecommendedControlCounts ¶ added in v1.6.0
type RecommendedControlCounts struct {
Allow int `json:"allow"`
OwnerReview int `json:"owner_review"`
SecurityReview int `json:"security_review"`
ApprovalRequired int `json:"approval_required"`
JITCredentialRequired int `json:"jit_credential_required"`
ProofRequired int `json:"proof_required"`
BlockStandingCredential int `json:"block_standing_credential"`
Block int `json:"block"`
}
type RepoAggregate ¶
type Report ¶
type Report struct {
GeneratedAt string `json:"generated_at"`
TopN []ScoredFinding `json:"top_findings"`
Ranked []ScoredFinding `json:"ranked_findings"`
Repos []RepoAggregate `json:"repo_risk"`
AttackPaths []riskattack.ScoredPath `json:"attack_paths,omitempty"`
TopAttackPaths []riskattack.ScoredPath `json:"top_attack_paths,omitempty"`
ActionPaths []ActionPath `json:"action_paths,omitempty"`
ActionPathToControlFirst *ActionPathToControlFirst `json:"action_path_to_control_first,omitempty"`
ControlPathGraph *aggattack.ControlPathGraph `json:"control_path_graph,omitempty"`
WorkflowChains *agentresolver.WorkflowChainArtifact `json:"workflow_chains,omitempty"`
}
type ScoredFinding ¶
type ScoredFinding struct {
CanonicalKey string `json:"canonical_key"`
Score float64 `json:"risk_score"`
BlastRadius float64 `json:"blast_radius"`
Privilege float64 `json:"privilege_level"`
TrustDeficit float64 `json:"trust_deficit"`
EndpointClass string `json:"endpoint_class"`
DataClass string `json:"data_class"`
AutonomyLevel string `json:"autonomy_level"`
Reasons []string `json:"reasons"`
Finding model.Finding `json:"finding"`
}
Source Files
¶
- action_lineage.go
- action_path_type.go
- action_paths.go
- agentic_projection.go
- buyer_projection.go
- evidence_context.go
- evidence_language.go
- evidence_state.go
- gait_coverage.go
- govern_first.go
- govern_first_model.go
- introduced_by.go
- mutable_endpoint.go
- policy_coverage.go
- risk.go
- target_class.go
- wave4_projection.go
- wave4_types.go
- workflow_chain.go
Click to show internal directories.
Click to hide internal directories.