Application Kernel for Containers
This report summarizes scanner evidence for google/gvisor, a Go project with 19,629 GitHub stars. SynthScan examined 808,167 lines of code across 2928 source files, recording 4929 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 8.5 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 4707 finding(s).
Are imports declared and package/API names verified? 209 finding(s).
Are wrappers, guards, and repeated structures necessary? 44 finding(s).
Which changes need focused human review? 4929 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 4929 distinct pattern matches across 19 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 | webhook/main.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | webhook/pkg/cli/cli.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | webhook/pkg/injector/webhook.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | webhook/pkg/injector/certs.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 1 | # Copyright 2026 The gVisor Authors. | COMMENT |
| LOW | g3doc/proposals/runtime_dedicate_os_thread.md | 101 | run, and the M that selects the G then needs to transfer its P to the locked M, | COMMENT |
| LOW | tools/install_containerd.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/workspace_status.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/builkite-check-paths.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/make_release.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/make_release.sh | 41 | export DEBIAN_FRONTEND=noninteractive | COMMENT |
| LOW | tools/make_python_release.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/lint.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/gen_compile_commands.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/go_branch.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_cover.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_cover.sh | 81 | # sync/atomic.AddInt32), which will not work. We may be able to re-enable | COMMENT |
| LOW | tools/gopackagesdriver.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/tag_release.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/devcontainer-init.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/check_license_headers.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/make_apt.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/go_fieldenum/main.go | 1 | // Copyright 2021 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/main.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/cmd/install/install.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/cluster/cluster.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/util/util.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/spec/spec.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | …ls/gvisor_k8s_tool/provider/clusterflag/clusterflag.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/provider/gke/gke.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gvisor_k8s_tool/provider/kubectl/kubectl.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/checklinkname/check_linkname.go | 1 | // Copyright 2021 The gVisor Authors. | COMMENT |
| LOW | tools/checklinkname/check_linkname.go | 141 | // function declared as “localname” in the source code. If the | COMMENT |
| LOW | tools/checklinkname/test/test_unsafe.go | 1 | // Copyright 2021 The gVisor Authors. | COMMENT |
| LOW | tools/parsers/version.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | tools/parsers/go_parser_test.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | tools/parsers/go_parser.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | tools/parsers/go_parser.go | 41 | suite.Benchmarks = append(suite.Benchmarks, bm) | COMMENT |
| LOW | tools/parsers/parser_main.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | tools/profiletool/profiletool.go | 1 | // Copyright 2024 The gVisor Authors. | COMMENT |
| LOW | tools/profiletool/profiletool.go | 301 | if len(aggA.keys) == 0 || len(aggB.keys) == 0 { | COMMENT |
| LOW | tools/compat/realpath.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/gpu/cos_drivers_test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/gpu/all_drivers_test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/gpu/main.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gpu/drivers/install_driver.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/gpu/drivers/install_driver_test.go | 1 | // Copyright 2023 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/main.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/analysis/analysis_unsafe.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/analysis/analysis_unsafe.go | 41 | // Internally, we populate the type with random data by doing an unsafe cast to | COMMENT |
| LOW | tools/go_marshal/test/test.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/test/test.go | 141 | // | COMMENT |
| LOW | tools/go_marshal/test/test.go | 161 | // +marshal | COMMENT |
| LOW | tools/go_marshal/test/dynamic.go | 1 | // Copyright 2021 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/test/benchmark_test.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/test/marshal_test.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/test/marshal_test.go | 421 | } | COMMENT |
| LOW | tools/go_marshal/test/escape/escape.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| LOW | tools/go_marshal/test/external/external.go | 1 | // Copyright 2019 The gVisor Authors. | COMMENT |
| LOW | …al/gomarshal/generator_interfaces_primitive_newtype.go | 1 | // Copyright 2020 The gVisor Authors. | COMMENT |
| 4546 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | pkg/sentry/vfs/opath.go | 128 | stat, err := fd.vfsfd.vd.mount.fs.impl.StatAt(ctx, rp, opts) | CODE |
| CRITICAL | pkg/sentry/vfs/opath.go | 141 | statfs, err := fd.vfsfd.vd.mount.fs.impl.StatFSAt(ctx, rp) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 241 | fd.vd.mount.vfs.numFiles.Add(-1) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 595 | stat, err = fd.vd.mount.fs.impl.StatAt(ctx, rp, opts) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 622 | err := fd.vd.mount.fs.impl.SetStatAt(ctx, rp, opts) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 644 | statfs, err := fd.vd.mount.fs.impl.StatFSAt(ctx, rp) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 801 | names, err := fd.vd.mount.fs.impl.ListXattrAt(ctx, rp, size) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 830 | val, err := fd.vd.mount.fs.impl.GetXattrAt(ctx, rp, *opts) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 846 | err := fd.vd.mount.fs.impl.SetXattrAt(ctx, rp, *opts) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 866 | err := fd.vd.mount.fs.impl.RemoveXattrAt(ctx, rp, name) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 885 | acl, err := fd.vd.mount.fs.impl.GetPosixACLAt(ctx, rp, t) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 901 | acl, mode, err := fd.vd.mount.fs.impl.SetPosixACLAt(ctx, rp, t, acl, clearSGID) | CODE |
| CRITICAL | pkg/sentry/vfs/file_description.go | 911 | return fd.vd.mount.fs.impl.Sync(ctx) | CODE |
| CRITICAL | pkg/sentry/fsimpl/devpts/replica.go | 107 | rfd.inode.t.ld.replicaWaiter.EventRegister(e) | CODE |
| CRITICAL | pkg/sentry/fsimpl/devpts/replica.go | 113 | rfd.inode.t.ld.replicaWaiter.EventUnregister(e) | CODE |
| CRITICAL | pkg/sentry/fsimpl/gofer/socket.go | 106 | e.dentry.inode.fs.renameMu.RLock() | CODE |
| CRITICAL | pkg/sentry/fsimpl/gofer/socket.go | 108 | e.dentry.inode.fs.renameMu.RUnlock() | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1848 | d.inode.fs.dentryCache.mu.Lock() | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1851 | d.inode.fs.dentryCache.dentries.Remove(&d.cacheEntry) | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1852 | d.inode.fs.dentryCache.dentries.PushFront(&d.cacheEntry) | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1853 | d.inode.fs.dentryCache.mu.Unlock() | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1859 | d.inode.fs.dentryCache.dentries.PushFront(&d.cacheEntry) | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1863 | d.inode.fs.dentryCache.mu.Unlock() | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1880 | d.inode.fs.dentryCache.mu.Lock() | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1881 | d.inode.fs.dentryCache.dentries.Remove(&d.cacheEntry) | CODE |
| CRITICAL⚡ | pkg/sentry/fsimpl/gofer/gofer.go | 1883 | d.inode.fs.dentryCache.mu.Unlock() | CODE |
| CRITICAL | pkg/sentry/fsimpl/tmpfs/regular_file.go | 752 | ims, err := rw.file.inode.fs.mf.MapInternal(seg.FileRangeOf(seg.Range().Intersect(mr)), hostarch.Read) | CODE |
| CRITICAL | pkg/sentry/fsimpl/tmpfs/regular_file.go | 920 | if rw.file.inode.fs.mf.IsDiskBacked() { | CODE |
| CRITICAL | pkg/sentry/fsimpl/tmpfs/regular_file.go | 926 | fd, err := rw.file.inode.fs.mf.DataFD(fr) | CODE |
| CRITICAL | pkg/sentry/fsimpl/tmpfs/regular_file.go | 938 | ims, err := rw.file.inode.fs.mf.MapInternal(fr, hostarch.Write) | CODE |
| CRITICAL | pkg/sentry/fsimpl/cgroup2fs/memory.go | 138 | mc.m.c.fs.treeMu.RLock() | CODE |
| CRITICAL | pkg/sentry/fsimpl/cgroup2fs/memory.go | 140 | mc.m.c.fs.treeMu.RUnlock() | CODE |
| CRITICAL | pkg/sentry/kernel/task_acct.go | 224 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL | pkg/sentry/kernel/task_acct.go | 225 | defer t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 309 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 310 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 320 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 321 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1100 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1102 | t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1106 | t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1113 | t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1303 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1304 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1308 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL⚡ | pkg/sentry/kernel/ptrace.go | 1309 | defer t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 129 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 130 | defer t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 472 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 473 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 485 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 486 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 521 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 522 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 576 | t.tg.pidns.owner.mu.Lock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 577 | defer t.tg.pidns.owner.mu.Unlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 676 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 677 | defer t.tg.pidns.owner.mu.RUnlock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 699 | t.tg.pidns.owner.mu.RLock() | CODE |
| CRITICAL | pkg/sentry/kernel/ptrace.go | 700 | defer t.tg.pidns.owner.mu.RUnlock() | CODE |
| 134 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/packetimpact/dut/dut.go | 137 | // Scanning log lines is not the most robust way, we could pass a file | COMMENT |
| MEDIUM | test/root/crictl_test.go | 424 | // - Creates directories and a socket for containerd to utilize. | COMMENT |
| MEDIUM | runsc/fsgofer/lisafs_test.go | 26 | // Note that these are not supposed to be extensive or robust tests. These unit | COMMENT |
| MEDIUM | runsc/cgroup/systemd.go | 295 | // generating the path of slice. Essentially, test-a-b.slice becomes | COMMENT |
| MEDIUM | runsc/container/metric_server_test.go | 285 | // TestContainerMetricsRobustAgainstRestarts that exporting metrics is robust against metric server | COMMENT |
| MEDIUM | runsc/container/container.go | 705 | // CPU stats can utilize host cgroups for accuracy. | COMMENT |
| MEDIUM | pkg/shim/v1/utils/volumes.go | 164 | // - (Essentially we set it to what the admission controller said.) | COMMENT |
| MEDIUM | pkg/sentry/vfs/mount_unsafe.go | 123 | // Essentially every mountTable will contain at least /proc, /sys, and | COMMENT |
| MEDIUM | pkg/sentry/fsimpl/overlay/filesystem.go | 1338 | // Essentially no gVisor filesystem supports RENAME_WHITEOUT, so just do a | COMMENT |
| MEDIUM | pkg/sentry/platform/kvm/machine_amd64.go | 242 | // capability, but it means that this method should be robust to | COMMENT |
| MEDIUM | pkg/sentry/time/parameters.go | 46 | // TODO(b/68779214): make error correction more robust to delayed | COMMENT |
| MEDIUM | pkg/sentry/control/state_cuda.go | 134 | // Option 1 is more robust, however, support for --get-state was only added | COMMENT |
| MEDIUM⚡ | pkg/sentry/kernel/task_futex.go | 53 | // GetRobustList sets the robust futex list for the task. | COMMENT |
| MEDIUM⚡ | pkg/sentry/kernel/task_futex.go | 61 | // SetRobustList sets the robust futex list for the task. | COMMENT |
| MEDIUM⚡ | pkg/sentry/kernel/task_futex.go | 68 | // exitRobustList walks the robust futex list, marking locks dead and notifying | COMMENT |
| MEDIUM | pkg/sentry/kernel/task_futex.go | 130 | // wakeRobustListOne wakes a single futex from the robust list. | COMMENT |
| MEDIUM | pkg/sentry/kernel/task.go | 656 | // robustList is a pointer to the head of the tasks's robust futex | COMMENT |
| MEDIUM⚡ | pkg/sentry/kernel/task_exit.go | 282 | // Handle the robust futex list. | COMMENT |
| MEDIUM | pkg/sentry/kernel/task_exec.go | 357 | // Handle the robust futex list. | COMMENT |
| MEDIUM | pkg/sentry/kernel/futex/futex.go | 695 | // FUTEX_OWNER_DIED is only set by the Linux when robust lists are in use (see | COMMENT |
| MEDIUM | pkg/sentry/kernel/futex/futex.go | 696 | // exit_robust_list()). Given we don't support robust lists, although handled | COMMENT |
| MEDIUM | pkg/sentry/socket/netfilter/netfilter.go | 153 | // Read in the struct and table name. IPv4 and IPv6 utilize structs | COMMENT |
| MEDIUM | pkg/bpf/optimizer.go | 457 | // (Essentially, we create a common "jump to return" doormat that everyone in | COMMENT |
| MEDIUM | pkg/tcpip/transport/tcp/snd.go | 1323 | // can leverage the SACK information to determine when an incoming ACK is a | COMMENT |
| MEDIUM | …cpip/network/internal/ip/generic_multicast_protocol.go | 79 | // Robustness Variable may be increased. MLD is robust to [Robustness | COMMENT |
| MEDIUM | …cpip/network/internal/ip/generic_multicast_protocol.go | 87 | // Variable may be increased. IGMP is robust to (Robustness Variable - | COMMENT |
| MEDIUM | pkg/tcpip/stack/iptables_types.go | 104 | // don't utilize iptables. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | g3doc/user_guide/sdk/python_docs_api_test.py | 31 | Locates a required file from filesystem or test runfiles. Args: rel_path: Path of the file relative to the reposi | STRING |
| HIGH | images/systemd-user/gnome-mcp/desktop_mcp.py | 122 | Run an xdotool command against the desktop's display. Args: *args: The xdotool subcommand and its arguments. R | STRING |
| HIGH | images/systemd-user/gnome-mcp/desktop_mcp.py | 450 | Return the screen an action produced, and say whether it changed. Returning the screenshot from the action itself is | STRING |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 107 | Normalizes environment variables into a list of 'KEY=VALUE' strings. Args: env: A list of 'KEY=VALUE' strings or | STRING |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 148 | Normalizes and validates working directory into an absolute POSIX path. Relative paths are resolved and normalized re | STRING |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 181 | Normalizes and validates mount configurations into a list of Mount objects. Args: mounts: A sequence of Mount obj | STRING |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 566 | Runs the given command inside the running sandbox. Args: cmd: The command to run. *args: Arguments to t | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/go_branch.sh | 29 | # Create a temporary working directory, and ensure that this directory and all | COMMENT |
| MEDIUM | tools/make_apt.sh | 60 | # Create a directory for the release. | COMMENT |
| MEDIUM | tools/make_apt.sh | 64 | # Create a temporary keyring, and ensure it is cleaned up. | COMMENT |
| MEDIUM | test/rtnetlink/linux/rtnetlink_test.sh | 70 | # Create a sync pipe that will be closed when TCP_SRV creates a listen socket. | COMMENT |
| MEDIUM | test/rtnetlink/linux/route_test.sh | 20 | # Create a new default route and a new route with a address. | COMMENT |
| MEDIUM | test/rtnetlink/linux/setlink_test.sh | 20 | # Create a new veth pair in the current namespace and change the MTU. | COMMENT |
| MEDIUM | test/rtnetlink/linux/setlink_test.sh | 31 | # Create a new veth pair in the current namespace and rename the link. | COMMENT |
| MEDIUM | test/rtnetlink/linux/veth_test.sh | 20 | # Create a new veth pair in the current namespace. | COMMENT |
| MEDIUM | test/packetdrill/packetdrill_test.sh | 173 | # Create the DUT container and connect to network. | COMMENT |
| MEDIUM | test/packetdrill/packetdrill_test.sh | 191 | # Create the test runner container and connect to network. | COMMENT |
| MEDIUM | sandboxexec/sandbox/python/tests/sandbox_test.py | 79 | # Create the background sandbox (default network="none" works for | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/gpu/triton/triton.go | 0 | \n // ..the quick brown fox\n // ..jumps over\n // ....the lazy dog\n // . | STRING |
| HIGH | test/gpu/sglang/sglang.go | 0 | \n // ..the quick brown fox\n // ..jumps over\n // ....the lazy dog\n // . | STRING |
| HIGH | test/gpu/ollama/ollama.go | 0 | \n // ..the quick brown fox\n // ..jumps over\n // ....the lazy dog\n // . | STRING |
| HIGH | test/kubernetes/benchmarks/vllm.go | 0 | we assembled on the vast green lawn outside as the reactors began to slowly wind down. the workers were solemn; the acti | STRING |
| HIGH | test/kubernetes/benchmarks/sglang.go | 0 | we assembled on the vast green lawn outside as the reactors began to slowly wind down. the workers were solemn; the acti | STRING |
| HIGH | test/kubernetes/benchmarks/ollama.go | 0 | we assembled on the vast green lawn outside as the reactors began to slowly wind down. the workers were solemn; the acti | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 113 | def test_public_classes_documented(self): | CODE |
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 133 | def test_public_methods_documented(self): | CODE |
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 156 | def test_sandbox_init_parameters_documented(self): | CODE |
| LOW | images/gpu/stable-diffusion-xl/generate_image.py | 187 | def get_optimal_terminal_width(): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 97 | def test_exec_invalid_command_or_args(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 118 | def test_non_root_networking_error(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 188 | def test_init_env_list_and_dict(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 216 | def test_init_env_overrides_path(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 230 | def test_init_env_malformed_raises_error(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 269 | def test_runtime_dir_ownership_and_cleanup(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 290 | def test_runtime_dir_creation_error(self, mock_mkdtemp): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 297 | def test_state_dir_creation_error(self, mock_makedirs): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 310 | def test_create_bundle_makedirs_error(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 324 | def test_sandbox_subprocess_timeout(self, mock_run): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 336 | def test_sandbox_subprocess_error(self, mock_run): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 347 | def test_invalid_networking_mode(self): # pylint: disable=unused-argument | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 356 | def test_invalid_networking_type(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 375 | def test_network_mode_enum_bundle( | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 391 | def test_network_sandbox_nonroot_raises_error( | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 400 | def test_network_mode_none_real_sandbox(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 412 | def test_network_mode_host_real_sandbox(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 424 | def test_find_runsc_not_found(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 438 | def test_custom_bind_mount_readonly(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 460 | def test_custom_bind_mount_readwrite(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 497 | def test_dict_mount_configuration(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 516 | def test_mount_validation_errors(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 562 | def test_container_default_working_dir(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 581 | def test_container_working_dir(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 593 | def test_container_working_dir_relative(self): | CODE |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 641 | def test_mount_factory_methods(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/benchmarks/seccheck/dummy_uds_server.py | 53 | except OSError: | CODE |
| HIGH | images/systemd-user/gnome-mcp/desktop_mcp.py | 393 | except OSError: | CODE |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 629 | except OSError: | CODE |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 635 | except OSError: | CODE |
| HIGH | sandboxexec/sandbox/python/gvisor/sandbox.py | 415 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | runsc/fsgofer/lisafs.go | 633 | // Set the owners as requested by the client. | COMMENT |
| HIGH | pkg/sentry/mm/syscalls.go | 161 | // Get pmas and map as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/add-syscall/SKILL.md | 140 | ### Step 1: Run the native test | COMMENT |
| LOW | .claude/skills/add-syscall/SKILL.md | 174 | ### Step 2: Build the gvisor implementation | COMMENT |
| LOW | .claude/skills/add-syscall/SKILL.md | 188 | ### Step 3: Run the gvisor (runsc) test | COMMENT |
| LOW | pkg/sentry/devices/nvproxy/README.md | 54 | ### Step 1: Place the New Version in the Tree | COMMENT |
| LOW | pkg/sentry/devices/nvproxy/README.md | 71 | ### Step 2: Calculate the Driver Checksum | COMMENT |
| LOW | pkg/sentry/devices/nvproxy/README.md | 81 | ### Step 3: Account for ABI Changes | COMMENT |
| LOW | pkg/sentry/devices/nvproxy/README.md | 137 | ### Step 4: Add Support for New or Modified Ioctls | COMMENT |
| LOW | pkg/tcpip/tcpip.go | 861 | // NOTE: This method is a no-op for sockets other than TCP. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/compatibility/wordpress/wordpress_test.go | 48 | adminEmail = "admin@example.com" | CODE |
| LOW | test/compatibility/gitea/gitea_test.go | 44 | adminEmail = "admin@example.com" | CODE |
| LOW | test/image/latin10k.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ut placerat felis. Maecenas urna est, auctor a efficitur s | CODE |
| LOW | test/image/latin10k.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ut placerat felis. Maecenas urna est, auctor a efficitur s | CODE |
| LOW | website/blog/2026-09-17-systemd-in-gvisor.md | 512 | --env=OPENCLAW_GATEWAY_TOKEN="dummy-token-for-sandbox" \ | CODE |
| LOW | website/blog/2026-09-17-systemd-in-gvisor.md | 526 | secret from above: `dummy-token-for-sandbox`. We've now logged into OpenClaw. | CODE |
| LOW | …e/blog/2026-04-15-magi-multi-agent-gvisor-isolation.md | 407 | --env=OPENCLAW_GATEWAY_TOKEN="dummy-token-for-sandbox" \ | CODE |
| LOW | …e/blog/2026-04-15-magi-multi-agent-gvisor-isolation.md | 434 | You can now go to `http://127.0.0.1:18789/?token=dummy-token-for-sandbox` and | CODE |
| LOW | pkg/sentry/socket/netlink/netfilter/protocol.go | 1167 | m.PutAttrString(linux.NFTA_GEN_PROC_NAME, "placeholder") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 30 | CODE | |
| LOW | g3doc/user_guide/sdk/python_docs_api_test.py | 133 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/sandbox.py | 103 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/sandbox.py | 178 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/sandbox.py | 289 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/sandbox.py | 452 | CODE | |
| LOW | sandboxexec/sandbox/python/tests/sandbox_test.py | 135 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/gen_compile_commands.py | 24 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/__init__.py | 17 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/__init__.py | 18 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/__init__.py | 19 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/__init__.py | 20 | CODE | |
| LOW | sandboxexec/sandbox/python/gvisor/__init__.py | 21 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pkg/tcpip/transport/tcp/sack_scoreboard.go | 233 | // We need to check if the immediate lower (if any) sacked | COMMENT |
| LOW | …/tcpip/network/internal/fragmentation/fragmentation.go | 267 | // Before releasing a fragment we need to check if r is already marked as done. | COMMENT |
| LOW | pkg/tcpip/stack/transport_demuxer.go | 439 | // If it was previously bound, we need to check if we can bind again. | COMMENT |
| LOW | pkg/tcpip/stack/transport_demuxer.go | 458 | // If it was previously bound, we need to check if we can bind again. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/lint.sh | 21 | # Usage: | COMMENT |
| LOW | pkg/seccheck/scsdk/tracker.go | 20 | // ## Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | website/blog/2026-09-17-systemd-in-gvisor.md | 440 | ## Sandboxed agentic desktop access | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sandboxexec/sandbox/python/gvisor/sandbox.py | 421 | except Exception: | CODE |
| MEDIUM | examples/sandboxexec/python/safe_runner.py | 159 | print(f"Error: {stderr}", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/builkite-check-paths.sh | 17 | # Check if any changes are in specified paths. The script exits with 0 if no | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/sandboxexec/python/safe_runner.py | 25 | CODE |