Documentation
¶
Overview ¶
Package dastworkflow coordinates the governed DAST verification lifecycle.
It deliberately reuses Synapse's existing approval and safety gate primitives instead of inventing a second approval path: propose creates an intrusive, approval-required action; decide records a human decision; run re-admits the decided action through safety.Gate and then calls the safe dastrunner.
Index ¶
- Constants
- type Proposal
- type ScanCeilings
- type ScanConfig
- type ScanResult
- type Service
- func (s *Service) Decide(ctx context.Context, human string, engagementID, actionID shared.ID, ...) (agent.ApprovalDecision, error)
- func (s *Service) Propose(ctx context.Context, actor string, engagementID shared.ID, ...) (Proposal, error)
- func (s *Service) ProposeScan(ctx context.Context, actor string, engagementID shared.ID, config ScanConfig) (Proposal, error)
- func (s *Service) Run(ctx context.Context, actor string, engagementID, actionID shared.ID, ...) (dastrunner.Result, error)
- func (s *Service) RunScan(ctx context.Context, actor string, engagementID, actionID shared.ID, ...) (ScanResult, error)
- func (s *Service) SetScan(session scanSession, helperBin string, ev *evidence.Service, ...) error
Constants ¶
View Source
const ( ToolAuthenticatedScan = "run_authenticated_dast" ActionAuthenticatedScan = "dast.authenticated_scan" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Proposal ¶
type Proposal struct {
Action agent.ProposedAction `json:"action"`
Decision agent.ApprovalDecision `json:"decision"`
}
type ScanCeilings ¶ added in v0.1.8
func DefaultScanCeilings ¶ added in v0.1.8
func DefaultScanCeilings() ScanCeilings
type ScanConfig ¶ added in v0.1.8
type ScanConfig struct {
Target string `json:"target"`
Session dastsession.Config `json:"session"`
Crawler dastcrawl.Input `json:"crawler"`
Limits dastcrawl.Limits `json:"limits"`
RatePerSec int `json:"rate_per_sec"`
Concurrency int `json:"concurrency"`
SelectedCheckIDs []string `json:"selected_check_ids,omitempty"`
}
ScanConfig is the complete secret-free DAST run input. Credential references are names in the engagement vault; plaintext values and secret placeholders are invalid.
type ScanResult ¶ added in v0.1.8
type ScanResult struct {
Digest string `json:"config_sha256"`
Surface dastsurface.Surface `json:"surface"`
Coverage dastsurface.Coverage `json:"coverage"`
Incomplete bool `json:"incomplete"`
Reason string `json:"reason,omitempty"`
Proofs []ports.DASTProof `json:"proofs"`
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func (*Service) ProposeScan ¶ added in v0.1.8
func (*Service) RunScan ¶ added in v0.1.8
func (s *Service) RunScan(ctx context.Context, actor string, engagementID, actionID shared.ID, config ScanConfig) (ScanResult, error)
func (*Service) SetScan ¶ added in v0.1.8
func (s *Service) SetScan(session scanSession, helperBin string, ev *evidence.Service, evaluator ports.DASTCheckEvaluator, proofVerifier ports.DASTProofVerifier, judgments scanJudgmentProposer, verifier scanProofVerifier, ceilings ScanCeilings) error
Click to show internal directories.
Click to hide internal directories.