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.
Prioritization
Both Endor Labs and Semgrep support the prioritization of findings so that AppSec teams focus on the most impactful findings. While both companies offer findings filters based on criteria like reachability and EPSS scores, Semgrep offers support for statuses in addition to the basic reachability statuses of reachable and not reachable, such as always reachable and conditionally reachable. Furthermore, Semgrep Multimodal uses AI to help organization admins receive information on top backlog tasks, allowing them to prioritize findings from all products, including the SAST and SCA products, not just those resulting from dependency vulnerability scans.Reachability for transitive dependencies
Reachability has been a fundamental part of Semgrep Supply Chain from the beginning. Supply Chain offers advanced reachability analysis for direct dependencies in the form of dataflow reachability, offering accuracy beyond that offered by Endor Labs. This coverage is offered for seven languages and counting.Vulnerable functions
Semgrep doesn’t just identify a vulnerability as reachable when a vulnerable function is called — it also takes into account how the vulnerable function is called and what data flows into that function. These functions are achieved through the use of Semgrep’s rule syntax; when a rule is written, all possible permutations of the vulnerability are encapsulated in the rule. This functionality is something that Endor Labs doesn’t have. Semgrep’s security research team doesn’t just focus on analyzing a vulnerable function when writing rules. The team extends the scope of analysis to all the third-party callers of the vulnerable functions, not just the reported third-party function that’s vulnerable. This extends the set of vulnerable functions greatly. The following rule demonstrates this functionality:download, as shown by the fix commit. The function _check_exists_and_download calls download, which you can see in the source code. Thus, both functions are flagged in the rule in the final three lines.
Learn more about how the security research team writes rules in A day in the life: Supply Chain Security Researcher
Policies and flexibility
Semgrep Supply Chain results in a failed CI job only when there are critical or high-severity findings. However, Semgrep supports notifications and integration with Jira to create tickets for all Supply Chain findings, and it offers the ability to only leave comments on PRs or block a change regarding license detection. The policies for Semgrep’s other products, Semgrep Code and Semgrep Secrets, provide extensive flexibility, especially with respect to a developer’s workflow, by allowing results to appear:- Only in the AppSec team’s view (monitor mode)
- In the AppSec team’s view and in the developer’s workflow, while not failing the CI job (comment mode)
- In the AppSec team’s view and in the developer’s workflow, while also failing the CI job (block mode)