Metadata-Version: 2.4
Name: semgrep_rules_manager
Version: 0.4.0
Summary: Manager of third-party Semgrep rules
License: MIT
License-File: LICENSE
Keywords: semgrep,semgrep-rules,semgrep-rules-manager,sast
Author: George-Andrei Iosif
Author-email: andrei.iosif@canonical.com
Requires-Python: >=3.10,<4.0
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: System :: Software Distribution
Requires-Dist: click (>=8.1.6,<9.0.0)
Requires-Dist: gitpython (>=3.1.32,<4.0.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: rich (>=13.4.2,<14.0.0)
Project-URL: Repository, https://github.com/iosifache/semgrep-rules-manager
Description-Content-Type: text/markdown

<p align="center">
    <img src="https://raw.githubusercontent.com/iosifache/semgrep-rules-manager/main/logo.png" height="256" alt="semgrep-rules-manager logo"/>
</p>

## Description

Despite the fact that there is an open source repository containing community rules, some Semgrep users prefer to keep their custom rules in repositories that they manage.

The goal of **`semgrep-rules-manager`** is to collect **high-quality Semgrep rules from third-party sources**. It allows you to examine information about a source, download it, and check for and retrieve remote updates. If a downloaded source no longer meets your requirements, `semgrep-rules-manager` can handle deletion procedures.

## Included rules

[This online search engine](https://semgrep.iosifache.me) allows you to explore the rules included in `semgrep-rules-manager`.

## Included sources

| Identifier       | Rules per Language                                                                                                                                                                                                                                                                                                                                                                                                      | Author         | License         |
|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|-----------------|
| `community`      | 378 for Python, 364 for Terraform, 237 for Regex, 213 for JavaScript, 207 for TypeScript, 128 for Java, 110 for YAML, 97 for Go, 90 for Generic, 89 for Ruby, 64 for PHP, 50 for Solidity, 49 for C#, 39 for Dockerfile, 34 for OCaml, 25 for Scala, 22 for JSON, 19 for Kotlin, 17 for C, 12 for Apex, 11 for Rust, 9 for Bash, 7 for Swift, 7 for Elixir, 5 for Clojure, 4 for HTML, 1 for Dart, 1 for XML, 1 for Lua | Semgrep        | LGPL 2.1        |
| `gitlab`         | 102 for Java, 96 for JavaScript, 86 for Scala, 80 for Python, 62 for C, 62 for C++, 59 for Kotlin, 40 for Ruby, 27 for Go, 22 for C#, 13 for TypeScript, 9 for PHP, 5 for Swift, 4 for Generic, 1 for YAML                                                                                                                                                                                                              | GitLab         | MIT             |
| `trailofbits`    | 24 for Python, 24 for YAML, 18 for Go, 15 for Ruby, 14 for Generic, 9 for JavaScript, 9 for TypeScript, 9 for Terraform, 3 for Regex, 2 for Java, 2 for Kotlin, 1 for Rust, 1 for Swift                                                                                                                                                                                                                                 | Trail of Bits  | AGPL-3.0        |
| `0xdea`          | 48 for C++, 47 for C, 1 for Generic                                                                                                                                                                                                                                                                                                                                                                                     | Marco Ivaldi   | MIT             |
| `elttam`         | 50 for Java, 15 for Generic, 7 for JavaScript, 7 for Go, 7 for YAML, 6 for TypeScript, 5 for Python, 5 for C#, 1 for C, 1 for Kotlin, 1 for PHP                                                                                                                                                                                                                                                                         | elttam         | MIT             |
| `kondukto`       | 5 for Dockerfile, 5 for PHP, 3 for Java, 3 for Go                                                                                                                                                                                                                                                                                                                                                                       | Kondukto       |                 |
| `dgryski`        | 66 for Go                                                                                                                                                                                                                                                                                                                                                                                                               | Damian Gryski  | MIT             |
| `dotta`          | 7 for PHP, 3 for Kotlin, 1 for Java                                                                                                                                                                                                                                                                                                                                                                                     | Federico Dotta | MIT             |
| `hashicorp`      | 4 for Terraform, 1 for Generic                                                                                                                                                                                                                                                                                                                                                                                          | Hashicorp      | MPL-2.0         |
| `decurity`       | 57 for Solidity, 4 for Cairo, 2 for Rust                                                                                                                                                                                                                                                                                                                                                                                | Decurity       | CC BY-NC-SA 4.0 |
| `mindedsecurity` | 37 for Java, 15 for XML, 1 for Generic                                                                                                                                                                                                                                                                                                                                                                                  | mindedsecurity | GPL3            |
| `akabe1`         | 24 for Swift, 15 for Java, 8 for Generic                                                                                                                                                                                                                                                                                                                                                                                | akabe1         |                 |
| `atlassian-labs` | 35 for Java, 2 for Generic                                                                                                                                                                                                                                                                                                                                                                                              | atlassian-labs | LGPL 2.1        |
| `apiiro`         | 18 for Python, 14 for JavaScript, 14 for TypeScript, 12 for Java, 12 for Lua, 12 for Ruby, 11 for Clojure, 11 for C#, 11 for PHP, 11 for Scala, 10 for Dart, 10 for Rust, 7 for Go, 6 for Bash, 2 for Kotlin                                                                                                                                                                                                            | apiiro         | MIT             |

## Read more

This is only an excerpt from the [`README.md` hosted on GitHub](https://github.com/iosifache/semgrep-rules-manager#readme).

