Repository Analysis

ipfs/kubo

An IPFS implementation in Go

2.2 Likely human-written View on GitHub
2.2
Adjusted Score
2.2
Raw Score
100%
Time Factor
2026-05-29
Last Push
17,032
Stars
Go
Language
153,384
Lines of Code
783
Files
160
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 7HIGH 0MEDIUM 47LOW 106

Pattern Findings

160 matches across 8 categories. Click a row to expand file-level details.

Decorative Section Separators43 hits · 111 pts
SeverityFileLineSnippet
MEDIUMtest/sharness/t0114-gateway-subdomains.sh10## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh12## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh83## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh85## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh128## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh131## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh206## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh209## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh292## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh294## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh324## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh327## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh342# =============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh466# ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh497# ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh521## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh573# =============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh599## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh601## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh616# =============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh646## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh649## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh740## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh742## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh773## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh775## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh807## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh809## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh890## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh892## ============================================================================
MEDIUMtest/sharness/t0114-gateway-subdomains.sh908# =============================================================================
MEDIUMtest/sharness/t0109-gateway-web-_redirects.sh10## ============================================================================
MEDIUMtest/sharness/t0109-gateway-web-_redirects.sh12## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh10## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh12## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh30## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh32## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh68## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh70## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh109## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh111## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh160## ============================================================================
MEDIUMtest/sharness/t0115-gateway-dir-listing.sh162## ============================================================================
Hallucination Indicators7 hits · 100 pts
SeverityFileLineSnippet
CRITICALcore/node/groups.go116 enableTCPTransport := cfg.Swarm.Transports.Network.TCP.WithDefault(true)
CRITICALcore/node/groups.go117 enableWebsocketTransport := cfg.Swarm.Transports.Network.Websocket.WithDefault(true)
CRITICALcore/node/groups.go118 enableRelayTransport := cfg.Swarm.Transports.Network.Relay.WithDefault(true) // nolint
CRITICALcore/node/bitswap.go134 maxProviders = int(in.Cfg.Internal.Bitswap.ProviderSearchMaxResults.WithDefault(DefaultMaxProviders))
CRITICALplugin/plugins/telemetry/telemetry.go417 p.event.ProvideDHTSweepEnabled = p.config.Provide.DHT.SweepEnabled.WithDefault(config.DefaultProvideDHTSweepEnabled)
CRITICALplugin/plugins/telemetry/telemetry.go418 p.event.ProvideDHTIntervalCustom = !p.config.Provide.DHT.Interval.IsDefault()
CRITICALplugin/plugins/telemetry/telemetry.go419 p.event.ProvideDHTMaxWorkersCustom = !p.config.Provide.DHT.MaxWorkers.IsDefault()
Over-Commented Block96 hits · 96 pts
SeverityFileLineSnippet
LOWtracing/doc.go1// Package tracing contains the tracing logic for go-ipfs, including configuring the tracer and
LOWtracing/doc.go21// - OTEL_EXPORTER_OTLP_PROTOCOL
LOWtracing/doc.go41// a full Jaeger stack and configure Kubo to publish traces to it:
LOWtracing/doc.go61//
LOWcore/core.go141}
LOWcore/builder.go21type FXNodeInfo struct {
LOWcore/builder.go141 // TODO: How soon will bootstrap move to libp2p?
LOWcore/corehttp/gateway.go281 })
LOWcore/corehttp/corehttp.go81// Serve accepts incoming HTTP connections on the listener and passes them
LOWcore/coreiface/unixfs.go81 Get(context.Context, path.Path) (files.Node, error)
LOWcore/coreiface/unixfs.go101 Ls(context.Context, path.Path, chan<- DirEntry, ...options.UnixfsLsOption) error
LOWcore/coreiface/name.go21// IPNS is a PKI namespace, where names are the hashes of public keys, and the
LOWcore/commands/config.go161 return err
LOWcore/commands/provide.go201 // seen deduplicates across all roots and recursive walks, so a CID
LOWcore/commands/provide.go781func humanFull(val float64, decimals int) string {
LOWcore/commands/refs.go221 var count int
LOWcore/commands/dag/import.go121
LOWcore/commands/dag/export.go141 }
LOWcore/commands/cmdenv/cidbase.go61}
LOWcore/commands/cmdenv/env.go101// - If Provide.DHT.SweepEnabled=true or OptimisticProvide=true, we make an
LOWcore/commands/cmdenv/env.go121// - wait: whether to block until provide completes (sync mode)
LOWcore/commands/cmdenv/env.go201// Context handling:
LOWcore/node/provider.go101const consecutiveAlertsThreshold = 3
LOWcore/node/provider.go121 // can happen if the provider is closed or if the node is currently Offline
LOWcore/node/provider.go141 // The keys are not deleted from the keystore, so they will continue to be
LOWcore/node/provider.go661 // In no-schedule mode the on-disk keystore is never used. If a
LOWcore/node/provider.go721 }
LOWcore/node/provider.go1321
LOWcore/node/p2pforge_resolver.go21// falls back to network DNS. This ensures future <peerID>.libp2p.direct records
LOWcore/node/libp2p/routingopt.go321)
LOWcore/node/libp2p/addrs.go61// `host.Network().InterfaceListenAddresses()`). Without resolution, the
LOWtest/ipfs-test-lib.sh81}
LOWtest/sharness/t0051-object.sh41 # only manipulates ProtoNode links without updating UnixFS metadata.
LOWtest/sharness/t0095-refs.sh1#!/usr/bin/env bash
LOWtest/sharness/t0095-refs.sh21# L2- D 1.txt B 2.txt
LOWtest/sharness/t0095-refs.sh41# added QmU6xujRsYzcrkocuR3fhfnkZBB8eyUFFq4WKRGw2aS15h A
LOWtest/sharness/t0116-gateway-cache.sh1#!/usr/bin/env bash
LOWtest/sharness/t0114-gateway-subdomains/README.md101# RSA_IPNS_IDv0=QmVujd5Vb7moysJj8itnGufN7MEtPRCNHkKpNuA4onsRa3
LOWtest/cli/add_test.go601// createDirectoryForHAMTLinksEstimation creates a directory with the specified number
LOWtest/cli/provider_test.go1421 // dagwalker: bloom creation log
LOWtest/cli/provider_test.go1501 require.Contains(t, daemonLog, "bloom tracker created")
LOWtest/cli/provider_test.go1681 assert.NotContains(t, statRes.Stderr.String(), "stats not available",
LOWtest/cli/provider_test.go1801func dirExists(path string) bool {
LOWtest/cli/provider_test.go1821// closes the keystore. The line-scan below fails on the exact
LOWtest/cli/cid_profiles_test.go61 // SmallFileCID is the deterministic CID for "hello world" string.
LOWtest/cli/cid_profiles_test.go681 cidLen int
LOWtest/cli/dag_layout_test.go21//
LOWtest/cli/pubsub_test.go41 }
LOWtest/cli/update_test.go161 t.Parallel()
LOWtest/cli/update_test.go321 "binary at %s should contain the extracted archive content", tmpBinPath)
LOWtest/cli/update_test.go481// "ipfs update check" and "ipfs update versions" without touching the
LOWtest/cli/block_size_test.go21 twoMiBPlus = twoMiB + 1 // 2097153
LOWtest/cli/block_size_test.go201 t.Run("ipfs add non-raw-leaves", func(t *testing.T) {
LOWtest/cli/provide_stats_test.go41// Tests will naturally fail if upstream removes/renames fields we depend on.
LOWtest/cli/fuse/realworld_test.go1//go:build (linux || darwin || freebsd) && !nofuse
LOWtest/cli/harness/log.go21func (e events) Len() int { return len(e) }
LOWtest/cli/autoconf/extensibility_test.go21// 1. New systems can be added via AutoConf's SystemRegistry
LOWtest/cli/autoconf/expand_comprehensive_test.go1// Package autoconf provides comprehensive tests for --expand-auto functionality.
LOWtest/cli/autoconf/expand_comprehensive_test.go61 })
LOWtest/cli/autoconf/expand_comprehensive_test.go261
36 more matches not shown…
Verbosity Indicators7 hits · 13 pts
SeverityFileLineSnippet
LOWtest/cli/autoconf/autoconf_test.go423 // Step 1: Create bootstrap node (target for connections)
LOWtest/cli/autoconf/autoconf_test.go443 // Step 2: Create autoconf server that returns bootstrap node's address
LOWtest/cli/autoconf/autoconf_test.go466 // Step 3: Create autoconf-enabled node that should connect to bootstrap node
LOWtest/cli/autoconf/autoconf_test.go479 // Step 4: Give time for autoconf resolution and connection attempts
LOWtest/cli/autoconf/autoconf_test.go482 // Step 5: Verify both nodes are responsive
LOWtest/cli/autoconf/autoconf_test.go489 // Step 6: Verify that autoconf node connected to bootstrap node
LOWtest/cli/autoconf/autoconf_test.go511 // Step 7: Verify bootstrap configuration still shows "auto" (not resolved values)
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMcmd/ipfs/kubo/daemon.go465 // Private setups can't leverage peers returned by default IPNIs (Routing.Type=auto)
MEDIUM.github/workflows/gotest.yml190 # under the harness temp dir (ipfs/ipns/mfs subdirectories).
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMtest/sharness/t0114-gateway-subdomains.sh28 # Create a raw URL version with IP to ensure hostname from Host header is used
MEDIUMtest/sharness/t0250-files-api.sh70 # Create the files in reverse (unsorted) order (`seq 100 -1 1`)
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippet
LOWbin/push-docker-tags.sh15# Usage:
LOWbin/get-docker-tags.sh5# Usage:
Redundant / Tautological Comments1 hit · 1 pts
SeverityFileLineSnippet
LOWcore/commands/log.go87 ipfs log level all info # Set ALL to 'info' (including default)