Documentation
¶
Overview ¶
Package list provides a public list of SCALIBR-internal extraction plugins.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // CppSource extractors for C++. CppSource = InitMap{conanlock.Name: {noCFG(conanlock.New)}} // JavaSource extractors for Java. JavaSource = InitMap{ gradlelockfile.Name: {noCFG(gradlelockfile.New)}, gradleverificationmetadataxml.Name: {noCFG(gradleverificationmetadataxml.New)}, pomxml.Name: {noCFG(pomxml.New)}, pomxmlnet.Name: {noCFG(pomxmlnet.NewDefault)}, } // JavaArtifact extractors for Java. JavaArtifact = InitMap{ javaarchive.Name: {noCFG(javaarchive.NewDefault)}, } // JavascriptSource extractors for Javascript. JavascriptSource = InitMap{ packagejson.Name: {noCFG(packagejson.NewDefault)}, packagelockjson.Name: {noCFG(packagelockjson.NewDefault)}, pnpmlock.Name: {noCFG(pnpmlock.New)}, yarnlock.Name: {noCFG(yarnlock.New)}, bunlock.Name: {noCFG(bunlock.New)}, } // JavascriptArtifact extractors for Javascript. JavascriptArtifact = InitMap{ packagejson.Name: {noCFG(packagejson.NewDefault)}, } // PythonSource extractors for Python. PythonSource = InitMap{ requirements.Name: {noCFG(requirements.NewDefault)}, setup.Name: {noCFG(setup.NewDefault)}, pipfilelock.Name: {noCFG(pipfilelock.New)}, pdmlock.Name: {noCFG(pdmlock.New)}, poetrylock.Name: {noCFG(poetrylock.New)}, pylock.Name: {noCFG(pylock.New)}, condameta.Name: {noCFG(condameta.NewDefault)}, uvlock.Name: {noCFG(uvlock.New)}, } // PythonArtifact extractors for Python. PythonArtifact = InitMap{ wheelegg.Name: {noCFG(wheelegg.NewDefault)}, } // GoSource extractors for Go. GoSource = InitMap{ gomod.Name: {noCFG(gomod.New)}, } // GoArtifact extractors for Go. GoArtifact = InitMap{ gobinary.Name: {gobinary.New}, } // DartSource extractors for Dart. DartSource = InitMap{pubspec.Name: {noCFG(pubspec.New)}} // ErlangSource extractors for Erlang. ErlangSource = InitMap{mixlock.Name: {noCFG(mixlock.New)}} // NimSource extractors for Nim. NimSource = InitMap{nimble.Name: {noCFG(nimble.New)}} // LuaSource extractors for Lua. LuaSource = InitMap{luarocks.Name: {noCFG(luarocks.New)}} // ElixirSource extractors for Elixir. ElixirSource = InitMap{elixir.Name: {noCFG(elixir.NewDefault)}} // HaskellSource extractors for Haskell. HaskellSource = InitMap{ stacklock.Name: {noCFG(stacklock.NewDefault)}, cabal.Name: {noCFG(cabal.NewDefault)}, } // RSource extractors for R source extractors RSource = InitMap{renvlock.Name: {noCFG(renvlock.New)}} // RubySource extractors for Ruby. RubySource = InitMap{ gemspec.Name: {noCFG(gemspec.NewDefault)}, gemfilelock.Name: {noCFG(gemfilelock.New)}, } // RustSource extractors for Rust. RustSource = InitMap{ cargolock.Name: {noCFG(cargolock.New)}, cargotoml.Name: {noCFG(cargotoml.New)}, } // RustArtifact extractors for Rust. RustArtifact = InitMap{ cargoauditable.Name: {noCFG(cargoauditable.NewDefault)}, } // SBOM extractors. SBOM = InitMap{ cdx.Name: {noCFG(cdx.New)}, spdx.Name: {noCFG(spdx.New)}, } // DotnetSource extractors for Dotnet (.NET). DotnetSource = InitMap{ depsjson.Name: {noCFG(depsjson.NewDefault)}, packagesconfig.Name: {noCFG(packagesconfig.NewDefault)}, packageslockjson.Name: {noCFG(packageslockjson.NewDefault)}, } // DotnetArtifact extractors for Dotnet (.NET). DotnetArtifact = InitMap{ dotnetpe.Name: {noCFG(dotnetpe.NewDefault)}, } // PHPSource extractors for PHP Source extractors. PHPSource = InitMap{composerlock.Name: {noCFG(composerlock.New)}} // SwiftSource extractors for Swift. SwiftSource = InitMap{ packageresolved.Name: {noCFG(packageresolved.NewDefault)}, podfilelock.Name: {noCFG(podfilelock.NewDefault)}, } // Containers extractors. Containers = InitMap{ containerd.Name: {noCFG(containerd.NewDefault)}, k8simage.Name: {noCFG(k8simage.NewDefault)}, podman.Name: {noCFG(podman.NewDefault)}, dockerbaseimage.Name: {noCFG(dockerbaseimage.NewDefault)}, dockercomposeimage.Name: {noCFG(dockercomposeimage.NewDefault)}, } // OS extractors. OS = InitMap{ dpkg.Name: {noCFG(dpkg.NewDefault)}, apk.Name: {noCFG(apk.NewDefault)}, rpm.Name: {noCFG(rpm.NewDefault)}, cos.Name: {noCFG(cos.NewDefault)}, snap.Name: {noCFG(snap.NewDefault)}, nix.Name: {noCFG(nix.New)}, module.Name: {noCFG(module.NewDefault)}, vmlinuz.Name: {noCFG(vmlinuz.NewDefault)}, pacman.Name: {noCFG(pacman.NewDefault)}, portage.Name: {noCFG(portage.NewDefault)}, flatpak.Name: {noCFG(flatpak.NewDefault)}, homebrew.Name: {noCFG(homebrew.New)}, macapps.Name: {noCFG(macapps.NewDefault)}, macports.Name: {noCFG(macports.New)}, winget.Name: {noCFG(winget.NewDefault)}, } // SecretExtractors for Extractor interface. SecretExtractors = InitMap{ mysqlmylogin.Name: {noCFG(mysqlmylogin.New)}, pgpass.Name: {noCFG(pgpass.New)}, onepasswordconnecttoken.Name: {noCFG(onepasswordconnecttoken.New)}, mariadb.Name: {noCFG(mariadb.NewDefault)}, } // SecretDetectors for Detector interface. SecretDetectors = initMapFromVelesPlugins([]velesPlugin{ {anthropicapikey.NewDetector(), "secrets/anthropicapikey", 0}, {azuretoken.NewDetector(), "secrets/azuretoken", 0}, {azurestorageaccountaccesskey.NewDetector(), "secrets/azurestorageaccountaccesskey", 0}, {digitaloceanapikey.NewDetector(), "secrets/digitaloceanapikey", 0}, {pypiapitoken.NewDetector(), "secrets/pypiapitoken", 0}, {cratesioapitoken.NewDetector(), "secrets/cratesioapitoken", 0}, {slacktoken.NewAppConfigAccessTokenDetector(), "secrets/slackappconfigaccesstoken", 0}, {slacktoken.NewAppConfigRefreshTokenDetector(), "secrets/slackappconfigrefreshtoken", 0}, {slacktoken.NewAppLevelTokenDetector(), "secrets/slackappleveltoken", 0}, {dockerhubpat.NewDetector(), "secrets/dockerhubpat", 0}, {gcpapikey.NewDetector(), "secrets/gcpapikey", 0}, {gcpexpressmode.NewDetector(), "secrets/gcpexpressmode", 0}, {gcpsak.NewDetector(), "secrets/gcpsak", 0}, {gitlabpat.NewDetector(), "secrets/gitlabpat", 0}, {grokxaiapikey.NewAPIKeyDetector(), "secrets/grokxaiapikey", 0}, {grokxaiapikey.NewManagementKeyDetector(), "secrets/grokxaimanagementkey", 0}, {hashicorpvault.NewTokenDetector(), "secrets/hashicorpvaulttoken", 0}, {hashicorpvault.NewAppRoleDetector(), "secrets/hashicorpvaultapprole", 0}, {hcp.NewPairDetector(), "secrets/hcpclientcredentials", 0}, {hcp.NewAccessTokenDetector(), "secrets/hcpaccesstoken", 0}, {huggingfaceapikey.NewDetector(), "secrets/huggingfaceapikey", 0}, {openai.NewDetector(), "secrets/openai", 0}, {perplexityapikey.NewDetector(), "secrets/perplexityapikey", 0}, {postmanapikey.NewAPIKeyDetector(), "secrets/postmanapikey", 0}, {postmanapikey.NewCollectionTokenDetector(), "secrets/postmancollectiontoken", 0}, {privatekey.NewDetector(), "secrets/privatekey", 0}, {rubygemsapikey.NewDetector(), "secrets/rubygemsapikey", 0}, {tinkkeyset.NewDetector(), "secrets/tinkkeyset", 0}, {github.NewAppRefreshTokenDetector(), "secrets/githubapprefreshtoken", 0}, {github.NewAppS2STokenDetector(), "secrets/githubapps2stoken", 0}, {github.NewAppU2SDetector(), "secrets/githubappu2stoken", 0}, {github.NewClassicPATDetector(), "secrets/githubclassicpat", 0}, {github.NewFineGrainedPATDetector(), "secrets/githubfinegrainedpat", 0}, {github.NewOAuthTokenDetector(), "secrets/githuboauthtoken", 0}, {stripeapikeys.NewSecretKeyDetector(), "secrets/stripesecretkey", 0}, {stripeapikeys.NewRestrictedKeyDetector(), "secrets/striperestrictedkey", 0}, {stripeapikeys.NewWebhookSecretDetector(), "secrets/stripewebhooksecret", 0}, {gcpoauth2client.NewDetector(), "secrets/gcpoauth2clientcredentials", 0}, {gcpoauth2access.NewDetector(), "secrets/gcpoauth2accesstoken", 0}, {onepasswordkeys.NewSecretKeyDetector(), "secrets/onepasswordsecretkey", 0}, {onepasswordkeys.NewServiceTokenDetector(), "secrets/onepasswordservicetoken", 0}, {onepasswordkeys.NewRecoveryTokenDetector(), "secrets/onepasswordrecoverycode", 0}, {gcshmackey.NewDetector(), "secrets/gcshmackey", 0}, {vapid.NewDetector(), "secrets/vapidkey", 0}, }) // Secrets contains both secret extractors and detectors. Secrets = concat( SecretDetectors, SecretExtractors, ) // Misc artifact extractors. Misc = InitMap{ vscodeextensions.Name: {noCFG(vscodeextensions.New)}, wordpressplugins.Name: {noCFG(wordpressplugins.NewDefault)}, chromeextensions.Name: {noCFG(chromeextensions.New)}, } // MiscSource extractors for miscellaneous purposes. MiscSource = InitMap{ asdf.Name: {noCFG(asdf.New)}, nvm.Name: {noCFG(nvm.New)}, nodeversion.Name: {noCFG(nodeversion.New)}, } // EmbeddedFS extractors. EmbeddedFS = InitMap{ archive.Name: {archive.New}, vdi.Name: {vdi.New}, vmdk.Name: {vmdk.New}, ova.Name: {ova.New}, } // SourceCode extractors find packages in source code contexts (e.g. lockfiles). SourceCode = concat( CppSource, JavaSource, JavascriptSource, PythonSource, GoSource, DartSource, ErlangSource, ElixirSource, HaskellSource, PHPSource, RSource, RubySource, RustSource, DotnetSource, SwiftSource, NimSource, LuaSource, Secrets, MiscSource, ) // Artifact extractors find packages on built systems (e.g. parsing // descriptors of installed packages). Artifact = concat( JavaArtifact, JavascriptArtifact, PythonArtifact, GoArtifact, DotnetArtifact, RustArtifact, SBOM, OS, Misc, EmbeddedFS, Containers, Secrets, ) // Default extractors that are recommended to be enabled. Default = concat( JavaSource, JavaArtifact, JavascriptSource, JavascriptArtifact, PythonSource, PythonArtifact, GoSource, GoArtifact, OS, ) // All extractors available from SCALIBR. All = concat( SourceCode, Artifact, ) )
LINT.IfChange
Functions ¶
func ExtractorsFromName ¶ added in v0.3.1
func ExtractorsFromName(name string, cfg *cpb.PluginConfig) ([]filesystem.Extractor, error)
ExtractorsFromName returns a list of extractors from a name.
Types ¶
type InitFn ¶ added in v0.1.7
type InitFn func(cfg *cpb.PluginConfig) filesystem.Extractor
InitFn is the extractor initializer function.
Click to show internal directories.
Click to hide internal directories.