MCPcopy Create free account

hub / github.com/alpha-omega-security/scrutineer / functions

Functions2,165 in github.com/alpha-omega-security/scrutineer

↓ 4 callersFunctionsinkOutcomes
sinkOutcomes resolves a deep-dive report into a location-keyed map of what happened to each inventory sink. Per-run S<n> ids are unstable across runs
internal/web/threat_workbench.go:233
↓ 4 callersFunctionsortSlice
sortSlice is a tiny wrapper so the handler reads like `sortSlice(rows, less)` without pulling sort.Slice's (i, j int) idiom into each case.
internal/web/orgs.go:136
↓ 4 callersFunctionsplitTarget
(hostport string)
internal/worker/egress.go:327
↓ 4 callersFunctionstageThreatModel
stageThreatModel writes the repository's operator-edited threat model to ./threat_model.json so skills that consume one (security-deep-dive) can load
internal/worker/skill.go:1126
↓ 4 callersFunctionstreamJSONL
streamJSONL iterates rows incrementally so a million-row export never preloads into memory. The body is partial on mid-stream errors: once we have com
internal/web/api_export.go:381
↓ 4 callersFunctionsummarise
(xs []float64)
internal/web/usage.go:132
↓ 4 callersFunctiontabPanelBody
tabPanelBody returns the substring of body starting at marker through the next closing </div> that matches the panel's opening div. Cheap-and-good- en
internal/web/server_test.go:3122
↓ 4 callersFunctiontestEndpoints
(base string)
internal/worker/ecosystems_test.go:65
↓ 4 callersMethodtoFindings
(scanID, repoID uint, commit, subPath string)
internal/worker/findings.go:104
↓ 4 callersFunctiontruncate
(s string)
internal/worker/stream.go:238
↓ 4 callersMethodupsertExposure
(scan *db.Scan, depID uint, status, justification, rationale, commit string)
internal/worker/exposure.go:258
↓ 4 callersFunctionvalidateGitURL
validateGitURL rejects anything that isn't https:// to prevent SSRF, local file reads, and git option injection (T2, T4).
internal/worker/clone.go:80
↓ 4 callersFunctionwriteConfigM4
(t *testing.T, dir, contents string)
internal/worker/profile_test.go:62
↓ 4 callersFunctionwriteFile
(t *testing.T, path, body string)
internal/worker/skill_parsers_test.go:1260
↓ 4 callersFunctionwriteReportFinding
(b *strings.Builder, gdb *gorm.DB, f db.Finding, latest *db.Scan, audience reportAudience)
internal/web/repo_report.go:397
↓ 3 callersFunctionBackfillFindingFingerprints
BackfillFindingFingerprints fills Finding.Fingerprint for rows created before the column existed, joining through Scan for skill_name. It does not mer
internal/db/fingerprint.go:70
↓ 3 callersFunctionBackfillRepoDiskUsage
BackfillRepoDiskUsage fills Repository.DiskBytes for remote repos that have no cached value yet, so the disk-usage badge shows immediately on upgrade
internal/worker/repo_cache.go:63
↓ 3 callersMethodCancel
Cancel aborts an in-flight scan. Returns true if a running job was found and signalled; false means the scan is queued (or already finished) and the c
internal/worker/worker.go:303
↓ 3 callersFunctionClosedFindingLifecycleSQLValues
()
internal/db/db.go:381
↓ 3 callersFunctionComputeAuditMetrics
ComputeAuditMetrics scans the FindingReview table and returns aggregate stats for the audit page. A review counts toward agreement only when both the
internal/db/audit.go:119
↓ 3 callersFunctionDefaultHTMLURL
DefaultHTMLURL seeds Repository.HTMLURL at row-create time for the common case where the clone URL is also the web-UI URL — every major public forge.
internal/web/parse_repo_url.go:168
↓ 3 callersMethodEgressHosts
EgressHosts is the model-API hostnames the harness must reach, in the same wildcard form as DefaultEgressAllow. They are appended to the egress proxy'
internal/worker/harness.go:53
↓ 3 callersFunctionEnsureHardenedNetwork
EnsureHardenedNetwork creates an internal container network with the given name if it does not already exist. --internal blocks routes to external net
internal/worker/container.go:725
↓ 3 callersMethodEnv
Env returns the harness-specific environment for the container, in docker -e form: a bare "KEY" passes the host value through, and "KEY=VALUE" sets it
internal/worker/harness.go:61
↓ 3 callersFunctionListFindingReviews
ListFindingReviews returns reviews for one finding, newest first. Used by the finding page and the audit queue's reviewed-marker check.
internal/db/audit.go:49
↓ 3 callersMethodLocalPath
LocalPath returns the filesystem path encoded in a local Repository's URL. Empty for remote repos.
internal/db/db.go:121
↓ 3 callersFunctionMatch
Match reports whether name matches the shell glob pattern. Supports `*` (any chars except `/`), `?` (one char except `/`) and the doublestar `**` (any
internal/skills/filter.go:107
↓ 3 callersFunctionNewProxyToken
NewProxyToken returns 32 hex chars of crypto/rand for Proxy-Authorization.
internal/worker/egress.go:306
↓ 3 callersFunctionNormalizeDependencyType
NormalizeDependencyType reduces git-pkgs and ecosystem-specific dependency phase names to the four buckets scrutineer uses in UI filters and reachabil
internal/db/ecosystem.go:43
↓ 3 callersFunctionParseScanTimeout
ParseScanTimeout validates and parses a scan_timeout string. Empty returns 0 (caller keeps its default); anything else must be a positive time.Duratio
internal/config/config.go:128
↓ 3 callersFunctionProxyURLForEndpoint
ProxyURLForEndpoint builds the http_proxy-style URL for a proxy reachable at an arbitrary host:port. The egress proxy sidecar is addressed by its cont
internal/worker/egress.go:323
↓ 3 callersFunctionQueryRunnerToolVersions
QueryRunnerToolVersions starts one short-lived container off the runner image and reads back the versions of the scanner tools it ships. The deployed
internal/worker/versions.go:118
↓ 3 callersMethodRateLimitStatus
RateLimitStatus returns a snapshot of the latest rate-limit status per window, for the usage page. Empty when no subscription rate_limit_event has bee
internal/worker/worker.go:209
↓ 3 callersFunctionRepoDiskUsage
RepoDiskUsage returns the on-disk size in bytes of the persistent clone cache for repo. Local repositories keep no managed copy (their source stays at
internal/worker/repo_cache.go:31
↓ 3 callersFunctionRetireDependentsSkill
RetireDependentsSkill deactivates the removed bundled dependents skill on upgraded instances. LoadDirectory upserts active skills but does not prune d
internal/db/db.go:943
↓ 3 callersFunctionScoreFromV4Vector
ScoreFromV4Vector computes the CVSS v4.0 base score for a vector. Returns (0, false) when the vector is empty or unparseable, matching BaseScoreFromVe
internal/db/cvss.go:32
↓ 3 callersFunctionSeedDefaultLabels
SeedDefaultLabels ensures a baseline set of labels exists on startup. Calling again is idempotent; existing rows are left alone so users can re-colour
internal/db/finding_helpers.go:372
↓ 3 callersFunctionSyncCNAs
SyncCNAs fetches the public CNA partner list and upserts every entry into the cnas table keyed on short_name. Safe to re-run; existing rows are update
internal/worker/cna.go:26
↓ 3 callersFunctionValidateGlob
ValidateGlob returns path.ErrBadPattern when pattern contains a segment that path.Match cannot parse (e.g. `[unclosed`). matchSegments silently treats
internal/skills/filter.go:94
↓ 3 callersFunctionVerifyProxyBinary
VerifyProxyBinary smoke-tests that the runner image carries the scrutineer binary the egress proxy sidecar runs (`scrutineer proxy`). A runner image w
internal/worker/container.go:983
↓ 3 callersFunctionWaitHostAPIReachable
WaitHostAPIReachable blocks until an HTTP request to host:port returns any response, or ctx is done (fail closed). The egress-proxy sidecar calls it b
internal/worker/egress.go:510
↓ 3 callersFunctionaccountErrorAccessRevoked
accountErrorAccessRevoked reports whether s mentions account access being disabled or revoked -- a permanent problem that must never drive an automati
internal/worker/claude_limit.go:82
↓ 3 callersFunctionaccountErrorResumable
accountErrorResumable returns false for access/admin errors even when the message also mentions a limit.
internal/worker/claude_limit.go:94
↓ 3 callersFunctionaddrPort
(addr string)
cmd/scrutineer/main.go:571
↓ 3 callersFunctionapplyFindingFilters
(q *gorm.DB, r *http.Request)
internal/web/api_export.go:368
↓ 3 callersFunctionauditQueueOptionsFromQuery
(r *http.Request)
internal/web/audit.go:139
↓ 3 callersMethodautoResumeRetryDelay
()
internal/worker/worker.go:286
↓ 3 callersFunctionbuildFixValidationReport
buildFixValidationReport assembles the report struct from the already-loaded inputs. Kept pure (no DB access) so the composition and ordering are test
internal/web/validate_fix.go:80
↓ 3 callersFunctionbuildLoggedPrompt
buildLoggedPrompt is what scrutineer records on scan.Prompt for the UI. It pairs the activation invocation with the rendered SKILL.md so the Prompt ta
internal/worker/claude.go:356
↓ 3 callersFunctionbuildRateLimitPanel
buildRateLimitPanel formats the worker's latest per-window stream status.
internal/web/usage.go:193
↓ 3 callersMethodcacheMutex
cacheMutex returns the per-URL mutex used to serialise fetch+copy on the dependent cache. Lazily created on first use.
internal/worker/exposure.go:30
↓ 3 callersFunctioncheckEnum
(m map[string]any, key string, allowed map[string]bool)
internal/skills/parse.go:354
↓ 3 callersFunctionclassifyFixValidation
classifyFixValidation splits the baseline scan's findings into the ones the fix-ref re-scan no longer reports (resolved) and the ones it still reports
internal/web/validate_fix.go:66
↓ 3 callersFunctioncloneOrFetch
(ctx context.Context, url, dst string, fullClone bool, ref string, emit func(Event))
internal/worker/clone.go:119
↓ 3 callersFunctioncloneURL
(u *url.URL, path string)
internal/web/parse_repo_url.go:135
↓ 3 callersFunctioncollectEvents
(in string)
internal/worker/stream_test.go:114
↓ 3 callersFunctiondedupTestSetup
dedupTestSetup creates a repo and an active finding-dedup skill, and returns helpers for creating scans and findings the callback tests act on.
internal/web/finding_dedup_enqueue_test.go:11
↓ 3 callersFunctiondependentProductID
(d db.Dependent)
internal/web/finding_csaf.go:304
↓ 3 callersFunctiondetectRuntime
(prefer string, probe runtimeProber)
internal/worker/runtime.go:186
↓ 3 callersFunctiondiffDeepDive
diffDeepDive compares two deep-dive reports and buckets sinks by how their outcome changed. prev is the older run, curr the newer.
internal/web/threat_workbench.go:272
↓ 3 callersFunctionecosystemsGet
(ctx context.Context, endpoint string)
internal/worker/ecosystems.go:313
↓ 3 callersFunctionecosystemsTestServer
ecosystemsTestServer serves canned responses for every ecosyste.ms source, routed by path, plus the per-package dependent lists chained off /packages
internal/worker/ecosystems_test.go:22
↓ 3 callersFunctionencryptBundle
encryptBundle wraps plaintext in armored age for the given recipients. Confidentiality + integrity only, not sender authentication: a recipient can v
internal/web/api_export.go:275
↓ 3 callersMethodenqueueSkillScoped
enqueueSkillScoped is a thin shim preserved for call sites that already pass a finding id. New code should prefer enqueueSkillWith + ScanOpts.
internal/web/server.go:2329
↓ 3 callersFunctionexpandHome
expandHome expands a leading "~" or "~/" in path to the current user's home directory. Go's os.Open/os.ReadFile don't perform tilde expansion (only th
cmd/scrutineer/main.go:298
↓ 3 callersFunctionextractStringList
(m map[string]any, key string)
internal/skills/parse.go:409
↓ 3 callersFunctionfakeContainer
(t *testing.T)
internal/worker/versions_test.go:88
↓ 3 callersFunctionfetchGitHubOrgRepos
fetchGitHubOrgRepos lists every repository owned by a GitHub org, paging to completion. It falls back to the /users endpoint when the login is a user
internal/web/org_import.go:44
↓ 3 callersFunctionfileContains
(path, needle string)
internal/worker/profile.go:426
↓ 3 callersFunctionfindingFieldAccessor
findingFieldAccessor maps the API-facing field name to the current value and the DB column name. It is the single list of mutable fields; adding a new
internal/db/finding_helpers.go:231
↓ 3 callersMethodfindingRepoID
findingRepoID reads the denormalized Finding.RepositoryID column. Used by the skill-facing handlers to enforce "scan can only touch findings on its ow
internal/web/api.go:390
↓ 3 callersFunctionfindingSummary
(f db.Finding)
internal/web/api_reads.go:325
↓ 3 callersFunctionfirstDottedVersion
(s string)
internal/worker/runtime.go:258
↓ 3 callersFunctionfirstIfaceIPv4
firstIfaceIPv4 picks the IPv4 of the first up, non-loopback interface. It fails when that interface has no IPv4 rather than falling through to a later
internal/worker/egress.go:423
↓ 3 callersFunctionformatScanDate
(s *db.Scan)
internal/web/repo_report.go:756
↓ 3 callersFunctiongenEncryptedSSHKey
genEncryptedSSHKey returns a passphrase-protected OpenSSH ed25519 private key PEM.
cmd/scrutineer/main_test.go:315
↓ 3 callersFunctionget_json
(url, token=None)
skills/maintainers/scripts/summarise.py:11
↓ 3 callersFunctiongitWithEnv
(ctx context.Context, dir string, env []string, args ...string)
internal/worker/clone.go:239
↓ 3 callersFunctiongroupByFingerprint
groupByFingerprint computes each finding's fingerprint and collapses entries that share one into a single finding whose Locations column carries every
internal/worker/skill.go:603
↓ 3 callersFunctionhardenedNetworkName
hardenedNetworkName returns the network name dedicated to a single hardened scan. Uniqueness per scan is the whole isolation property: two scans must
internal/worker/container.go:115
↓ 3 callersMethodhardenedProxyReachArgs
hardenedProxyReachArgs builds the `run` args for probe (b): a container on the per-scan --internal network that must reach the host egress proxy. curl
internal/worker/container.go:1127
↓ 3 callersMethodhasOpenScan
hasOpenScan reports whether a queued or running scan matching the given scope predicate already exists. Shared by the finding-scoped and repo-scoped o
internal/web/revalidate_enqueue.go:92
↓ 3 callersFunctionhighlight
()
internal/web/static/app.js:12
↓ 3 callersFunctionicons
()
internal/web/static/app.js:4
↓ 3 callersMethodimage
()
internal/worker/container.go:161
↓ 3 callersMethodisAPIHost
(host string)
internal/worker/egress.go:334
↓ 3 callersFunctionisDowngradableTier
isDowngradableTier reports whether a model preference is one of the expensive tiers (max/high) or the empty default (which resolves to high), which th
internal/web/models.go:199
↓ 3 callersFunctionloadRecipients
loadRecipients parses a flat text file of public keys (one per line, '#' comments). Both age X25519 and SSH public keys are accepted. A configured fil
cmd/scrutineer/main.go:864
↓ 3 callersFunctionmakeRepos
(prefix string, n int)
internal/web/org_import_test.go:328
↓ 3 callersFunctionmarkRequirementUnresolved
(dep *dependencyReportRow, resolution string)
internal/worker/skill_parsers.go:354
↓ 3 callersFunctionmatchAny
(patterns []string, name string)
internal/skills/filter.go:85
↓ 3 callersMethodmaxRateLimitAutoResumeDelay
()
internal/worker/worker.go:293
↓ 3 callersFunctionmergeLocations
mergeLocations folds extra file:line entries into a newline-joined set, dropping blanks and duplicates while preserving first-seen order so the primar
internal/worker/skill.go:622
↓ 3 callersFunctionmkScanDirs
mkScanDirs creates the on-disk per-scan workspace and claude session store for id under dataDir, mirroring what a real scan leaves behind.
internal/web/repo_delete_test.go:215
↓ 3 callersFunctionnavKey
navKey maps a request path to the sidebar item that should be marked aria-current. Paths not in the table fall through to the repositories index, whic
internal/web/server.go:466
↓ 3 callersMethodneedsEgressSidecar
needsEgressSidecar reports whether hardened egress runs through a per-scan proxy SIDECAR rather than the in-process host proxy. True ONLY for rootless
internal/worker/runtime.go:94
↓ 3 callersFunctionnetworkListNamesArgs
networkListNamesArgs returns the args that list one network name per line. docker/podman support `network ls --filter name= --format {{.Name}}`; Apple
internal/worker/container.go:1196
↓ 3 callersFunctionnewQueuedSchemaSkillWorker
(t *testing.T, strict bool, runner SkillRunner)
internal/worker/schema_validate_test.go:140
↓ 3 callersFunctionnewRepoInput
newRepoInput builds a RepoInput and derives Owner/Name from the already-normalised clone URL so every parse path agrees on what those values are.
internal/web/parse_repo_url.go:109
↓ 3 callersFunctionnewResumeTestWorker
(t *testing.T, runner SkillRunner)
internal/worker/worker_resume_test.go:37
← previousnext →301–400 of 2,165, ranked by callers