A tool that facilitates building OCI images.
This report summarizes scanner evidence for podman-container-tools/buildah, a Go project with 9,162 GitHub stars. SynthScan examined 86,599 lines of code across 573 source files, recording 123 pattern matches distributed across 3 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 123 finding(s).
Are imports declared and package/API names verified? 0 finding(s).
Are wrappers, guards, and repeated structures necessary? 0 finding(s).
Which changes need focused human review? 123 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 123 distinct pattern matches across 3 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | add.go | 41 | COMMENT | |
| LOW | add.go | 61 | // If the sources include directory trees, Hasher will be passed | COMMENT |
| LOW | add.go | 81 | StripSetuidBit bool | COMMENT |
| LOW | add.go | 101 | // Parents specifies that we should preserve either all of the parent | COMMENT |
| LOW | add.go | 121 | // paths. When false, they are rejected. Defaults to true. | COMMENT |
| LOW | pull.go | 21 | // being written. Except in specific circumstances, no value should be | COMMENT |
| LOW | pull.go | 41 | AllTags bool | COMMENT |
| LOW | run.go | 121 | // Cmd is an override for the configured default command. | COMMENT |
| LOW | run.go | 141 | // terminal is used if os.Stdout is connected to a terminal, but that | COMMENT |
| LOW | run.go | 161 | DropCapabilities []string | COMMENT |
| LOW | run.go | 181 | SystemContext *types.SystemContext `json:"-"` | COMMENT |
| LOW | buildah.go | 21 | "go.podman.io/storage" | COMMENT |
| LOW | buildah.go | 41 | ) | COMMENT |
| LOW | buildah.go | 61 | // take, signalling that the source image should not be pulled from a | COMMENT |
| LOW | buildah.go | 101 | FromImage string `json:"image,omitempty"` | COMMENT |
| LOW | buildah.go | 141 | Isolation define.Isolation | COMMENT |
| LOW | buildah.go | 161 | // be allowed to inherit the current set of supplementary groups. | COMMENT |
| LOW | buildah.go | 181 | // TempVolumes are temporary mount points created during Run() calls. | COMMENT |
| LOW | buildah.go | 281 | // FromImage is the name of the image which should be used as the | COMMENT |
| LOW | buildah.go | 301 | BlobDirectory string | COMMENT |
| LOW | buildah.go | 321 | // mounted in "host-path:container-path" format | COMMENT |
| LOW | buildah.go | 361 | // PullRetryDelay is how long to wait before retrying a pull attempt. | COMMENT |
| LOW | buildah.go | 381 | // (when set to true), or with a minimal initial configuration which | COMMENT |
| LOW | buildah.go | 401 | // Image is the name or ID of the image we'd like to examine. | COMMENT |
| LOW | commit.go | 41 | COMMENT | |
| LOW | commit.go | 61 | // being written. Except in specific circumstances, no value should be | COMMENT |
| LOW | commit.go | 81 | // manifest. | COMMENT |
| LOW | commit.go | 101 | // regenerate from on-disk layers. If blobs are available, the | COMMENT |
| LOW | commit.go | 121 | // Deprecated: use HistoryTimestamp or SourceDateEpoch (possibly with | COMMENT |
| LOW | commit.go | 141 | // indexing. i.e. 0 is the first layer, -1 is the last (top-most) layer. | COMMENT |
| LOW | commit.go | 161 | // filesystem paths in the image and the corresponding values are the | COMMENT |
| LOW | commit.go | 181 | // be added to the image at commit-time. The order of these relative | COMMENT |
| LOW | install.md | 241 | COMMENT | |
| LOW | install.md | 261 | # create accounts with arbitrary names). This will prevent an image from being | COMMENT |
| LOW | install.md | 281 | # blocked = false | COMMENT |
| LOW | install.md | 301 | # # | COMMENT |
| LOW | release.sh | 1 | #!/bin/sh | COMMENT |
| LOW | push.go | 41 | // PushOptions can be used to alter how an image is copied somewhere. | COMMENT |
| LOW | push.go | 61 | SystemContext *types.SystemContext | COMMENT |
| LOW | push.go | 81 | // MaxRetries is the maximum number of attempts we'll make to push any | COMMENT |
| LOW | image.go | 41 | ) | COMMENT |
| LOW | image.go | 61 | // create uniquely-named files, but we don't want to try to use their | COMMENT |
| LOW | image.go | 81 | // - Allow OBJECT_INHERIT+CONTAINER_INHERIT+INHERIT_ONLY Generic All to Creator Owner (CO) | COMMENT |
| LOW | docker/types.go | 41 | // layer. Otherwise, the history item is associated with the next | COMMENT |
| LOW | docker/types.go | 221 | } | COMMENT |
| LOW | define/build.go | 21 | // Value is the URL of an external tar archive. | COMMENT |
| LOW | define/build.go | 41 | // CgroupParent is the path to cgroups under which the cgroup for the container will be created. | COMMENT |
| LOW | define/build.go | 61 | DNSSearch []string | COMMENT |
| LOW | define/build.go | 81 | // OmitTimestamp forces epoch 0 as created timestamp to allow for | COMMENT |
| LOW | define/build.go | 101 | // "nproc": maximum number of processes (ulimit -u) | COMMENT |
| LOW | define/build.go | 121 | COMMENT | |
| LOW | define/build.go | 141 | // Quiet tells us whether or not to announce steps as we go through them. | COMMENT |
| LOW | define/build.go | 161 | // potential cache destination. | COMMENT |
| LOW | define/build.go | 181 | // Map of external additional build contexts | COMMENT |
| LOW | define/build.go | 201 | LogFile string | COMMENT |
| LOW | define/build.go | 221 | // SourcePolicyFile specifies the path to a BuildKit-compatible source | COMMENT |
| LOW | define/build.go | 241 | // NamespaceOptions controls how we set up namespaces processes that we | COMMENT |
| LOW | define/build.go | 261 | IDMappingOptions *IDMappingOptions | COMMENT |
| LOW | define/build.go | 281 | DefaultMountsFilePath string | COMMENT |
| LOW | define/build.go | 301 | SaveStages bool | COMMENT |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_buildah_authentication.sh | 33 | # Create a private registry that uses certificate and creds file | COMMENT |
| MEDIUM | tests/test_buildah_baseline.sh | 62 | # Create a scratch container | COMMENT |
| MEDIUM | tests/test_buildah_baseline.sh | 230 | # Create a whalesays container | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/helpers.bash | 646 | # is_rootless # Check if we run as normal user | COMMENT |
| LOW | .github/workflows/assign.yml | 27 | # Check if issue has any assignees | COMMENT |
| LOW | demos/buildah_multi_stage.sh | 10 | # is_rootless # Check if we run as normal user | COMMENT |
| LOW | demos/buildah-scratch-demo.sh | 11 | # is_rootless # Check if we run as normal user | COMMENT |