Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
opengrep — 🔎 Движок статического анализа кода для поиска проблем безопасности в коде. | Kitploit
Инструменты/GitHubGitHub/opengrep/opengrep
Оборонительные ИнструментыСтатический анализСканеры уязвимостейСтатический анализ кода (SAST)Анализ уязвимостейАнализ КодаСкриптинг и автоматизацияВиртуализация для безопасностиDevSecOpsБезопасность Цепочки Поставок
GitHub
3.2k280411 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
opengrep/opengrep

opengrep

🔎 Движок статического анализа кода для поиска проблем безопасности в коде.

Репозиторий
Поделиться

Логотип Opengrep

Добро пожаловать в Opengrep — форк Semgrep под лицензией LGPL 2.1

Opengrep — самый продвинутый открытый SAST-движок.

Давайте сделаем безопасную разработку программного обеспечения общим стандартом. Opengrep предоставляет каждому разработчику и организации открытый и продвинутый статический анализ кода.

Opengrep поддерживается консорциумом организаций в области AppSec, включая: Aikido, Amplify, Endor Labs, Kodem и Orca Security. Чтобы узнать больше, прочитайте манифест на opengrep.dev.

Почему Opengrep?

Opengrep был создан, когда Semgrep перенёс критически важные функции за коммерческую лицензию. Мы считаем, что продвинутый статический анализ должен оставаться открытым и доступным для всех.

Ключевые преимущества:

  • Совместимость с правилами Semgrep — ваши существующие правила и наборы правил работают без изменений
  • Стандартные форматы вывода — форматы JSON и SARIF для простой интеграции
  • Открытое управление — вклад принимается по заслугам, а не по коммерческим интересам
  • Долгосрочные гарантии — приверженность открытому исходному коду под LGPL 2.1

Ключевые улучшения

С момента форка Opengrep внёс значительные улучшения. Основные из них:

Улучшенный анализ заражения (taint analysis) (--taint-intrafile):

  • Отслеживание присваиваний в конструкторах и полях
  • Межметодный поток заражения
  • Поддержка функций высшего порядка в 12 языках
  • Заражение методов коллекций (map, filter, reduce и т. д.)

Подробности см. в руководстве по внутрифайловому заражению и руководстве по функциям высшего порядка.

Поддержка языков:

  • Visual Basic — недоступен в Semgrep CE и Pro
  • Apex, Elixir — отсутствуют в Semgrep CE
  • Улучшено: Clojure (поддержка заражения), PHP 8.4, C# 14

Распространение:

  • Самодостаточные бинарные файлы, скомпилированные из OCaml
  • Подписанные релизы с помощью Cosign

Полный список улучшений с момента форка см. в OPENGREP.md.

Opengrep: быстрый и мощный поиск по шаблонам кода

Opengrep — это сверхбыстрый инструмент статического анализа для поиска шаблонов кода с мощью семантического grep. Анализируйте большие кодовые базы со скоростью мысли благодаря интуитивному сопоставлению шаблонов и настраиваемым правилам. Находите и исправляйте уязвимости безопасности быстро — выпускайте более безопасный код.

Opengrep поддерживает более 30 языков, включая:

Apex · Bash · C · C++ · C# · Clojure · Crystal · Dart · Dockerfile · Elixir · Go · HTML · Java · JavaScript · JSON · Jsonnet · JSX · Julia · Kotlin · Lisp · Lua · OCaml · PHP · Python · R · Ruby · Rust · Scala · Scheme · Solidity · Swift · Terraform · TSX · TypeScript · Visual Basic · XML · YAML · Generic (ERB, Jinja и т. д.)

Установка

Быстрая установка (рекомендуется)

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/opengrep/opengrep/main/install.sh | bash

Или, если вы клонировали репозиторий:

./install.sh

Windows (PowerShell)

irm https://raw.githubusercontent.com/opengrep/opengrep/main/install.ps1 | iex

Или с определённой версией:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/opengrep/opengrep/main/install.ps1))) -Version v1.16.0

Ручная установка

Бинарные файлы доступны на странице релизов.

В Windows-пакете находятся opengrep.exe и необходимые ему DLL; держите их вместе в каталоге, куда вы их устанавливаете.

Начало работы

Создайте файл rules/demo-rust-unwrap.yaml со следующим содержимым:

rules:
- id: unwrapped-result
  pattern: $VAR.unwrap()
  message: "Unwrap detected - potential panic risk"
  languages: [rust]
  severity: WARNING

и code/rust/main.rs со следующим содержимым (которое содержит рискованный unwrap):

fn divide(a: i32, b: i32) -> Result<i32, String> {
    if b == 0 {
        return Err("Division by zero".to_string());
    }
    Ok(a / b)
}

fn main() {
    let result = divide(10, 0).unwrap(); // Risky unwrap!
    println!("Result: {}", result);
}

Теперь у вас должно быть:

.
├── code
│   └── rust
│       └── main.rs
└── rules
    └── demo-rust-unwrap.yaml

Теперь запустите:

❯ opengrep scan -f rules code/rust

┌──────────────┐
│ Opengrep CLI │
└──────────────┘


Scanning 1 file (only git-tracked) with 1 Code rule:

  CODE RULES
  Scanning 1 file.

  PROGRESS

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00


┌────────────────┐
│ 1 Code Finding │
└────────────────┘

    code/rust/main.rs
    ❯❯ rules.unwrapped-result
          Unwrap detected - potential panic risk

            9┆ let result = divide(10, 0).unwrap(); // Risky unwrap!



┌──────────────┐
│ Scan Summary │
└──────────────┘

Ran 1 rule on 1 file: 1 finding.

Для получения вывода SARIF:

❯ opengrep scan --sarif-output=sarif.json -f rules code
  ...
❯ cat sarif.json | jq
{
  "version": "2.1.0",
  "runs": [
    {
      "invocations": [
        {
          "executionSuccessful": true,
          "toolExecutionNotifications": []
        }
      ],
      "results": [
        {
          "fingerprints": {
            "matchBasedId/v1": "a0ff5ed82149206a74ee7146b075c8cb9e79c4baf86ff4f8f1c21abea6ced504e3d33bb15a7e7dfa979230256603a379edee524cf6a5fd000bc0ab29043721d8_0"
          },
          "locations": [
            {
              "physicalLocation": {
                "artifactLocation": {
                  "uri": "code/rust/main.rs",
                  "uriBaseId": "%SRCROOT%"
                },
                "region": {
                  "endColumn": 40,
                  "endLine": 9,
                  "snippet": {
                    "text": "    let result = divide(10, 0).unwrap(); // Risky unwrap!"
                  },
                  "startColumn": 18,
                  "startLine": 9
                }
              }
            }
          ],
          "message": {
            "text": "Unwrap detected - potential panic risk"
          },
          "properties": {},
          "ruleId": "rules.unwrapped-result"
        }
      ],
      "tool": {
        "driver": {
          "name": "Opengrep OSS",
          "rules": [
            {
              "defaultConfiguration": {
                "level": "warning"
              },
              "fullDescription": {
                "text": "Unwrap detected - potential panic risk"
              },
              "help": {
                "markdown": "Unwrap detected - potential panic risk",
                "text": "Unwrap detected - potential panic risk"
              },
              "id": "rules.unwrapped-result",
              "name": "rules.unwrapped-result",
              "properties": {
                "precision": "very-high",
                "tags": []
              },
              "shortDescription": {
                "text": "Opengrep Finding: rules.unwrapped-result"
              }
            }
          ],
          "semanticVersion": "1.100.0"
        }
      }
    }
  ],
  "$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/schemas/sarif-schema-2.1.0.json"
}

Файл журнала

Скачать инструмент