Documentation Index
Fetch the complete documentation index at: https://docs.semgrep.dev/llms.txt
Use this file to discover all available pages before exploring further.
PREREQUISITEAt least one project (a repository or subfolder in a monorepo) that scans for dependencies through Semgrep Supply Chain. See Scan third-party dependencies.
Enable and use dependency search
To search your dependencies:Sign in to Semgrep AppSec Platform.
View additional manifest files or lockfiles
By default, Semgrep only displays dependencies listed in a given project’s first 10 manifest files or lockfiles. To load information from additional files:Sign in to Semgrep AppSec Platform.
Search for dependencies
To search for dependencies:Sign in to Semgrep AppSec Platform.
Filter results by version number
To filter your results by version number:Enter the dependency name and press Enter or Return. This returns a list of matches, but you can then filter your results further by version number:i. Click the name of your dependency to open the dialog:ii. To search for a specific version of a package, click Exact match, then enter the version number.iii. To search for a range of versions, click Range, then enter the minimum and maximum versions.iv. Click Apply to save your changes and see your results.
To specify a version number, click Exact match. For a range, click Range and provide the minimum and maximum versions.
Optional: to search for a specific version of a package, click Exact match, then enter the version number.
Search filters
search provides the following filters, which correspond to the data points displayed by Semgrep about each dependency:| Filter | Description |
|---|---|
| The name and version of the dependency. | |
| Projects | The projects where the dependency can be found. |
| The relationship of the dependency to your codebase. | |
| License | The License you set. Determines whether a dependency can be used based on its license. |
| License | The dependency’s license type. |
| Language | The language of the dependency. |
Dependency paths (beta)
INFOThis feature is currently in invite-only beta. Please contact Semgrep Support for more information.
- How a transitive dependency was introduced
- How deeply the transitive dependency is nested in the dependency tree.
Supported languages
Semgrep generates dependency paths for most C#, Java, JavaScript, Kotlin, and Python projects.C#
Semgrep generates dependency paths for C# projects using NuGet.Java
Semgrep generates dependency paths for Java projects that include amaven_dep_tree.txt file whenever you invoke a scan using semgrep ci.
Semgrep can also generate dependency paths for Java projects with lockfiles and Java projects without lockfiles if they’re built using Maven or Gradle with the help of the Gradle Wrapper. paths for such projects are available when scanning without lockfiles.
JavaScript
Semgrep generates dependency paths for JavaScript projects that usenpm, yarn, or pnpm and include a lockfile whenever you invoke a scan using semgrep ci.
Kotlin
Semgrep generates dependency paths for Kotlin projects built using Maven when amaven_dep_tree.txt file is present, and for Maven or Gradle when scanning without lockfiles.
Python
Semgrep generates dependency paths for Python projects that use the following package managers:poetryandpoetry.lockfileuv(requires Semgrep version1.127.0or later)
Pipenvpiptoolspipwithrequirements.txt
View the dependency path
After you have been added to the paths beta and a new scan completes on a repository, view the dependency paths in Semgrep AppSec Platform on:- The Details page for a transitive finding
- The Supply Chain > Dependencies tab when you view a transitive dependency; click Transitive to see the dependency path
Troubleshooting: no dependencies appear on the Dependencies page
If you don’t see any results on the Dependencies page, ensure that:- Semgrep Supply Chain supports your manifest file or lockfile. Refer to Supported languages for a list of supported languages, manifest files, and lockfiles.
- Your filters and search syntax are correct.
- You’ve performed a full scan of the repository at least once since enabling dependency search. Only dependencies detected during full scans are shown on the Dependencies page.