Documentation
¶
Index ¶
- Constants
- func ApplyCanonicalStores(inventory *Inventory)
- func ApplySecurityVisibility(inv *Inventory, ref SecurityVisibilityReference)
- func ApplySecurityVisibilityToPrivilegeMap(inv *Inventory)
- func AugmentCanonicalStores(in *Inventory, mutableEndpointGroups [][]MutableEndpointSemantic, ...)
- func BackfillCanonicalProjectionRefs(in *Inventory)
- func BoundedMutableEndpointSemanticRefs(refs []string, semantics []MutableEndpointSemantic) []string
- func CanonicalAuthorityBindingRefs(values []*AuthorityBinding) []string
- func CanonicalCredentialAuthorityRef(value *CredentialAuthority) string
- func CanonicalMutableEndpointRefs(values []MutableEndpointSemantic) []string
- func CanonicalWriteCapable(input ActionClassInput) bool
- func CredentialRiskMultiplier(kind string) float64
- func CredentialRiskMultiplierFor(in *CredentialProvenance) float64
- func DeriveActionClasses(input ActionClassInput) ([]string, []string)
- func DeriveWritePathClasses(permissions []string, ...) []string
- func EffectiveStandingAuthority(in *CredentialAuthority) bool
- func EffectiveStandingAuthorityReasons(in *CredentialAuthority) (bool, []string)
- func EnsureCanonicalStores(in *Inventory)
- func GovernanceSecurityVisibilityStatus(status, approvalStatus, lifecycleState string) string
- func HasMutableEndpointSemantic(values []MutableEndpointSemantic, want string) bool
- func HydrateCanonicalProjectionDetails(in *Inventory)
- func KeyForFinding(finding model.Finding) string
- func MergeCredentialLifetime(current, incoming *CredentialAuthority) (kind, evidenceState string, contradictory bool)
- func ReclassifyApprovalWithMatcher(inv *Inventory, matcher func(Tool) bool)
- func RefreshIdentityGovernance(inv *Inventory, identities []manifest.IdentityRecord)
- func StandingPrivilegeFromAuthority(in *CredentialAuthority) (bool, []string)
- func StandingPrivilegeFromProvenance(in *CredentialProvenance) (bool, []string)
- func StripCanonicalProjectionDetails(in *Inventory)
- type ActionClassInput
- type AdoptionSummary
- type Agent
- type AgentBindingContext
- type AgentDeploymentContext
- type AgentPrivilegeMapEntry
- type ApprovalSummary
- type AuthorityBinding
- type AuthorityBindingRecord
- type BuildInput
- type CanonicalResolver
- func (r CanonicalResolver) HasAuthorityBindingRefs(refs []string) bool
- func (r CanonicalResolver) HasCredentialAuthorityRef(ref string) bool
- func (r CanonicalResolver) HasMutableEndpointSemanticRefs(refs []string) bool
- func (r CanonicalResolver) ResolveAuthorityBindings(refs []string, fallback []*AuthorityBinding) []*AuthorityBinding
- func (r CanonicalResolver) ResolveCredentialAuthority(ref string, fallback *CredentialAuthority) *CredentialAuthority
- func (r CanonicalResolver) ResolveMutableEndpointGroupProjection(group EndpointRefGroupProjection) EndpointRefGroupProjection
- func (r CanonicalResolver) ResolveMutableEndpointGroupRefs(groupID string, fallback []string) []string
- func (r CanonicalResolver) ResolveMutableEndpointSemantics(refs []string, fallback []MutableEndpointSemantic) []MutableEndpointSemantic
- type CanonicalStores
- type ControlRollup
- type CredentialAuthority
- func CloneCredentialAuthorities(in []*CredentialAuthority) []*CredentialAuthority
- func CloneCredentialAuthority(in *CredentialAuthority) *CredentialAuthority
- func NormalizeCredentialAuthorities(in []*CredentialAuthority) []*CredentialAuthority
- func NormalizeCredentialAuthority(in *CredentialAuthority) *CredentialAuthority
- type CredentialAuthorityRecord
- type CredentialProvenance
- func CloneCredentialProvenance(in *CredentialProvenance) *CredentialProvenance
- func CloneCredentialProvenances(in []*CredentialProvenance) []*CredentialProvenance
- func CredentialRollup(credentials []*CredentialProvenance, fallback *CredentialProvenance) *CredentialProvenance
- func NormalizeCredentialProvenance(in *CredentialProvenance) *CredentialProvenance
- func NormalizeCredentialProvenances(in []*CredentialProvenance) []*CredentialProvenance
- type EndpointOperationClassCount
- type EndpointRefGroupProjection
- type EndpointRefSample
- type GovernanceControlInput
- type GovernanceControlMapping
- type Inventory
- type LocalGovernanceSummary
- type MethodologyDetector
- type MethodologySummary
- type MutableEndpointGroupRecord
- type MutableEndpointSemantic
- type MutableEndpointSemanticRecord
- type NonHumanIdentity
- type PathContext
- type PermissionSurface
- type PrivilegeBudget
- type ProductionWriteBudget
- type RegulationRollup
- type RegulatoryStatus
- type RegulatorySummary
- type SecurityVisibilityReference
- type SecurityVisibilitySummary
- type Summary
- type Tool
- type ToolContext
- type ToolLocation
- type TrustDepth
Constants ¶
const ( AuthorityBindingCloudRole = "cloud_role" AuthorityBindingKubernetesRBAC = "kubernetes_rbac" AuthorityBindingServiceConnection = "service_connection" AuthorityBindingWorkloadIdentity = "workload_identity" AuthorityBindingDeploymentPath = "deployment_path" AuthorityBindingSaaSToken = "saas_token" AuthorityAccessAdmin = "admin" AuthorityAccessWrite = "write" AuthorityAccessRead = "read" AuthorityAccessUnknown = "unknown" )
const ( EvidenceStageObservation = "observation" EvidenceStageReference = "reference" EvidenceStageBinding = "binding" EvidenceStageEffectiveAuthority = "effective_authority" EvidenceStageControl = "control" EvidenceStageProof = "proof" AuthorityEvidenceVerified = "verified" AuthorityEvidenceDeclared = "declared" AuthorityEvidenceInferred = "inferred" AuthorityEvidenceUnknown = "unknown" AuthorityEvidenceContradictory = "contradictory" CredentialLifetimeStanding = "standing" CredentialLifetimeJIT = "jit" CredentialLifetimeWorkload = "workload" CredentialLifetimeDelegated = "delegated" CredentialLifetimeUnknown = "unknown" CredentialRotationEvidencePresent = "present" CredentialRotationEvidenceMissing = "missing" CredentialRotationEvidenceNotApplicable = "not_applicable" CredentialRotationEvidenceUnknown = "unknown" CredentialRotationEvidenceStale = "stale" CredentialSourceWorkflowSecretRef = "workflow_secret_ref" CredentialSourceWorkflowBuiltin = "workflow_builtin_token" CredentialSourceNonHumanIdentity = "non_human_identity" CredentialSourceAuthSurface = "auth_surface" CredentialSourceDetectorEvidence = "detector_evidence" // #nosec G101 -- enum label for evidence provenance, not a credential CredentialSourceDirectConfig = "direct_config" // #nosec G101 -- enum label for config provenance, not a credential CredentialSourceUnknown = "unknown" )
const ( EndpointSemanticRead = "read" EndpointSemanticWrite = "write" EndpointSemanticDelete = "delete" EndpointSemanticDeploy = "deploy" EndpointSemanticRefund = "refund" EndpointSemanticPayment = "payment" EndpointSemanticUserAdmin = "user_admin" EndpointSemanticDataExport = "data_export" EndpointSemanticProductionMutation = "production_mutation" )
const ( WritePathRead = "read" WritePathWrite = "write" WritePathPullRequestWrite = "pr_write" WritePathRepoWrite = "repo_write" WritePathReleaseWrite = "release_write" WritePathPackagePublish = "package_publish" WritePathDeployWrite = "deploy_write" WritePathInfraWrite = "infra_write" WritePathSecretBearingExec = "secret_bearing_execution" WritePathProductionAdjacent = "production_adjacent_write" GovernanceControlOwnerAssigned = "owner_assigned" GovernanceControlApproval = "approval_recorded" GovernanceControlLeastPrivilege = "least_privilege_verified" GovernanceControlRotation = "rotation_evidence_attached" GovernanceControlDeploymentGate = "deployment_gate_present" GovernanceControlProduction = "production_access_classified" GovernanceControlProof = "proof_artifact_generated" GovernanceControlReviewCadence = "review_cadence_set" ControlStatusSatisfied = "satisfied" ControlStatusGap = "gap" ControlStatusNotApplicable = "not_applicable" ActionClassRead = "read" ActionClassWrite = "write" ActionClassDeploy = "deploy" ActionClassDelete = "delete" ActionClassExecute = "execute" ActionClassEgress = "egress" ActionClassCredentialAccess = "credential_access" // #nosec G101 -- Deterministic action classification label, not a credential. )
const ( SecurityVisibilityApproved = "approved" SecurityVisibilityKnownApproved = "known_approved" SecurityVisibilityKnownUnapproved = "known_unapproved" SecurityVisibilityUnknownToSecurity = "unknown_to_security" SecurityVisibilityAcceptedRisk = "accepted_risk" SecurityVisibilityDeprecated = "deprecated" SecurityVisibilityRevoked = "revoked" SecurityVisibilityNeedsReview = "needs_review" )
const ( PathContextRuntimeSource = "runtime_source" PathContextDeployableSource = "deployable_source" PathContextFunctionalTest = "functional_test" PathContextUnitTest = "unit_test" PathContextExample = "example" PathContextDocs = "docs" PathContextGeneratedCode = "generated_code" PathContextPackageCache = "package_cache" PathContextUnknown = "unknown" ProductionTargetsStatusConfigured = "configured" // Legacy saved-state value; new scans emit customer_configured. ProductionTargetsStatusCustomerConfigured = "customer_configured" ProductionTargetsStatusBuiltinInferred = "builtin_inferred" ProductionTargetsStatusNotConfigured = "not_configured" ProductionTargetsStatusInvalid = "invalid" ProductionTargetSourceCustomerPolicy = "customer_policy" ProductionTargetSourceBuiltinHeuristic = "builtin_heuristic" ProductionTargetSourceNone = "none" ProductionTargetSourceInvalid = "invalid" CredentialProvenanceStaticSecret = "static_secret" CredentialProvenanceWorkloadIdentity = "workload_identity" CredentialProvenanceInheritedHuman = "inherited_human" CredentialProvenanceOAuthDelegation = "oauth_delegation" CredentialProvenanceJIT = "jit" CredentialProvenanceUnknown = "unknown" CredentialScopeRepository = "repository" CredentialScopeWorkflow = "workflow" CredentialScopeTool = "tool" CredentialScopeEnvironment = "environment" CredentialScopeOrg = "organization" CredentialScopeUnknown = "unknown" CredentialKindGitHubPAT = "github_pat" CredentialKindGitHubWorkflowToken = "github_workflow_token" // #nosec G101 -- Deterministic credential classification label, not a secret. CredentialKindGitHubAppKey = "github_app_key" // #nosec G101 -- Deterministic credential classification label, not a secret. CredentialKindDeployKey = "deploy_key" CredentialKindCloudAdminKey = "cloud_admin_key" CredentialKindCloudAccessKey = "cloud_access_key" CredentialKindOIDCWorkloadID = "oidc_workload_identity" // #nosec G101 -- Deterministic credential classification label, not a secret. CredentialKindDelegatedOAuth = "delegated_oauth" // #nosec G101 -- Deterministic credential classification label, not a secret. CredentialKindJITCredential = "jit_credential" // #nosec G101 -- Deterministic credential classification label, not a secret. CredentialKindInheritedHuman = "inherited_human" CredentialKindStaticSecret = "static_secret" CredentialKindUnknownDurable = "unknown_durable" CredentialKindUnknown = "unknown" CredentialAccessTypeStanding = "standing" CredentialAccessTypeJIT = "jit" CredentialAccessTypeDelegated = "delegated" CredentialAccessTypeWorkload = "workload" CredentialAccessTypeInherited = "inherited" CredentialAccessTypeUnknown = "unknown" )
const ( TrustSurfaceMCP = "mcp" TrustSurfaceA2A = "a2a" TrustAuthNone = "none" TrustAuthStaticSecret = "static_secret" TrustAuthWorkloadIdentity = "workload_identity" TrustAuthInheritedHuman = "inherited_human" TrustAuthOAuthDelegation = "oauth_delegation" TrustAuthJIT = "jit" TrustAuthUnknown = "unknown" TrustDelegationNone = "none" TrustDelegationToolProxy = "tool_proxy" TrustDelegationAgent = "agent_delegate" TrustDelegationUnknown = "unknown" TrustExposureLocal = "local" TrustExposurePrivate = "private" TrustExposurePublic = "public" TrustExposureUnknown = "unknown" TrustPolicyDeclared = "declared" TrustPolicyMissing = "missing" TrustGatewayBound = "bound" TrustGatewayUnbound = "unbound" TrustGatewayUnknownBinding = "unknown" TrustCoverageProtected = "protected" TrustCoverageUnprotected = "unprotected" TrustCoverageUnknown = "unknown" )
Variables ¶
This section is empty.
Functions ¶
func ApplyCanonicalStores ¶ added in v1.7.0
func ApplyCanonicalStores(inventory *Inventory)
func ApplySecurityVisibility ¶ added in v1.0.9
func ApplySecurityVisibility(inv *Inventory, ref SecurityVisibilityReference)
func ApplySecurityVisibilityToPrivilegeMap ¶ added in v1.0.9
func ApplySecurityVisibilityToPrivilegeMap(inv *Inventory)
func AugmentCanonicalStores ¶ added in v1.8.0
func AugmentCanonicalStores(in *Inventory, mutableEndpointGroups [][]MutableEndpointSemantic, credentialAuthorities []*CredentialAuthority, authorityBindingGroups [][]*AuthorityBinding)
func BackfillCanonicalProjectionRefs ¶ added in v1.8.0
func BackfillCanonicalProjectionRefs(in *Inventory)
func BoundedMutableEndpointSemanticRefs ¶ added in v1.9.0
func BoundedMutableEndpointSemanticRefs(refs []string, semantics []MutableEndpointSemantic) []string
func CanonicalAuthorityBindingRefs ¶ added in v1.8.0
func CanonicalAuthorityBindingRefs(values []*AuthorityBinding) []string
func CanonicalCredentialAuthorityRef ¶ added in v1.8.0
func CanonicalCredentialAuthorityRef(value *CredentialAuthority) string
func CanonicalMutableEndpointRefs ¶ added in v1.8.0
func CanonicalMutableEndpointRefs(values []MutableEndpointSemantic) []string
func CanonicalWriteCapable ¶ added in v1.12.0
func CanonicalWriteCapable(input ActionClassInput) bool
CanonicalWriteCapable is the single write-capability invariant used by inventory, action paths, and buyer-facing summaries.
func CredentialRiskMultiplier ¶ added in v1.3.0
func CredentialRiskMultiplierFor ¶ added in v1.3.0
func CredentialRiskMultiplierFor(in *CredentialProvenance) float64
func DeriveActionClasses ¶ added in v1.3.0
func DeriveActionClasses(input ActionClassInput) ([]string, []string)
func DeriveWritePathClasses ¶ added in v1.2.0
func EffectiveStandingAuthority ¶ added in v1.14.0
func EffectiveStandingAuthority(in *CredentialAuthority) bool
EffectiveStandingAuthority is the only predicate permitted to promote a credential into a confirmed standing-authority claim.
func EffectiveStandingAuthorityReasons ¶ added in v1.14.0
func EffectiveStandingAuthorityReasons(in *CredentialAuthority) (bool, []string)
EffectiveStandingAuthorityReasons returns stable fail-closed reason codes for every missing or contradictory stage in standing-authority promotion.
func EnsureCanonicalStores ¶ added in v1.8.0
func EnsureCanonicalStores(in *Inventory)
func GovernanceSecurityVisibilityStatus ¶ added in v1.2.0
func HasMutableEndpointSemantic ¶ added in v1.5.0
func HasMutableEndpointSemantic(values []MutableEndpointSemantic, want string) bool
func HydrateCanonicalProjectionDetails ¶ added in v1.8.0
func HydrateCanonicalProjectionDetails(in *Inventory)
func KeyForFinding ¶
func MergeCredentialLifetime ¶ added in v1.14.0
func MergeCredentialLifetime(current, incoming *CredentialAuthority) (kind, evidenceState string, contradictory bool)
MergeCredentialLifetime keeps the lifetime value and the evidence that supports it atomic. Conflicting known lifetimes fail closed instead of allowing the stronger evidence state to validate an unrelated value.
func ReclassifyApprovalWithMatcher ¶ added in v1.0.2
ReclassifyApprovalWithMatcher applies explicit approved-list policy matching and recomputes approval summary plus dependent derived fields.
func RefreshIdentityGovernance ¶ added in v1.2.0
func RefreshIdentityGovernance(inv *Inventory, identities []manifest.IdentityRecord)
RefreshIdentityGovernance projects persisted lifecycle and approval changes back into the saved inventory snapshot so downstream commands read the same posture the manifest and lifecycle chain now describe.
func StandingPrivilegeFromAuthority ¶ added in v1.5.0
func StandingPrivilegeFromAuthority(in *CredentialAuthority) (bool, []string)
func StandingPrivilegeFromProvenance ¶ added in v1.3.0
func StandingPrivilegeFromProvenance(in *CredentialProvenance) (bool, []string)
func StripCanonicalProjectionDetails ¶ added in v1.8.0
func StripCanonicalProjectionDetails(in *Inventory)
Types ¶
type ActionClassInput ¶ added in v1.3.0
type ActionClassInput struct {
Permissions []string
WritePathClasses []string
ActionClasses []string
MutableEndpointSemantics []MutableEndpointSemantic
WriteCapable bool
PullRequestWrite bool
MergeExecute bool
CredentialAccess bool
DeployWrite bool
ProductionWrite bool
MatchedTargets []string
ToolType string
Location string
}
type AdoptionSummary ¶ added in v1.0.2
type Agent ¶ added in v1.0.8
type Agent struct {
AgentID string `json:"agent_id" yaml:"agent_id"`
AgentInstanceID string `json:"agent_instance_id" yaml:"agent_instance_id"`
ToolFamilyID string `json:"tool_family_id,omitempty" yaml:"tool_family_id,omitempty"`
ToolInstanceID string `json:"tool_instance_id,omitempty" yaml:"tool_instance_id,omitempty"`
Framework string `json:"framework" yaml:"framework"`
Symbol string `json:"symbol,omitempty" yaml:"symbol,omitempty"`
Purpose string `json:"purpose,omitempty" yaml:"purpose,omitempty"`
PurposeSource string `json:"purpose_source,omitempty" yaml:"purpose_source,omitempty"`
PurposeConfidence string `json:"purpose_confidence,omitempty" yaml:"purpose_confidence,omitempty"`
Version string `json:"version,omitempty" yaml:"version,omitempty"`
VersionSource string `json:"version_source,omitempty" yaml:"version_source,omitempty"`
ConfigFingerprint string `json:"config_fingerprint,omitempty" yaml:"config_fingerprint,omitempty"`
ConfigSource string `json:"config_source,omitempty" yaml:"config_source,omitempty"`
SecurityVisibilityStatus string `json:"security_visibility_status,omitempty" yaml:"security_visibility_status,omitempty"`
Org string `json:"org" yaml:"org"`
Repo string `json:"repo" yaml:"repo"`
Location string `json:"location" yaml:"location"`
LocationRange *model.LocationRange `json:"location_range,omitempty" yaml:"location_range,omitempty"`
BoundTools []string `json:"bound_tools,omitempty" yaml:"bound_tools,omitempty"`
BoundDataSources []string `json:"bound_data_sources,omitempty" yaml:"bound_data_sources,omitempty"`
BoundAuthSurfaces []string `json:"bound_auth_surfaces,omitempty" yaml:"bound_auth_surfaces,omitempty"`
BindingEvidenceKeys []string `json:"binding_evidence_keys,omitempty" yaml:"binding_evidence_keys,omitempty"`
MissingBindings []string `json:"missing_bindings,omitempty" yaml:"missing_bindings,omitempty"`
DeploymentStatus string `json:"deployment_status,omitempty" yaml:"deployment_status,omitempty"`
DeploymentArtifacts []string `json:"deployment_artifacts,omitempty" yaml:"deployment_artifacts,omitempty"`
DeploymentEvidenceKeys []string `json:"deployment_evidence_keys,omitempty" yaml:"deployment_evidence_keys,omitempty"`
}
type AgentBindingContext ¶ added in v1.0.8
type AgentDeploymentContext ¶ added in v1.0.8
type AgentPrivilegeMapEntry ¶ added in v1.0.2
type AgentPrivilegeMapEntry struct {
AgentID string `json:"agent_id" yaml:"agent_id"`
AgentInstanceID string `json:"agent_instance_id,omitempty" yaml:"agent_instance_id,omitempty"`
ToolFamilyID string `json:"tool_family_id,omitempty" yaml:"tool_family_id,omitempty"`
ToolInstanceID string `json:"tool_instance_id,omitempty" yaml:"tool_instance_id,omitempty"`
ToolID string `json:"tool_id" yaml:"tool_id"`
ToolType string `json:"tool_type" yaml:"tool_type"`
Framework string `json:"framework,omitempty" yaml:"framework,omitempty"`
Symbol string `json:"symbol,omitempty" yaml:"symbol,omitempty"`
Purpose string `json:"purpose,omitempty" yaml:"purpose,omitempty"`
PurposeSource string `json:"purpose_source,omitempty" yaml:"purpose_source,omitempty"`
PurposeConfidence string `json:"purpose_confidence,omitempty" yaml:"purpose_confidence,omitempty"`
Version string `json:"version,omitempty" yaml:"version,omitempty"`
VersionSource string `json:"version_source,omitempty" yaml:"version_source,omitempty"`
ConfigFingerprint string `json:"config_fingerprint,omitempty" yaml:"config_fingerprint,omitempty"`
ConfigSource string `json:"config_source,omitempty" yaml:"config_source,omitempty"`
DeliveryHarnesses []string `json:"delivery_harnesses,omitempty" yaml:"delivery_harnesses,omitempty"`
ResolverRefs []string `json:"resolver_refs,omitempty" yaml:"resolver_refs,omitempty"`
EvalConfigRefs []string `json:"eval_config_refs,omitempty" yaml:"eval_config_refs,omitempty"`
DryRunRequired bool `json:"dry_run_required,omitempty" yaml:"dry_run_required,omitempty"`
SandboxGates []string `json:"sandbox_gates,omitempty" yaml:"sandbox_gates,omitempty"`
TestGates []string `json:"test_gates,omitempty" yaml:"test_gates,omitempty"`
ValidationRequirements []string `json:"validation_requirements,omitempty" yaml:"validation_requirements,omitempty"`
ExecutionRelationships []model.ExecutionRelationship `json:"execution_relationships,omitempty" yaml:"execution_relationships,omitempty"`
Org string `json:"org" yaml:"org"`
Repos []string `json:"repos" yaml:"repos"`
MutableEndpointSemanticRefs []string `json:"mutable_endpoint_semantic_refs,omitempty" yaml:"mutable_endpoint_semantic_refs,omitempty"`
CredentialAuthorityRef string `json:"credential_authority_ref,omitempty" yaml:"credential_authority_ref,omitempty"`
AuthorityBindingRefs []string `json:"authority_binding_refs,omitempty" yaml:"authority_binding_refs,omitempty"`
Permissions []string `json:"permissions" yaml:"permissions"`
WritePathClasses []string `json:"write_path_classes,omitempty" yaml:"write_path_classes,omitempty"`
ActionClasses []string `json:"action_classes,omitempty" yaml:"action_classes,omitempty"`
ActionReasons []string `json:"action_reasons,omitempty" yaml:"action_reasons,omitempty"`
MutableEndpointSemantics []MutableEndpointSemantic `json:"mutable_endpoint_semantics,omitempty" yaml:"mutable_endpoint_semantics,omitempty"`
GovernanceControls []GovernanceControlMapping `json:"governance_controls,omitempty" yaml:"governance_controls,omitempty"`
Location string `json:"location,omitempty" yaml:"location,omitempty"`
LocationRange *model.LocationRange `json:"location_range,omitempty" yaml:"location_range,omitempty"`
EndpointClass string `json:"endpoint_class" yaml:"endpoint_class"`
DataClass string `json:"data_class" yaml:"data_class"`
AutonomyLevel string `json:"autonomy_level" yaml:"autonomy_level"`
RiskScore float64 `json:"risk_score" yaml:"risk_score"`
ApprovalClassification string `json:"approval_classification,omitempty" yaml:"approval_classification,omitempty"`
SecurityVisibilityStatus string `json:"security_visibility_status,omitempty" yaml:"security_visibility_status,omitempty"`
BoundTools []string `json:"bound_tools,omitempty" yaml:"bound_tools,omitempty"`
BoundDataSources []string `json:"bound_data_sources,omitempty" yaml:"bound_data_sources,omitempty"`
BoundAuthSurfaces []string `json:"bound_auth_surfaces,omitempty" yaml:"bound_auth_surfaces,omitempty"`
BindingEvidenceKeys []string `json:"binding_evidence_keys,omitempty" yaml:"binding_evidence_keys,omitempty"`
MissingBindings []string `json:"missing_bindings,omitempty" yaml:"missing_bindings,omitempty"`
DeploymentStatus string `json:"deployment_status,omitempty" yaml:"deployment_status,omitempty"`
DeploymentArtifacts []string `json:"deployment_artifacts,omitempty" yaml:"deployment_artifacts,omitempty"`
DeploymentEvidenceKeys []string `json:"deployment_evidence_keys,omitempty" yaml:"deployment_evidence_keys,omitempty"`
WorkflowTriggerClass string `json:"workflow_trigger_class,omitempty" yaml:"workflow_trigger_class,omitempty"`
OperationalOwner string `json:"operational_owner,omitempty" yaml:"operational_owner,omitempty"`
OwnerSource string `json:"owner_source,omitempty" yaml:"owner_source,omitempty"`
OwnershipStatus string `json:"ownership_status,omitempty" yaml:"ownership_status,omitempty"`
OwnershipState string `json:"ownership_state,omitempty" yaml:"ownership_state,omitempty"`
OwnershipConfidence float64 `json:"ownership_confidence,omitempty" yaml:"ownership_confidence,omitempty"`
OwnershipEvidence []string `json:"ownership_evidence_basis,omitempty" yaml:"ownership_evidence_basis,omitempty"`
OwnershipConflicts []string `json:"ownership_conflicts,omitempty" yaml:"ownership_conflicts,omitempty"`
OwnershipDecision *evidencepolicy.Decision `json:"ownership_decision,omitempty" yaml:"ownership_decision,omitempty"`
ApprovalGapReasons []string `json:"approval_gap_reasons,omitempty" yaml:"approval_gap_reasons,omitempty"`
TrustDepth *TrustDepth `json:"trust_depth,omitempty" yaml:"trust_depth,omitempty"`
PullRequestWrite bool `json:"pull_request_write,omitempty" yaml:"pull_request_write,omitempty"`
MergeExecute bool `json:"merge_execute,omitempty" yaml:"merge_execute,omitempty"`
DeployWrite bool `json:"deploy_write,omitempty" yaml:"deploy_write,omitempty"`
DeliveryChainStatus string `json:"delivery_chain_status,omitempty" yaml:"delivery_chain_status,omitempty"`
ProductionTargetStatus string `json:"production_target_status,omitempty" yaml:"production_target_status,omitempty"`
ProductionTargetSource string `json:"production_target_source,omitempty" yaml:"production_target_source,omitempty"`
ProductionImpactInferred bool `json:"production_impact_inferred,omitempty" yaml:"production_impact_inferred,omitempty"`
WriteCapable bool `json:"write_capable" yaml:"write_capable"`
CredentialAccess bool `json:"credential_access" yaml:"credential_access"`
Credentials []*CredentialProvenance `json:"credentials,omitempty" yaml:"credentials,omitempty"`
CredentialProvenance *CredentialProvenance `json:"credential_provenance,omitempty" yaml:"credential_provenance,omitempty"`
CredentialAuthority *CredentialAuthority `json:"credential_authority,omitempty" yaml:"credential_authority,omitempty"`
AuthorityBindings []*AuthorityBinding `json:"authority_bindings,omitempty" yaml:"authority_bindings,omitempty"`
PathContext *PathContext `json:"path_context,omitempty" yaml:"path_context,omitempty"`
StandingPrivilege bool `json:"standing_privilege,omitempty" yaml:"standing_privilege,omitempty"`
StandingPrivilegeReasons []string `json:"standing_privilege_reasons,omitempty" yaml:"standing_privilege_reasons,omitempty"`
ExecCapable bool `json:"exec_capable" yaml:"exec_capable"`
ProductionWrite bool `json:"production_write" yaml:"production_write"`
MatchedProductionTargets []string `json:"matched_production_targets,omitempty" yaml:"matched_production_targets,omitempty"`
}
type ApprovalSummary ¶ added in v1.0.2
type ApprovalSummary struct {
ApprovedTools int `json:"approved_tools" yaml:"approved_tools"`
UnapprovedTools int `json:"unapproved_tools" yaml:"unapproved_tools"`
UnknownTools int `json:"unknown_tools" yaml:"unknown_tools"`
ApprovedPercent float64 `json:"approved_percent" yaml:"approved_percent"`
UnapprovedPercent float64 `json:"unapproved_percent" yaml:"unapproved_percent"`
UnknownPercent float64 `json:"unknown_percent" yaml:"unknown_percent"`
UnapprovedPerApprove *float64 `json:"unapproved_per_approved" yaml:"unapproved_per_approved"`
}
type AuthorityBinding ¶ added in v1.6.0
type AuthorityBinding struct {
Kind string `json:"kind" yaml:"kind"`
Provider string `json:"provider,omitempty" yaml:"provider,omitempty"`
Subject string `json:"subject,omitempty" yaml:"subject,omitempty"`
TargetSystem string `json:"target_system,omitempty" yaml:"target_system,omitempty"`
Resource string `json:"resource,omitempty" yaml:"resource,omitempty"`
LikelyScope string `json:"likely_scope,omitempty" yaml:"likely_scope,omitempty"`
AccessLevel string `json:"access_level,omitempty" yaml:"access_level,omitempty"`
Environment string `json:"environment,omitempty" yaml:"environment,omitempty"`
Production bool `json:"production" yaml:"production"`
Confidence string `json:"confidence,omitempty" yaml:"confidence,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty" yaml:"evidence_refs,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty" yaml:"reason_codes,omitempty"`
}
func CloneAuthorityBinding ¶ added in v1.6.0
func CloneAuthorityBinding(in *AuthorityBinding) *AuthorityBinding
func CloneAuthorityBindings ¶ added in v1.6.0
func CloneAuthorityBindings(in []*AuthorityBinding) []*AuthorityBinding
func NormalizeAuthorityBinding ¶ added in v1.6.0
func NormalizeAuthorityBinding(in *AuthorityBinding) *AuthorityBinding
func NormalizeAuthorityBindings ¶ added in v1.6.0
func NormalizeAuthorityBindings(in []*AuthorityBinding) []*AuthorityBinding
type AuthorityBindingRecord ¶ added in v1.7.0
type AuthorityBindingRecord struct {
RefID string `json:"ref_id"`
AuthorityBinding
}
type BuildInput ¶
type BuildInput struct {
Manifest source.Manifest
Findings []model.Finding
Contexts map[string]ToolContext
AgentBindings map[string]AgentBindingContext
AgentDeployments map[string]AgentDeploymentContext
Methodology MethodologySummary
RepoExposureSummaries []exposure.RepoExposureSummary
GeneratedAt time.Time
}
type CanonicalResolver ¶ added in v1.8.0
type CanonicalResolver struct {
// contains filtered or unexported fields
}
func NewCanonicalResolver ¶ added in v1.8.0
func NewCanonicalResolver(stores *CanonicalStores) CanonicalResolver
func (CanonicalResolver) HasAuthorityBindingRefs ¶ added in v1.8.0
func (r CanonicalResolver) HasAuthorityBindingRefs(refs []string) bool
func (CanonicalResolver) HasCredentialAuthorityRef ¶ added in v1.8.0
func (r CanonicalResolver) HasCredentialAuthorityRef(ref string) bool
func (CanonicalResolver) HasMutableEndpointSemanticRefs ¶ added in v1.8.0
func (r CanonicalResolver) HasMutableEndpointSemanticRefs(refs []string) bool
func (CanonicalResolver) ResolveAuthorityBindings ¶ added in v1.8.0
func (r CanonicalResolver) ResolveAuthorityBindings(refs []string, fallback []*AuthorityBinding) []*AuthorityBinding
func (CanonicalResolver) ResolveCredentialAuthority ¶ added in v1.8.0
func (r CanonicalResolver) ResolveCredentialAuthority(ref string, fallback *CredentialAuthority) *CredentialAuthority
func (CanonicalResolver) ResolveMutableEndpointGroupProjection ¶ added in v1.9.0
func (r CanonicalResolver) ResolveMutableEndpointGroupProjection(group EndpointRefGroupProjection) EndpointRefGroupProjection
func (CanonicalResolver) ResolveMutableEndpointGroupRefs ¶ added in v1.9.0
func (r CanonicalResolver) ResolveMutableEndpointGroupRefs(groupID string, fallback []string) []string
func (CanonicalResolver) ResolveMutableEndpointSemantics ¶ added in v1.8.0
func (r CanonicalResolver) ResolveMutableEndpointSemantics(refs []string, fallback []MutableEndpointSemantic) []MutableEndpointSemantic
type CanonicalStores ¶ added in v1.7.0
type CanonicalStores struct {
Version string `json:"version"`
MutableEndpointSemantics []MutableEndpointSemanticRecord `json:"mutable_endpoint_semantics,omitempty"`
MutableEndpointGroups []MutableEndpointGroupRecord `json:"mutable_endpoint_groups,omitempty"`
CredentialAuthorities []CredentialAuthorityRecord `json:"credential_authorities,omitempty"`
AuthorityBindings []AuthorityBindingRecord `json:"authority_bindings,omitempty"`
}
type ControlRollup ¶ added in v1.0.2
type CredentialAuthority ¶ added in v1.5.0
type CredentialAuthority struct {
EvidenceStage string `json:"evidence_stage,omitempty" yaml:"evidence_stage,omitempty"`
ExistenceEvidenceState string `json:"existence_evidence_state,omitempty" yaml:"existence_evidence_state,omitempty"`
BindingEvidenceState string `json:"binding_evidence_state,omitempty" yaml:"binding_evidence_state,omitempty"`
LifetimeEvidenceState string `json:"lifetime_evidence_state,omitempty" yaml:"lifetime_evidence_state,omitempty"`
LifetimeKind string `json:"lifetime_kind,omitempty" yaml:"lifetime_kind,omitempty"`
CredentialPresent bool `json:"credential_present" yaml:"credential_present"`
CredentialReferencedByWorkflow bool `json:"credential_referenced_by_workflow" yaml:"credential_referenced_by_workflow"`
CredentialUsableByPath bool `json:"credential_usable_by_path" yaml:"credential_usable_by_path"`
CredentialKind string `json:"credential_kind,omitempty" yaml:"credential_kind,omitempty"`
AccessType string `json:"access_type,omitempty" yaml:"access_type,omitempty"`
StandingAccess bool `json:"standing_access" yaml:"standing_access"`
LikelyJIT bool `json:"likely_jit" yaml:"likely_jit"`
TargetSystem string `json:"target_system,omitempty" yaml:"target_system,omitempty"`
LikelyScope string `json:"likely_scope,omitempty" yaml:"likely_scope,omitempty"`
ScopeConfidence string `json:"scope_confidence,omitempty" yaml:"scope_confidence,omitempty"`
RotationEvidenceStatus string `json:"rotation_evidence_status,omitempty" yaml:"rotation_evidence_status,omitempty"`
CredentialSource string `json:"credential_source,omitempty" yaml:"credential_source,omitempty"`
Confidence string `json:"confidence,omitempty" yaml:"confidence,omitempty"`
ReasonCodes []string `json:"reason_codes,omitempty" yaml:"reason_codes,omitempty"`
}
func CloneCredentialAuthorities ¶ added in v1.5.0
func CloneCredentialAuthorities(in []*CredentialAuthority) []*CredentialAuthority
func CloneCredentialAuthority ¶ added in v1.5.0
func CloneCredentialAuthority(in *CredentialAuthority) *CredentialAuthority
func NormalizeCredentialAuthorities ¶ added in v1.5.0
func NormalizeCredentialAuthorities(in []*CredentialAuthority) []*CredentialAuthority
func NormalizeCredentialAuthority ¶ added in v1.5.0
func NormalizeCredentialAuthority(in *CredentialAuthority) *CredentialAuthority
type CredentialAuthorityRecord ¶ added in v1.7.0
type CredentialAuthorityRecord struct {
RefID string `json:"ref_id"`
CredentialAuthority
}
type CredentialProvenance ¶ added in v1.3.0
type CredentialProvenance struct {
Type string `json:"type" yaml:"type"`
Subject string `json:"subject,omitempty" yaml:"subject,omitempty"`
Scope string `json:"scope" yaml:"scope"`
Confidence string `json:"confidence" yaml:"confidence"`
TargetSystem string `json:"target_system,omitempty" yaml:"target_system,omitempty"`
LikelyScope string `json:"likely_scope,omitempty" yaml:"likely_scope,omitempty"`
ScopeConfidence string `json:"scope_confidence,omitempty" yaml:"scope_confidence,omitempty"`
EvidenceBasis []string `json:"evidence_basis,omitempty" yaml:"evidence_basis,omitempty"`
CredentialKind string `json:"credential_kind,omitempty" yaml:"credential_kind,omitempty"`
AccessType string `json:"access_type,omitempty" yaml:"access_type,omitempty"`
StandingAccess bool `json:"standing_access" yaml:"standing_access"`
LikelyJIT bool `json:"likely_jit" yaml:"likely_jit"`
EvidenceLocation string `json:"evidence_location,omitempty" yaml:"evidence_location,omitempty"`
ClassificationReasons []string `json:"classification_reasons,omitempty" yaml:"classification_reasons,omitempty"`
RiskMultiplier float64 `json:"risk_multiplier" yaml:"risk_multiplier"`
}
func CloneCredentialProvenance ¶ added in v1.3.0
func CloneCredentialProvenance(in *CredentialProvenance) *CredentialProvenance
func CloneCredentialProvenances ¶ added in v1.4.0
func CloneCredentialProvenances(in []*CredentialProvenance) []*CredentialProvenance
func CredentialRollup ¶ added in v1.4.0
func CredentialRollup(credentials []*CredentialProvenance, fallback *CredentialProvenance) *CredentialProvenance
func NormalizeCredentialProvenance ¶ added in v1.3.0
func NormalizeCredentialProvenance(in *CredentialProvenance) *CredentialProvenance
func NormalizeCredentialProvenances ¶ added in v1.4.0
func NormalizeCredentialProvenances(in []*CredentialProvenance) []*CredentialProvenance
type EndpointOperationClassCount ¶ added in v1.9.0
type EndpointRefGroupProjection ¶ added in v1.9.0
type EndpointRefGroupProjection struct {
EndpointRefGroupID string `json:"endpoint_ref_group_id,omitempty" yaml:"endpoint_ref_group_id,omitempty"`
EndpointRefCount int `json:"endpoint_ref_count,omitempty" yaml:"endpoint_ref_count,omitempty"`
EndpointRouteGroups []string `json:"endpoint_route_groups,omitempty" yaml:"endpoint_route_groups,omitempty"`
EndpointOperationCounts []EndpointOperationClassCount `json:"endpoint_operation_counts,omitempty" yaml:"endpoint_operation_counts,omitempty"`
EndpointRefSamples []EndpointRefSample `json:"endpoint_ref_samples,omitempty" yaml:"endpoint_ref_samples,omitempty"`
}
func BackfillMutableEndpointGroupProjection ¶ added in v1.9.0
func BackfillMutableEndpointGroupProjection(group EndpointRefGroupProjection, refs []string, semantics []MutableEndpointSemantic) EndpointRefGroupProjection
func BuildMutableEndpointGroupProjection ¶ added in v1.9.0
func BuildMutableEndpointGroupProjection(refs []string, semantics []MutableEndpointSemantic) EndpointRefGroupProjection
type EndpointRefSample ¶ added in v1.9.0
type EndpointRefSample struct {
RefID string `json:"ref_id,omitempty" yaml:"ref_id,omitempty"`
Operation string `json:"operation,omitempty" yaml:"operation,omitempty"`
Surface string `json:"surface,omitempty" yaml:"surface,omitempty"`
Semantics []string `json:"semantics,omitempty" yaml:"semantics,omitempty"`
}
type GovernanceControlInput ¶ added in v1.2.0
type GovernanceControlInput struct {
Owner string
OwnershipStatus string
ApprovalStatus string
ApprovalClassification string
LifecycleState string
SecurityVisibilityStatus string
DeploymentGate string
ProofRequirement string
ProductionTargetStatus string
WritePathClasses []string
CredentialAccess bool
ProductionWrite bool
EvidenceBasis []string
}
type GovernanceControlMapping ¶ added in v1.2.0
type GovernanceControlMapping struct {
Control string `json:"control" yaml:"control"`
Status string `json:"status" yaml:"status"`
Evidence []string `json:"evidence,omitempty" yaml:"evidence,omitempty"`
Gaps []string `json:"gaps,omitempty" yaml:"gaps,omitempty"`
}
func BuildGovernanceControls ¶ added in v1.2.0
func BuildGovernanceControls(input GovernanceControlInput) []GovernanceControlMapping
type Inventory ¶
type Inventory struct {
InventoryVersion string `json:"inventory_version" yaml:"inventory_version"`
GeneratedAt string `json:"generated_at" yaml:"generated_at"`
Org string `json:"org" yaml:"org"`
Agents []Agent `json:"agents" yaml:"agents"`
Tools []Tool `json:"tools" yaml:"tools"`
CanonicalStores *CanonicalStores `json:"canonical_stores,omitempty" yaml:"canonical_stores,omitempty"`
NonHumanIdentities []NonHumanIdentity `json:"non_human_identities,omitempty" yaml:"non_human_identities,omitempty"`
Methodology MethodologySummary `json:"methodology" yaml:"methodology"`
ApprovalSummary ApprovalSummary `json:"approval_summary" yaml:"approval_summary"`
AdoptionSummary AdoptionSummary `json:"adoption_summary" yaml:"adoption_summary"`
RegulatorySummary RegulatorySummary `json:"regulatory_summary" yaml:"regulatory_summary"`
SecurityVisibility SecurityVisibilitySummary `json:"security_visibility_summary" yaml:"security_visibility_summary"`
LocalGovernance *LocalGovernanceSummary `json:"local_governance,omitempty" yaml:"local_governance,omitempty"`
RepoExposureSummaries []exposure.RepoExposureSummary `json:"repo_exposure_summaries" yaml:"repo_exposure_summaries"`
PrivilegeBudget PrivilegeBudget `json:"privilege_budget" yaml:"privilege_budget"`
AgentPrivilegeMap []AgentPrivilegeMapEntry `json:"agent_privilege_map" yaml:"agent_privilege_map"`
LifecycleQueue []governancequeue.Item `json:"lifecycle_queue,omitempty" yaml:"lifecycle_queue,omitempty"`
Summary Summary `json:"summary" yaml:"summary"`
}
func Build ¶
func Build(input BuildInput) Inventory
type LocalGovernanceSummary ¶ added in v1.0.11
type LocalGovernanceSummary struct {
ReferenceBasis string `json:"reference_basis" yaml:"reference_basis"`
ReferencePath string `json:"reference_path,omitempty" yaml:"reference_path,omitempty"`
Status string `json:"status" yaml:"status"`
SanctionedTools int `json:"sanctioned_tools" yaml:"sanctioned_tools"`
UnsanctionedTools int `json:"unsanctioned_tools" yaml:"unsanctioned_tools"`
UnknownTools int `json:"unknown_tools" yaml:"unknown_tools"`
}
type MethodologyDetector ¶ added in v1.0.2
type MethodologySummary ¶ added in v1.0.2
type MethodologySummary struct {
WrkrVersion string `json:"wrkr_version" yaml:"wrkr_version"`
ScanStartedAt string `json:"scan_started_at" yaml:"scan_started_at"`
ScanCompletedAt string `json:"scan_completed_at" yaml:"scan_completed_at"`
ScanDurationSeconds float64 `json:"scan_duration_seconds" yaml:"scan_duration_seconds"`
RepoCount int `json:"repo_count" yaml:"repo_count"`
FileCountProcessed int `json:"file_count_processed" yaml:"file_count_processed"`
Detectors []MethodologyDetector `json:"detectors" yaml:"detectors"`
}
type MutableEndpointGroupRecord ¶ added in v1.9.0
type MutableEndpointGroupRecord struct {
GroupID string `json:"group_id" yaml:"group_id"`
RefIDs []string `json:"ref_ids,omitempty" yaml:"ref_ids,omitempty"`
RefCount int `json:"ref_count,omitempty" yaml:"ref_count,omitempty"`
RouteGroups []string `json:"route_groups,omitempty" yaml:"route_groups,omitempty"`
OperationCounts []EndpointOperationClassCount `json:"operation_counts,omitempty" yaml:"operation_counts,omitempty"`
RefSamples []EndpointRefSample `json:"ref_samples,omitempty" yaml:"ref_samples,omitempty"`
}
type MutableEndpointSemantic ¶ added in v1.5.0
type MutableEndpointSemantic struct {
Semantic string `json:"semantic" yaml:"semantic"`
Confidence string `json:"confidence,omitempty" yaml:"confidence,omitempty"`
Surface string `json:"surface,omitempty" yaml:"surface,omitempty"`
Operation string `json:"operation,omitempty" yaml:"operation,omitempty"`
EvidenceRefs []string `json:"evidence_refs,omitempty" yaml:"evidence_refs,omitempty"`
}
func BoundedMutableEndpointSemantics ¶ added in v1.9.0
func BoundedMutableEndpointSemantics(semantics []MutableEndpointSemantic) []MutableEndpointSemantic
func CloneMutableEndpointSemantics ¶ added in v1.5.0
func CloneMutableEndpointSemantics(in []MutableEndpointSemantic) []MutableEndpointSemantic
func NormalizeMutableEndpointSemantics ¶ added in v1.5.0
func NormalizeMutableEndpointSemantics(in []MutableEndpointSemantic) []MutableEndpointSemantic
type MutableEndpointSemanticRecord ¶ added in v1.7.0
type MutableEndpointSemanticRecord struct {
RefID string `json:"ref_id"`
MutableEndpointSemantic
}
type NonHumanIdentity ¶ added in v1.0.11
type NonHumanIdentity struct {
IdentityID string `json:"identity_id" yaml:"identity_id"`
IdentityType string `json:"identity_type" yaml:"identity_type"`
Subject string `json:"subject" yaml:"subject"`
Source string `json:"source" yaml:"source"`
Org string `json:"org" yaml:"org"`
Repo string `json:"repo" yaml:"repo"`
Location string `json:"location" yaml:"location"`
Confidence string `json:"confidence,omitempty" yaml:"confidence,omitempty"`
}
type PathContext ¶ added in v1.4.0
type PathContext struct {
Kind string `json:"kind" yaml:"kind"`
Confidence string `json:"confidence" yaml:"confidence"`
Reasons []string `json:"reasons,omitempty" yaml:"reasons,omitempty"`
}
func ClassifyPathContext ¶ added in v1.4.0
func ClassifyPathContext(location string) *PathContext
func ClonePathContext ¶ added in v1.4.0
func ClonePathContext(in *PathContext) *PathContext
type PermissionSurface ¶ added in v1.0.2
type PrivilegeBudget ¶ added in v1.0.2
type PrivilegeBudget struct {
TotalTools int `json:"total_tools" yaml:"total_tools"`
WriteCapableTools int `json:"write_capable_tools" yaml:"write_capable_tools"`
CredentialAccessTools int `json:"credential_access_tools" yaml:"credential_access_tools"`
ExecCapableTools int `json:"exec_capable_tools" yaml:"exec_capable_tools"`
ProductionWrite ProductionWriteBudget `json:"production_write" yaml:"production_write"`
}
type ProductionWriteBudget ¶ added in v1.0.2
type RegulationRollup ¶ added in v1.0.2
type RegulatoryStatus ¶ added in v1.0.2
type RegulatorySummary ¶ added in v1.0.2
type RegulatorySummary struct {
ByRegulation []RegulationRollup `json:"by_regulation" yaml:"by_regulation"`
ByControl []ControlRollup `json:"by_control" yaml:"by_control"`
}
type SecurityVisibilityReference ¶ added in v1.0.9
type SecurityVisibilitySummary ¶ added in v1.0.9
type SecurityVisibilitySummary struct {
ReferenceBasis string `json:"reference_basis" yaml:"reference_basis"`
ReferencePath string `json:"reference_path,omitempty" yaml:"reference_path,omitempty"`
ApprovedTools int `json:"approved_tools" yaml:"approved_tools"`
AcceptedRiskTools int `json:"accepted_risk_tools,omitempty" yaml:"accepted_risk_tools,omitempty"`
DeprecatedTools int `json:"deprecated_tools,omitempty" yaml:"deprecated_tools,omitempty"`
RevokedTools int `json:"revoked_tools,omitempty" yaml:"revoked_tools,omitempty"`
NeedsReviewTools int `json:"needs_review_tools,omitempty" yaml:"needs_review_tools,omitempty"`
KnownUnapprovedTools int `json:"known_unapproved_tools" yaml:"known_unapproved_tools"`
UnknownToSecurityTools int `json:"unknown_to_security_tools" yaml:"unknown_to_security_tools"`
ApprovedAgents int `json:"approved_agents" yaml:"approved_agents"`
AcceptedRiskAgents int `json:"accepted_risk_agents,omitempty" yaml:"accepted_risk_agents,omitempty"`
DeprecatedAgents int `json:"deprecated_agents,omitempty" yaml:"deprecated_agents,omitempty"`
RevokedAgents int `json:"revoked_agents,omitempty" yaml:"revoked_agents,omitempty"`
NeedsReviewAgents int `json:"needs_review_agents,omitempty" yaml:"needs_review_agents,omitempty"`
KnownUnapprovedAgents int `json:"known_unapproved_agents" yaml:"known_unapproved_agents"`
UnknownToSecurityAgents int `json:"unknown_to_security_agents" yaml:"unknown_to_security_agents"`
UnknownToSecurityWriteCapableAgents int `json:"unknown_to_security_write_capable_agents" yaml:"unknown_to_security_write_capable_agents"`
}
type Tool ¶
type Tool struct {
ToolID string `json:"tool_id" yaml:"tool_id"`
ToolFamilyID string `json:"tool_family_id,omitempty" yaml:"tool_family_id,omitempty"`
ToolInstanceID string `json:"tool_instance_id,omitempty" yaml:"tool_instance_id,omitempty"`
AgentID string `json:"agent_id" yaml:"agent_id"`
DiscoveryMethod string `json:"discovery_method" yaml:"discovery_method"`
ToolType string `json:"tool_type" yaml:"tool_type"`
ToolCategory string `json:"tool_category" yaml:"tool_category"`
ConfidenceScore float64 `json:"confidence_score" yaml:"confidence_score"`
Org string `json:"org" yaml:"org"`
Repos []string `json:"repos" yaml:"repos"`
Locations []ToolLocation `json:"locations" yaml:"locations"`
Purpose string `json:"purpose,omitempty" yaml:"purpose,omitempty"`
PurposeSource string `json:"purpose_source,omitempty" yaml:"purpose_source,omitempty"`
PurposeConfidence string `json:"purpose_confidence,omitempty" yaml:"purpose_confidence,omitempty"`
Version string `json:"version,omitempty" yaml:"version,omitempty"`
VersionSource string `json:"version_source,omitempty" yaml:"version_source,omitempty"`
ConfigFingerprint string `json:"config_fingerprint,omitempty" yaml:"config_fingerprint,omitempty"`
ConfigSource string `json:"config_source,omitempty" yaml:"config_source,omitempty"`
MutableEndpointSemanticRefs []string `json:"mutable_endpoint_semantic_refs,omitempty" yaml:"mutable_endpoint_semantic_refs,omitempty"`
Permissions []string `json:"permissions,omitempty" yaml:"permissions,omitempty"`
WritePathClasses []string `json:"write_path_classes,omitempty" yaml:"write_path_classes,omitempty"`
MutableEndpointSemantics []MutableEndpointSemantic `json:"mutable_endpoint_semantics,omitempty" yaml:"mutable_endpoint_semantics,omitempty"`
GovernanceControls []GovernanceControlMapping `json:"governance_controls,omitempty" yaml:"governance_controls,omitempty"`
PermissionSurface PermissionSurface `json:"permission_surface" yaml:"permission_surface"`
PermissionTier string `json:"permission_tier" yaml:"permission_tier"`
RiskTier string `json:"risk_tier" yaml:"risk_tier"`
AdoptionPattern string `json:"adoption_pattern" yaml:"adoption_pattern"`
RegulatoryMapping []RegulatoryStatus `json:"regulatory_mapping" yaml:"regulatory_mapping"`
EndpointClass string `json:"endpoint_class" yaml:"endpoint_class"`
DataClass string `json:"data_class" yaml:"data_class"`
AutonomyLevel string `json:"autonomy_level" yaml:"autonomy_level"`
RiskScore float64 `json:"risk_score" yaml:"risk_score"`
ApprovalStatus string `json:"approval_status" yaml:"approval_status"`
ApprovalClass string `json:"approval_classification" yaml:"approval_classification"`
SecurityVisibilityStatus string `json:"security_visibility_status,omitempty" yaml:"security_visibility_status,omitempty"`
LifecycleState string `json:"lifecycle_state" yaml:"lifecycle_state"`
TrustDepth *TrustDepth `json:"trust_depth,omitempty" yaml:"trust_depth,omitempty"`
}
type ToolContext ¶
type ToolLocation ¶
type ToolLocation struct {
Repo string `json:"repo" yaml:"repo"`
Location string `json:"location" yaml:"location"`
Owner string `json:"owner" yaml:"owner"`
OwnerSource string `json:"owner_source,omitempty" yaml:"owner_source,omitempty"`
OwnershipStatus string `json:"ownership_status,omitempty" yaml:"ownership_status,omitempty"`
OwnershipState string `json:"ownership_state,omitempty" yaml:"ownership_state,omitempty"`
OwnershipConfidence float64 `json:"ownership_confidence,omitempty" yaml:"ownership_confidence,omitempty"`
OwnershipEvidence []string `json:"ownership_evidence_basis,omitempty" yaml:"ownership_evidence_basis,omitempty"`
OwnershipConflicts []string `json:"ownership_conflicts,omitempty" yaml:"ownership_conflicts,omitempty"`
OwnershipDecision *evidencepolicy.Decision `json:"ownership_decision,omitempty" yaml:"ownership_decision,omitempty"`
}
type TrustDepth ¶ added in v1.3.0
type TrustDepth struct {
Surface string `json:"surface,omitempty" yaml:"surface,omitempty"`
AuthStrength string `json:"auth_strength" yaml:"auth_strength"`
DelegationModel string `json:"delegation_model" yaml:"delegation_model"`
Exposure string `json:"exposure" yaml:"exposure"`
PolicyBinding string `json:"policy_binding" yaml:"policy_binding"`
PolicyRefs []string `json:"policy_refs,omitempty" yaml:"policy_refs,omitempty"`
GatewayBinding string `json:"gateway_binding" yaml:"gateway_binding"`
GatewayCoverage string `json:"gateway_coverage" yaml:"gateway_coverage"`
SanitizationClaims []string `json:"sanitization_claims,omitempty" yaml:"sanitization_claims,omitempty"`
CapabilityExposure []string `json:"capability_exposure,omitempty" yaml:"capability_exposure,omitempty"`
TrustGaps []string `json:"trust_gaps,omitempty" yaml:"trust_gaps,omitempty"`
TrustDepthScore float64 `json:"trust_depth_score" yaml:"trust_depth_score"`
}
func CloneTrustDepth ¶ added in v1.3.0
func CloneTrustDepth(in *TrustDepth) *TrustDepth
func MergeTrustDepth ¶ added in v1.3.0
func MergeTrustDepth(current, incoming *TrustDepth) *TrustDepth
func NormalizeTrustDepth ¶ added in v1.3.0
func NormalizeTrustDepth(in *TrustDepth) *TrustDepth
func TrustDepthFromFinding ¶ added in v1.3.0
func TrustDepthFromFinding(finding model.Finding) *TrustDepth