Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/alpha-omega-security/scrutineer
/ types & classes
Types & classes
203 in github.com/alpha-omega-security/scrutineer
⨍
Functions
2,165
◇
Types & classes
203
↓ 3 callers
Struct
pos
internal/web/server_test.go:1117
↓ 1 callers
TypeAlias
FindingLifecycle
internal/db/db.go:336
Struct
Advisory
Advisory is a known security advisory from advisories.ecosyste.ms.
internal/db/db.go:390
Struct
AuditMetrics
AuditMetrics is the aggregate breakdown the audit page surfaces. AgreementRate is the share of reviews where the human verdict matches the automation'
internal/db/audit.go:104
Struct
AuditQueueOptions
AuditQueueOptions filters the audit queue. Limit caps result count (the queue is for spot-checking, not exhaustive review). Since is a freshness cutof
internal/db/audit.go:58
Struct
Broker
Broker fans SSE events from the worker to connected HTTP clients.
internal/web/sse.go:35
Struct
CNA
CNA is a CVE Numbering Authority from the public cve.org partner list. Stored so the disclosure workflow can route a finding to the CNA whose scope co
internal/db/db.go:1188
Struct
CWE
CWE is one entry from the MITRE catalogue. The JSON is generated from the CWE XML download; see development.md. Category is the View-1400 ("Comprehens
internal/web/cwe.go:20
Struct
ClaudeAccountError
ClaudeAccountError is returned for account-level Claude failures. The worker pauses the batch instead of failing every scan; Detail preserves Claude's
internal/worker/claude_limit.go:18
Struct
ClaudeHarness
ClaudeHarness is the default and (for now) only harness: it wraps the existing buildClaudeArgs and ParseStream so behaviour is byte-for-byte unchanged
internal/worker/harness.go:84
Struct
Config
Config mirrors the supported YAML keys. Every field is optional; missing fields leave the corresponding flag at its built-in default.
internal/config/config.go:24
Struct
ContainerRunner
ContainerRunner launches claude inside an ephemeral container with the scan workspace (clone + staged skill + output file) mounted at /work. It drives
internal/worker/container.go:30
Struct
ContainerRuntime
ContainerRuntime identifies the OCI engine scrutineer shells out to and the main trait that changes the generated `run` flags: rootless podman maps --
internal/worker/runtime.go:33
Struct
DayUsage
DayUsage is one row of the /usage?view=day table: total cost and token spend for all skill scans that finished on a given calendar day.
internal/web/usage.go:26
Struct
DepGroup
DepGroup is a dependency deduplicated by name+ecosystem, with all manifest paths and the best version (lockfile wins over manifest).
internal/web/server.go:2438
Struct
Dependency
Dependency is one package dependency discovered by the git-pkgs job. Rows are replaced wholesale each time the job runs for a repository.
internal/db/db.go:428
Struct
DependencyFinding
DependencyFinding is one finding on a library that the given application depends on. Returned by DependencyFindings; consumed by the reachability skil
internal/db/ecosystem.go:119
Struct
Dependent
Dependent is a package that depends on one of this repo's packages. Populated by the ecosystems dependents prefetch from packages.ecosyste.ms.
internal/db/db.go:410
Struct
DiffRow
internal/web/threat_workbench.go:56
Struct
Effort
Effort is a display label paired with the claude `--effort` level it selects. The settings page renders these as a row of buttons in order, fastest to
internal/web/efforts.go:7
Struct
EgressProxy
EgressProxy is a small forward proxy the container runner points HTTPS_PROXY/HTTP_PROXY at. It only tunnels to hosts on Allow. Clients must present To
internal/worker/egress.go:134
Struct
EgressSidecarConfig
EgressSidecarConfig carries what setupHardenedNetwork needs to launch the egress proxy as a sidecar container under rootless --hardened. The zero valu
internal/worker/container.go:91
Struct
Event
Event is one line of activity from a claude -p stream-json run, flattened into something a human can read in a log view.
internal/worker/stream.go:26
Struct
Event
Event is one SSE message. Name maps to the htmx sse-swap attribute; Data is the HTML fragment (or plain text) to swap in.
internal/web/sse.go:17
Struct
FailOnThresholdError
FailOnThresholdError is returned when a scan's findings include at least one at or above the skill's fail_on severity. wrap() treats it as a completed
internal/worker/skill.go:646
Struct
Finding
Finding is the format-neutral subset of an external report entry. Field names mirror db.Finding; the web layer copies them across.
internal/ingest/ingest.go:64
Struct
Finding
Finding is one vulnerability reported by a scan. The Finding row holds the current value of every mutable field; FindingHistory records who changed ea
internal/db/db.go:474
Struct
FindingCommunication
FindingCommunication is one external interaction about a finding: an email to the maintainer, an inbound reply, a GHSA submission, etc. Kept distinct
internal/db/db.go:726
Struct
FindingDependent
FindingDependent records, per (finding, dependent), whether that downstream consumer of the vulnerable library reaches the sink. Status mirrors the CS
internal/db/db.go:806
Struct
FindingHistory
FindingHistory records every change to a mutable field on a Finding. Together with the Finding row's current columns it gives you "what is the current
internal/db/db.go:825
Struct
FindingLabel
FindingLabel is a tag independent of the lifecycle status. A finding can carry multiple labels (wontfix, needs-info, regression, etc.).
internal/db/db.go:703
Struct
FindingNote
FindingNote is one timestamped internal analyst note about a finding. Replaces the old single Notes column so the comment trail is preserved.
internal/db/db.go:713
Struct
FindingReference
FindingReference is an external URL related to a finding: the upstream issue/PR, a CVE or GHSA record, a fix commit, a blog post.
internal/db/db.go:744
TypeAlias
FindingResolution
FindingResolution says how a finding got resolved. Set by the analyst once disclosure runs its course.
internal/db/db.go:448
Struct
FindingReview
FindingReview is a structured human verdict against an automation outcome. Verdict mirrors the revalidate skill's enum so reviewer agreement with the
internal/db/db.go:846
TypeAlias
FindingSource
FindingSource is the provenance of a field value: produced by a deterministic tool, suggested by a model-backed skill, or set by the analyst. Analyst
internal/db/db.go:461
Struct
Flash
Flash is a one-shot message carried across a redirect via the "flash" cookie and rendered server-side into #toaster on the next page load.
internal/web/server.go:427
TypeAlias
Format
Format names the detected input encoding. Exposed so callers can log what was parsed.
internal/ingest/ingest.go:108
Interface
Harness
A Harness is the agent CLI the container runner execs to drive a skill. It owns everything that varies between claude-code and an alternative agent (c
internal/worker/harness.go:21
Struct
LocalClaude
internal/worker/claude.go:112
Struct
Maintainer
Maintainer is a person who maintains one or more repositories. The centre of the disclosure CRM: findings batch into conversations per maintainer, not
internal/db/db.go:313
TypeAlias
MaintainerStatus
internal/db/db.go:302
Struct
MaxTurnsReachedError
MaxTurnsReachedError is returned when claude-code exits after hitting the --max-turns cap. The caller should treat this as a soft completion.
internal/worker/claude.go:25
Struct
Model
Model is a display-name → claude model id pair offered in the UI.
internal/web/models.go:12
Struct
Model
Model is a display-name plus the claude model id it resolves to. The shape matches web.Model so main.go can pipe one into the other without the two pa
internal/config/config.go:179
Struct
ModelTier
ModelTier is an operator-facing role whose concrete model can be swapped in Settings without editing every skill that uses that role.
internal/web/models.go:19
Struct
OrgImportPreview
OrgImportPreview carries the confirmation-step data: how many repos a given org/filters combination would queue, plus the inputs needed to re-submit t
internal/web/org_import.go:141
Struct
OrgRepo
OrgRepo is the slim view of a forge repository the org-import path needs: enough to build a clone URL and apply the fork/archived filters.
internal/web/org_import.go:17
Struct
Package
Package is one registry entry from packages.ecosyste.ms linked to this repo.
internal/db/db.go:280
Struct
Page
internal/web/server.go:532
Struct
Parsed
Parsed is a SKILL.md-plus-neighbours as extracted from disk. It mirrors the Skill model shape so the caller can persist it without further work.
internal/skills/parse.go:122
Struct
Payload
Payload is what travels on the queue. The job handler looks up the Scan row by ID; everything else (repo URL, kind) hangs off that record so the queue
internal/queue/queue.go:31
Struct
Profile
Profile selects a per-ecosystem runner image. The default profile (empty name) uses the runner image configured globally; named profiles build a Docke
internal/worker/profile.go:54
Struct
ProfileMarker
ProfileMarker refines profile selection beyond what brief reports.
internal/worker/profile.go:22
Struct
Queue
internal/queue/queue.go:36
Struct
RateLimitInfo
RateLimitInfo is the subscription limit status claude-code reports in a rate_limit_event line; it feeds auto-resume and the usage page panel.
internal/worker/stream.go:39
Struct
RepoInput
RepoInput is the parsed form of a user-supplied repository reference. CloneURL is what scrutineer passes to `git clone`; SubPath is the sub-folder wit
internal/web/parse_repo_url.go:32
Struct
RepoUnreachableError
RepoUnreachableError is returned when git clone/fetch fails because the remote is unreachable (deleted, private, wrong URL, network error).
internal/worker/clone.go:19
Struct
Repository
internal/db/db.go:22
Struct
Result
Result is one batch of findings against one repository from one tool. A single uploaded file can yield several Results when it contains multiple SARIF
internal/ingest/ingest.go:48
Struct
RunnerImageStatus
RunnerImageStatus is the result of the boot-time runner-image staleness check, surfaced in the boot log and as a banner on the Settings page. The zero
internal/worker/staleness.go:33
Struct
RunnerToolVersions
RunnerToolVersions holds the versions of the analysis tools baked into the runner image. Any field is "" when its tool could not be queried.
internal/worker/versions.go:94
Struct
SBOMPackage
SBOMPackage is one component listed in an upload. RepositoryID is set asynchronously once the PURL has been resolved to a source repo and the triage s
internal/db/db.go:1161
Struct
SBOMUpload
SBOMUpload is one CycloneDX or SPDX document a user uploaded. Packages are replaced wholesale on re-upload (cascade delete) but the resolved Repositor
internal/db/db.go:1142
Struct
Scan
Scan is one execution of a job against a repository. Kind names the job ("claude", later "semgrep", "brief", "git-pkgs"). Report holds whatever the jo
internal/db/db.go:143
Struct
ScanOpts
ScanOpts carries the optional inputs to an enqueue call. Keeps the enqueue signature from drifting into an unreadable positional list as new options (
internal/web/server.go:2296
TypeAlias
ScanStatus
internal/db/db.go:128
Struct
SchemaValidationError
SchemaValidationError carries the formatted validator output for a report that did not match its skill's schema. wrap() treats it like FailOnThreshold
internal/worker/schema_validate.go:14
Struct
Server
internal/web/server.go:57
Struct
Setting
Setting is a persisted operator-tunable key/value. It backs the runtime knobs the Settings page exposes (concurrency, default turn cap) so a change su
internal/db/settings.go:13
Struct
Skill
Skill is one scan recipe expressed as a claude-code skill. It maps 1:1 to the agentskills.io SKILL.md format: Body is the markdown that sits after the
internal/db/db.go:871
Struct
SkillJob
SkillJob is a scan driven by an on-disk claude-code skill. The runner clones the repo, stages the skill under .claude/skills/{Name}/ next to the clone
internal/worker/claude.go:50
Struct
SkillResult
internal/worker/claude.go:98
Interface
SkillRunner
SkillRunner executes one skill scan. Tests and the container-backed runner substitute the process launch without touching the queue plumbing.
internal/worker/claude.go:31
Struct
SkillUsage
SkillUsage is one row of the /usage page: aggregate cost and turn statistics for every completed scan of a given skill across the corpus. Percentiles
internal/web/usage.go:15
Struct
Stats
internal/web/usage.go:34
Struct
Subproject
Subproject is a scannable unit the subprojects skill discovered inside a repository. One Repository has many Subprojects; each Scan may refer to one o
internal/db/db.go:1213
Struct
Usage
Usage is the token breakdown from a result event.
internal/worker/stream.go:70
Struct
Workbench
Workbench is the template payload for the workbench tab.
internal/web/threat_workbench.go:26
Struct
WorkbenchDiff
WorkbenchDiff buckets sinks by how their outcome changed between two deep-dive runs. A sink is keyed by its inventory location (file:line) since the p
internal/web/threat_workbench.go:44
Struct
Worker
internal/worker/worker.go:62
Struct
advisoryResponse
internal/web/api_reads.go:101
Struct
aggRow
SQLite returns MAX() over a datetime column as a string; scan into a string and parse to *time.Time ourselves rather than fight GORM.
internal/web/orgs.go:50
Struct
apiCtxKey
internal/web/api.go:34
Struct
assistantMsg
internal/worker/stream.go:91
Struct
blockingRunner
internal/worker/worker_test.go:48
Struct
bundleEntry
bundleEntry is one file written into the archive: path inside the tar plus its raw contents.
internal/web/finding_bundle.go:93
Struct
bundleManifest
bundleManifest is the small header file the disclosure bundle carries alongside the per-format documents. It names the finding, fixes the generator ve
internal/web/finding_bundle.go:27
Struct
c
internal/web/orgs.go:68
Struct
call
internal/worker/runtime_test.go:165
Struct
captureRunner
captureRunner records the SkillJob it was handed so a test can assert how the worker resolved per-scan inputs.
internal/worker/max_turns_test.go:17
Struct
client
internal/web/sse.go:28
Struct
cnaEntry
internal/worker/cna.go:67
Struct
contentBlock
internal/worker/stream.go:95
Struct
csafBranch
internal/web/finding_csaf.go:200
Struct
csafCVSSv3
internal/web/finding_csaf.go:257
Struct
csafCWE
internal/web/finding_csaf.go:234
Struct
csafDistrib
internal/web/finding_csaf.go:157
Struct
csafDocMeta
internal/web/finding_csaf.go:146
Struct
csafDocument
internal/web/finding_csaf.go:140
next →
1–100 of 203, ranked by callers