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

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

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

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

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

Категории

Все категории
Loading categories
gosec — Сканер безопасности Go | Kitploit
Инструменты/GitHubGitHub/securego/gosec
Статический анализ кода (SAST)Анализ уязвимостейАнализ КодаDevSecOpsТоп в Анализ Кода №9Топ в Статический анализ кода (SAST) №6
GitHubsecurego/gosec

gosec

Сканер безопасности Go

Репозиторий
8.9k7011221 день назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Сайт

gosec — проверка безопасности Go

Проверяет исходный код на наличие проблем безопасности путём сканирования AST Go и представления кода в виде SSA.

Быстрые ссылки

  • GitHub Action
  • Локальная установка
  • Быстрый старт
  • Типичные сценарии использования
  • Выбор правил
  • Форматы вывода

Возможности

  • Правила на основе шаблонов для обнаружения распространённых проблем безопасности в коде Go
  • Анализаторы на основе SSA для преобразований типов, границ срезов и проблем с криптографией
  • Анализ заражения (taint analysis) для отслеживания потока данных от пользовательского ввода к опасным функциям (SQL-инъекции, инъекции команд, обход путей, SSRF, XSS, инъекции в журналы, SMTP-инъекции, SSTI, небезопасная десериализация, открытые перенаправления)

Лицензия

Лицензировано по лицензии Apache License, Version 2.0 («Лицензия»). Вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Копию Лицензии можно получить здесь.

Статус проекта

CII Best Practices Build Status Coverage Status GoReport GoDoc Docs Downloads GHCR Slack go-recipes

Установка

GitHub Action

Вы можете запустить gosec как GitHub action следующим образом:

Используйте версионный тег с @master, который привязан к последнему стабильному релизу. Это обеспечит стабильное поведение.

name: Run Gosec
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@master
        with:
          args: ./...

Сканирование проектов с приватными модулями

Если ваш проект импортирует приватные Go-модули, необходимо настроить аутентификацию, чтобы gosec мог загружать зависимости. Задайте следующие переменные окружения в вашем workflow:

  • GOPRIVATE: список префиксов путей модулей через запятую, которые следует считать приватными (например, github.com/your-org/*).
  • GITHUB_AUTHENTICATION_TOKEN: токен GitHub с доступом на чтение к вашим приватным репозиториям.
name: Run Gosec
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
      GOPRIVATE: github.com/your-org/*
      GITHUB_AUTHENTICATION_TOKEN: ${{ secrets.PRIVATE_REPO_TOKEN }}
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@v2
        with:
          args: ./...

Интеграция со сканированием кода

Вы можете интегрировать сторонние инструменты анализа кода со сканированием кода GitHub, загружая данные в виде файлов SARIF.

В рабочем процессе показан пример запуска gosec в качестве шага в рабочем процессе GitHub Actions, который выводит файл results.sarif. Затем рабочий процесс загружает файл results.sarif в GitHub с помощью действия upload-sarif.

name: "Security Scan"

# Run workflow each time code is pushed to your repository and on a schedule.
# The scheduled workflow runs every at 00:00 on Sunday UTC time.
on:
  push:
  schedule:
  - cron: '0 0 * * 0'

jobs:
  tests:
    runs-on: ubuntu-latest
    env:
      GO111MODULE: on
    steps:
      - name: Checkout Source
        uses: actions/checkout@v3
      - name: Run Gosec Security Scanner
        uses: securego/gosec@v2
        with:
          # we let the report trigger content trigger a failure using the GitHub Security features.
          args: '-no-fail -fmt sarif -out results.sarif ./...'
      - name: Upload SARIF file
        uses: github/codeql-action/upload-sarif@v2
        with:
          # Path to SARIF file relative to the root of the repository
          sarif_file: results.sarif

Анализ Go

Пакет goanalysis предоставляет golang.org/x/tools/go/analysis.Analyzer для интеграции с инструментами, поддерживающими стандартный интерфейс анализа Go, такими как фреймворк nogo от Bazel:

nogo(
    name = "nogo",
    deps = [
        "@com_github_securego_gosec_v2//goanalysis",
        # add more analyzers as needed
    ],
    visibility = ["//visibility:public"],
)

Локальная установка

Для gosec требуется Go 1.25 или новее.

go install github.com/securego/gosec/v2/cmd/gosec@latest

Быстрый старт

# Scan all packages in current module
gosec ./...

# Write JSON report
gosec -fmt json -out results.json ./...

# Write SARIF report for code scanning
gosec -fmt sarif -out results.sarif ./...

Коды выхода

  • 0: сканирование завершено без неотфильтрованных находок/ошибок
  • 1: как минимум одна неотфильтрованная находка или ошибка обработки
  • Используйте -no-fail, чтобы всегда возвращать 0

Использование

Gosec можно настроить так, чтобы он запускал только подмножество правил, исключал определённые пути к файлам и создавал отчёты в разных форматах. По умолчанию все правила применяются к указанным входным файлам. Для рекурсивного сканирования из текущего каталога можно передать ./... в качестве входного аргумента.

Доступные правила

gosec включает правила по следующим категориям:

  • G1xx: общие проблемы безопасного кодирования (например, жёстко заданные учётные данные, небезопасное использование, усиление безопасности HTTP, безопасность cookie)
  • G2xx: риски инъекций при построении запросов/шаблонов/команд
  • G3xx: риски обработки файлов и путей (права доступа, обход каталогов, временные файлы, извлечение архивов)
  • G4xx: слабости криптографии и TLS
  • G5xx: импорты из блок-листа
  • G6xx: специфичные для Go проверки корректности/безопасности (например, алиасинг в range и границы срезов)
  • G7xx: правила анализа заражения данных (taint analysis) (SQL-инъекции, инъекции команд, обход путей, SSRF, XSS, логирование, SMTP-инъекции, SSTI, небезопасная десериализация и открытый редирект)

Полный список, описания правил и конфигурацию для каждого правила см. в RULES.md.

Устаревшие правила

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