
Легковесный кроссплатформенный CLI-инструмент, который сканирует вашу файловую систему для обнаружения раскрытых секретов, ключей API и токенов. Создан на Go для максимальной производительности и нулевых зависимостей.
Выслеживайте раскрытые секреты с хитростью лисы!
Легкий, кроссплатформенный CLI-инструмент, который сканирует вашу файловую систему для обнаружения раскрытых секретов, ключей API и токенов. Создан на Go для максимальной производительности и без зависимостей.
# macOS Apple Silicon (M1/M2/M3)
curl -L -o kyubisweep https://github.com/tanmayshahane/kyubisweep/releases/latest/kyubisweep-darwin-arm64
chmod +x kyubisweep
# Запустите!
./kyubisweep --path /path/to/your/project
# Убедитесь, что установлен Go 1.21+
go version
# Клонируйте и соберите
git clone https://github.com/tanmayshahane/kyubisweep.git
cd kyubisweep
go build -o kyubisweep ./cmd/sweep/main.go
# Запустите!
./kyubisweep --path .
USAGE:
kyubisweep [OPTIONS]
OPTIONS:
--path <directory> Path to scan (default: current directory)
--verbose Enable detailed output
--all Show all severity levels (default: HIGH only)
--all-files Scan all files, not just text-based files
--ext <extensions> Additional extensions to scan (comma-separated)
--json Output report as JSON file
--no-report Don't save report file
--quiet Minimal output, just summary
--move-to <path> Move files with secrets to quarantine directory
--help Show this help message
EXAMPLES:
kyubisweep --path ./my-project
kyubisweep --path . --all # Show all severities
kyubisweep --path . --ext log,dat # Add custom extensions
kyubisweep --path . --move-to ./vault # Quarantine sensitive files
kyubisweep --path . --json # Export as JSON
╔══════════════════════════════════════════════════════════════════════════╗
║ 🛡️ ОЦЕНОЧНАЯ КАРТА БЕЗОПАСНОСТИ KYUBISWEEP ║
╚══════════════════════════════════════════════════════════════════════════╝
🚨 ОБНАРУЖЕНЫ КРИТИЧЕСКИЕ ПРОБЛЕМЫ
📊 РАСПРЕДЕЛЕНИЕ РИСКОВ
─────────────────────────────────────────
🚨 КРИТИЧЕСКИЙ 9 ████████████████░░░░
🔴 ВЫСОКИЙ 2 ███░░░░░░░░░░░░░░░░░
🟡 СРЕДНИЙ 0 ░░░░░░░░░░░░░░░░░░░░
🔵 НИЗКИЙ 0 ░░░░░░░░░░░░░░░░░░░░
🔍 ДЕТАЛИ НАХОДОК
─────────────────────────────────────────
РИСК ТИП МЕСТОПОЛОЖЕНИЕ
[КРИТИЧЕСКИЙ] AWS Access Key ID ~/project/.env:5
[КРИТИЧЕСКИЙ] PostgreSQL Connection ~/project/config.yaml:12
[ВЫСОКИЙ] Stripe Secret Key ~/project/payment.js:42
📁 Просканировано: ~/my-project
📄 Файлов проанализировано: 2.9K
⏱️ Продолжительность: 1.2s
graph TD
subgraph "Initialization (Main Goroutine)"
A[Start CLI] --> B{Parse Flags};
B -->|--path| C[Init Walker];
B -->|--move-to| D[Init Quarantine Mgr];
C --> E[Create Jobs Channel];
E --> F[Create Results Channel];
end
subgraph "Producer (Goroutine 1)"
G[Walker] -->|Finds Files| E;
style G fill:#f9f,stroke:#333,stroke-width:2px
style E fill:#ccf,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5
end
subgraph "Worker Pool (Goroutines 2...N)"
E -->|Read File Path| H[Worker 1];
E -->|Read File Path| I[Worker 2];
E -->|Read File Path| J[Worker N];
H -->|Read Content| K{Analyzer};
I -->|Read Content| K{Analyzer};
J -->|Read Content| K{Analyzer};
K -- No Secret --> L((Discard));
K -- Secret Found --> M[Send Finding];
M --> F;
style K fill:#ff9,stroke:#333,stroke-width:2px
end
subgraph "Consumer & Wrap up (Main Goroutine)"
F -->|Collect Findings| N[Reporter / Table UI];
style F fill:#ccf,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5
N --> O{Quarantine Requested?};
O -- Yes --> P[Move Files to Vault];
O -- No --> Q[Exit];
P --> Q;
end
%% Add a WaitGroup visual helper
H -.-> WG[sync.WaitGroup];
I -.-> WG;
J -.-> WG;
WG -.->|All Done| F;
| Категория | Примеры |
|---|---|
| Облачные учетные данные | Ключи доступа AWS, ключи API Google, токены Azure |
| Платежные системы | Ключи API Stripe (живые и тестовые) |
| Инструменты разработчика | Персональные токены доступа GitHub, токены NPM, ключи API Heroku |
| Коммуникации | Токены Slack, токены ботов Discord, ключи Twilio |
| Базы данных | Строки подключения PostgreSQL, MongoDB, MySQL |
| Криптографические | Приватные ключи RSA/SSH/PGP |
| Общие | Пароли, ключи API, Bearer-токены |
kyubisweep/
├── cmd/
│ └── sweep/
│ └── main.go # CLI entry point + worker pool
├── pkg/
│ ├── analyzer/
│ │ └── analyzer.go # Entropy + regex detection
│ ├── scanner/
│ │ └── walker.go # Concurrent directory walker
│ ├── reporter/
│ │ └── reporter.go # Security Scorecard output
│ ├── quarantine/
│ │ └── manager.go # Secure file relocation
│ └── common/
│ └── colors.go # Shared ANSI color utilities
├── reports/ # Generated scan reports
├── build/ # Cross-compiled binaries
├── go.mod # Go module definition
├── build.sh # Cross-platform build script
└── README.md
# Сделайте скрипт сборки исполняемым
chmod +x build.sh
# Соберите для всех платформ
./build.sh
# Результаты:
# build/kyubisweep-darwin-arm64 (macOS Apple Silicon)
# build/kyubisweep-darwin-amd64 (macOS Intel)
# build/kyubisweep-linux-amd64 (Linux 64-bit)
# build/kyubisweep-linux-arm64 (Linux ARM)
# build/kyubisweep-windows-amd64.exe (Windows 64-bit)
Нашли секреты, которые нужно немедленно защитить? Используйте --move-to для перемещения файлов:
./kyubisweep --path . --move-to ./secure_vault
Функции безопасности:
Приветствуются вклады! Пожалуйста, не стесняйтесь отправлять Pull Request.
Лицензия MIT — можете свободно использовать это в своих проектах!
Сделано с 🦊 разработчиками, которые случайно коммитили свои API-ключи на один раз больше, чем нужно.