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: {conanlock.New}} // JavaSource extractors for Java. JavaSource = InitMap{ gradlelockfile.Name: {gradlelockfile.New}, gradleverificationmetadataxml.Name: {gradleverificationmetadataxml.New}, pomxml.Name: {pomxml.New}, pomxmlnet.Name: {pomxmlnet.New}, } // JavaArtifact extractors for Java. JavaArtifact = InitMap{ javaarchive.Name: {javaarchive.New}, } // JavascriptSource extractors for Javascript. JavascriptSource = InitMap{ packagejson.Name: {packagejson.New}, packagelockjson.Name: {packagelockjson.New}, denojson.Name: {denojson.New}, denotssource.Name: {denotssource.New}, pnpmlock.Name: {pnpmlock.New}, yarnlock.Name: {yarnlock.New}, bunlock.Name: {bunlock.New}, } // JavascriptArtifact extractors for Javascript. JavascriptArtifact = InitMap{ packagejson.Name: {packagejson.New}, denojson.Name: {denojson.New}, } // PythonSource extractors for Python. PythonSource = InitMap{ requirements.Name: {requirements.New}, setup.Name: {setup.New}, pipfilelock.Name: {pipfilelock.New}, pdmlock.Name: {pdmlock.New}, poetrylock.Name: {poetrylock.New}, pylock.Name: {pylock.New}, condameta.Name: {condameta.New}, uvlock.Name: {uvlock.New}, } // PythonArtifact extractors for Python. PythonArtifact = InitMap{ wheelegg.Name: {wheelegg.New}, } // GoSource extractors for Go. GoSource = InitMap{ gomod.Name: {gomod.New}, } // GoArtifact extractors for Go. GoArtifact = InitMap{ gobinary.Name: {gobinary.New}, } // DartSource extractors for Dart. DartSource = InitMap{pubspec.Name: {pubspec.New}} // ErlangSource extractors for Erlang. ErlangSource = InitMap{mixlock.Name: {mixlock.New}} // NimSource extractors for Nim. NimSource = InitMap{nimble.Name: {nimble.New}} // LuaSource extractors for Lua. LuaSource = InitMap{luarocks.Name: {luarocks.New}} // OcamlSource extractors for OCaml. OcamlSource = InitMap{opam.Name: {opam.New}} // ElixirSource extractors for Elixir. ElixirSource = InitMap{elixir.Name: {elixir.New}} // HaskellSource extractors for Haskell. HaskellSource = InitMap{ stacklock.Name: {stacklock.New}, cabal.Name: {cabal.New}, } // RSource extractors for R source extractors RSource = InitMap{renvlock.Name: {renvlock.New}} // RubySource extractors for Ruby. RubySource = InitMap{ gemspec.Name: {gemspec.New}, gemfilelock.Name: {gemfilelock.New}, } // RustSource extractors for Rust. RustSource = InitMap{ cargolock.Name: {cargolock.New}, cargotoml.Name: {cargotoml.New}, } // RustArtifact extractors for Rust. RustArtifact = InitMap{ cargoauditable.Name: {cargoauditable.New}, } // JuliaSource extractors for Julia. JuliaSource = InitMap{ projecttoml.Name: {projecttoml.New}, manifesttoml.Name: {manifesttoml.New}, } // JuliaArtifact extractors for Julia. JuliaArtifact = InitMap{ manifesttoml.Name: {manifesttoml.New}, } // SBOM extractors. SBOM = InitMap{ cdx.Name: {cdx.New}, spdx.Name: {spdx.New}, } // DotnetSource extractors for Dotnet (.NET). DotnetSource = InitMap{ depsjson.Name: {depsjson.New}, packagesconfig.Name: {packagesconfig.New}, packageslockjson.Name: {packageslockjson.New}, } // DotnetArtifact extractors for Dotnet (.NET). DotnetArtifact = InitMap{ dotnetpe.Name: {dotnetpe.New}, } // PHPSource extractors for PHP Source extractors. PHPSource = InitMap{composerlock.Name: {composerlock.New}} // SwiftSource extractors for Swift. SwiftSource = InitMap{ packageresolved.Name: {packageresolved.New}, podfilelock.Name: {podfilelock.New}, } // Containers extractors. Containers = InitMap{ containerd.Name: {containerd.New}, k8simage.Name: {k8simage.New}, podman.Name: {podman.New}, dockerbaseimage.Name: {dockerbaseimage.New}, dockercomposeimage.Name: {dockercomposeimage.New}, } // OS extractors. OS = InitMap{ dpkg.Name: {dpkg.New}, apk.Name: {apk.New}, rpm.Name: {rpm.New}, cos.Name: {cos.New}, snap.Name: {snap.New}, nix.Name: {nix.New}, module.Name: {module.New}, vmlinuz.Name: {vmlinuz.New}, pacman.Name: {pacman.New}, portage.Name: {portage.New}, flatpak.Name: {flatpak.New}, homebrew.Name: {homebrew.New}, macapps.Name: {macapps.New}, macports.Name: {macports.New}, winget.Name: {winget.New}, chocolatey.Name: {chocolatey.New}, } // SecretExtractors for Extractor interface. SecretExtractors = InitMap{ mysqlmylogin.Name: {mysqlmylogin.New}, pgpass.Name: {pgpass.New}, onepasswordconnecttoken.Name: {onepasswordconnecttoken.New}, mariadb.Name: {mariadb.New}, awsaccesskey.Name: {awsaccesskey.New}, codecatalyst.Name: {codecatalyst.New}, codecommit.Name: {codecommit.New}, bitbucket.Name: {bitbucket.New}, cloudflareapitoken.Name: {cloudflareapitoken.New}, } // SecretDetectors for Detector interface. SecretDetectors = initMapFromVelesPlugins([]velesPlugin{ {anthropicapikey.NewDetector(), "secrets/anthropicapikey", 0}, {azuretoken.NewDetector(), "secrets/azuretoken", 0}, {azurestorageaccountaccesskey.NewDetector(), "secrets/azurestorageaccountaccesskey", 0}, {circleci.NewPersonalAccessTokenDetector(), "secrets/circlecipat", 0}, {circleci.NewProjectTokenDetector(), "secrets/circleciproject", 0}, {cursorapikey.NewDetector(), "secrets/cursorapikey", 0}, {digitaloceanapikey.NewDetector(), "secrets/digitaloceanapikey", 0}, {pypiapitoken.NewDetector(), "secrets/pypiapitoken", 0}, {cratesioapitoken.NewDetector(), "secrets/cratesioapitoken", 0}, {npmjsaccesstoken.NewDetector(), "secrets/npmjsaccesstoken", 0}, {slacktoken.NewAppConfigAccessTokenDetector(), "secrets/slackappconfigaccesstoken", 0}, {slacktoken.NewAppConfigRefreshTokenDetector(), "secrets/slackappconfigrefreshtoken", 0}, {slacktoken.NewAppLevelTokenDetector(), "secrets/slackappleveltoken", 0}, {dockerhubpat.NewDetector(), "secrets/dockerhubpat", 0}, {elasticcloudapikey.NewDetector(), "secrets/elasticcloudapikey", 0}, {denopat.NewUserTokenDetector(), "secrets/denopatuser", 0}, {denopat.NewOrgTokenDetector(), "secrets/denopatorg", 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}, {mistralapikey.NewDetector(), "secrets/mistralapikey", 0}, {openai.NewDetector(), "secrets/openai", 0}, {openrouter.NewDetector(), "secrets/openrouter", 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}, {sendgrid.NewDetector(), "secrets/sendgrid", 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}, {squareapikey.NewPersonalAccessTokenDetector(), "secrets/squarepersonalaccesstoken", 0}, {squareapikey.NewOAuthApplicationSecretDetector(), "secrets/squareoauthapplicationsecret", 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}, {paystacksecretkey.NewSecretKeyDetector(), "secrets/paystacksecretkey", 0}, {gcshmackey.NewDetector(), "secrets/gcshmackey", 0}, {vapid.NewDetector(), "secrets/vapidkey", 0}, {recaptchakey.NewDetector(), "secrets/recaptchakey", 0}, {jwt.NewDetector(), "secrets/jwttoken", 0}, {pyxkeyv1.NewDetector(), "secrets/pyxkeyv1", 0}, {pyxkeyv2.NewDetector(), "secrets/pyxkeyv2", 0}, {urlcreds.NewDetector(), "secrets/urlcreds", 0}, {telegrambotapitoken.NewDetector(), "secrets/telegrambotapitoken", 0}, {salesforceoauth2access.NewDetector(), "secrets/salesforceoauth2access", 0}, {salesforceoauth2client.NewDetector(), "secrets/salesforceoauth2client", 0}, {herokuplatformkey.NewSecretKeyDetector(), "secrets/herokuplatformkey", 0}, {salesforceoauth2jwt.NewDetector(), "secrets/salesforceoauth2jwt", 0}, {salesforceoauth2refresh.NewDetector(), "secrets/salesforceoauth2refresh", 0}, }) // Secrets contains both secret extractors and detectors. Secrets = concat( SecretDetectors, SecretExtractors, ) // Misc artifact extractors. Misc = InitMap{ vscodeextensions.Name: {vscodeextensions.New}, wordpressplugins.Name: {wordpressplugins.New}, chromeextensions.Name: {chromeextensions.New}, netscaler.Name: {netscaler.New}, } // MiscSource extractors for miscellaneous purposes. MiscSource = InitMap{ asdf.Name: {asdf.New}, mise.Name: {mise.New}, nvm.Name: {nvm.New}, nodeversion.Name: {nodeversion.New}, } // EmbeddedFS extractors. EmbeddedFS = InitMap{ archive.Name: {archive.New}, vdi.Name: {vdi.New}, vmdk.Name: {vmdk.New}, ova.Name: {ova.New}, qcow2.Name: {qcow2.New}, } // FFA extractor. FFA = InitMap{ unknownbinariesextr.Name: {unknownbinariesextr.New}, asdf.Name: {asdf.New}, bazelmaven.Name: {bazelmaven.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, JuliaSource, DotnetSource, SwiftSource, NimSource, OcamlSource, 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, FFA, JuliaArtifact, ) // 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, error)
InitFn is the extractor initializer function.
Click to show internal directories.
Click to hide internal directories.