whisper-windows-mcp 2.2.2 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +24 -0
- package/.github/workflows/publish.yml +24 -0
- package/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
- package/LICENSE +40 -40
- package/PRIVACY.es.md +194 -135
- package/PRIVACY.id.md +194 -135
- package/PRIVACY.ja.md +194 -135
- package/PRIVACY.ko.md +194 -135
- package/PRIVACY.md +194 -135
- package/PRIVACY.pl.md +194 -135
- package/PRIVACY.pt-BR.md +194 -135
- package/PRIVACY.ro.md +194 -135
- package/PRIVACY.uk.md +194 -135
- package/PRIVACY.vi.md +194 -135
- package/README.es.md +80 -48
- package/README.id.md +83 -40
- package/README.ja.md +106 -72
- package/README.ko.md +69 -37
- package/README.md +82 -39
- package/README.pl.md +83 -40
- package/README.pt-BR.md +77 -45
- package/README.ro.md +84 -41
- package/README.uk.md +83 -40
- package/README.vi.md +73 -41
- package/ROADMAP.es.md +131 -45
- package/ROADMAP.id.md +86 -89
- package/ROADMAP.ja.md +93 -108
- package/ROADMAP.ko.md +82 -82
- package/ROADMAP.pl.md +125 -41
- package/ROADMAP.pt-BR.md +87 -87
- package/ROADMAP.ro.md +123 -41
- package/ROADMAP.uk.md +82 -90
- package/ROADMAP.vi.md +87 -87
- package/SECURITY.es.md +76 -47
- package/SECURITY.id.md +76 -47
- package/SECURITY.ja.md +76 -47
- package/SECURITY.ko.md +76 -47
- package/SECURITY.md +33 -4
- package/SECURITY.pl.md +76 -47
- package/SECURITY.pt-BR.md +76 -47
- package/SECURITY.ro.md +76 -47
- package/SECURITY.uk.md +76 -47
- package/SECURITY.vi.md +76 -47
- package/TROUBLESHOOTING.es.md +325 -323
- package/TROUBLESHOOTING.id.md +349 -323
- package/TROUBLESHOOTING.ja.md +415 -286
- package/TROUBLESHOOTING.ko.md +325 -323
- package/TROUBLESHOOTING.pl.md +371 -323
- package/TROUBLESHOOTING.pt-BR.md +325 -323
- package/TROUBLESHOOTING.ro.md +371 -323
- package/TROUBLESHOOTING.uk.md +385 -323
- package/TROUBLESHOOTING.vi.md +325 -323
- package/dist/index.js +743 -289
- package/dist/lib.d.ts +37 -0
- package/dist/lib.js +123 -0
- package/package.json +46 -45
- package/patch_roadmaps.py +0 -72
package/SECURITY.pl.md
CHANGED
|
@@ -1,47 +1,76 @@
|
|
|
1
|
-
# Polityka bezpieczeństwa
|
|
2
|
-
|
|
3
|
-
## Zakres
|
|
4
|
-
|
|
5
|
-
whisper-windows-mcp jest narzędziem priorytetyzującym lokalność. Całe przetwarzanie audio odbywa się na twoim komputerze — żadne audio, pliki wideo ani dane osobowe nie są przesyłane na żaden serwer. Powierzchnia ataku jest ograniczona do:
|
|
6
|
-
|
|
7
|
-
- Lokalnego systemu plików (ścieżki plików przekazywane do narzędzi)
|
|
8
|
-
- Binarnego pliku whisper-cli.exe i jego zależności
|
|
9
|
-
- Połączenia MCP Claude Desktop (tylko lokalny IPC)
|
|
10
|
-
- Tekstu transkrypcji zwracanego w odpowiedziach narzędzi (patrz Architektura prywatności poniżej)
|
|
11
|
-
|
|
12
|
-
## Architektura prywatności
|
|
13
|
-
|
|
14
|
-
**Pliki audio nigdy nie opuszczają twojego komputera.** Ta gwarancja jest bezwarunkowa.
|
|
15
|
-
|
|
16
|
-
**Tekst transkrypcji może opuścić twój komputer
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
# Polityka bezpieczeństwa
|
|
2
|
+
|
|
3
|
+
## Zakres
|
|
4
|
+
|
|
5
|
+
whisper-windows-mcp jest narzędziem priorytetyzującym lokalność. Całe przetwarzanie audio odbywa się na twoim komputerze — żadne audio, pliki wideo ani dane osobowe nie są przesyłane na żaden serwer. Powierzchnia ataku jest ograniczona do:
|
|
6
|
+
|
|
7
|
+
- Lokalnego systemu plików (ścieżki plików przekazywane do narzędzi)
|
|
8
|
+
- Binarnego pliku whisper-cli.exe i jego zależności
|
|
9
|
+
- Połączenia MCP Claude Desktop (tylko lokalny IPC)
|
|
10
|
+
- Tekstu transkrypcji zwracanego w odpowiedziach narzędzi (patrz Architektura prywatności poniżej)
|
|
11
|
+
|
|
12
|
+
## Architektura prywatności
|
|
13
|
+
|
|
14
|
+
**Pliki audio nigdy nie opuszczają twojego komputera.** Ta gwarancja jest bezwarunkowa.
|
|
15
|
+
|
|
16
|
+
**Tekst transkrypcji może opuścić twój komputer** w trybie standardowym. Gdy odpowiedź narzędzia zawiera tekst transkrypcji, tekst ten jest przetwarzany przez API Claude. Jest to standardowe zachowanie MCP, ale tworzy lukę między filozofią projektowania "priorytet lokalny" narzędzia a rzeczywistym przepływem danych dla użytkowników obsługujących treści regulowane lub poufne.
|
|
17
|
+
|
|
18
|
+
**Tryb prywatności** (`WHISPER_PRIVACY_MODE=true` lub `privacy_mode=true` dla pojedynczego wywołania) ogranicza wszystkie odpowiedzi narzędzi tylko do metadanych — żaden tekst transkrypcji nie jest zwracany do API Claude. Jest to właściwa konfiguracja dla wdrożeń medycznych, prawnych, finansowych i korporacyjnych.
|
|
19
|
+
|
|
20
|
+
**Brama trybu prywatności:** gdy tryb prywatności jest aktywny, przed każdą operacją transkrypcji wyświetlane jest wyraźne potwierdzenie ujawnienia. Jest to celowe i nie może być pominięte — zgodność z przepisami wymaga świadomej zgody przed każdą operacją.
|
|
21
|
+
|
|
22
|
+
**Brama zgody:** w trybie standardowym jednorazowe ujawnienie dla sesji jest wyświetlane przed pierwszym zwróceniem tekstu transkrypcji do API. Ustaw `WHISPER_CONSENT_ACKNOWLEDGED=true` w konfiguracji, aby pominąć to dla treści niepoufnych.
|
|
23
|
+
|
|
24
|
+
Zobacz [PRIVACY.md](PRIVACY.md) dla pełnego opisu architektury prywatności, wskazówek dotyczących ram zgodności (HIPAA, RODO, tajemnica adwokacka, FERPA, SOX, PCI-DSS) i instrukcji konfiguracji.
|
|
25
|
+
|
|
26
|
+
## Weryfikacja binarną
|
|
27
|
+
|
|
28
|
+
Aby zweryfikować integralność binarium `whisper-cli.exe` w gotowym wydaniu, sprawdź jego skrót SHA256 w PowerShell:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Oczekiwany skrót dla każdego binarnego wydania jest opublikowany na [stronie wydań](https://github.com/eviscerations/whisper-windows-mcp/releases). Nie używaj binarnego pliku, którego skrót nie odpowiada oczekiwanemu.
|
|
35
|
+
|
|
36
|
+
## Obsługiwane wersje
|
|
37
|
+
|
|
38
|
+
Poprawki bezpieczeństwa są stosowane tylko do najnowszej opublikowanej wersji.
|
|
39
|
+
|
|
40
|
+
| Wersja | Obsługiwana |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 2.x (najnowsza) | ✅ |
|
|
43
|
+
| 1.x | ❌ |
|
|
44
|
+
|
|
45
|
+
## Zgłaszanie podatności
|
|
46
|
+
|
|
47
|
+
**Nie otwieraj publicznych zgłoszeń dla podatności bezpieczeństwa.**
|
|
48
|
+
|
|
49
|
+
Użyj prywatnego raportowania podatności GitHub:
|
|
50
|
+
1. Przejdź do [zakładki Security](https://github.com/eviscerations/whisper-windows-mcp/security)
|
|
51
|
+
2. Kliknij "Report a vulnerability"
|
|
52
|
+
3. Opisz problem z wystarczającymi szczegółami do odtworzenia
|
|
53
|
+
|
|
54
|
+
Otrzymasz odpowiedź w ciągu 7 dni. Jeśli podatność zostanie potwierdzona, poprawka zostanie wydana tak szybko, jak to możliwe, a ty zostaniesz wymieniony w notatkach wydania, jeśli sobie życzysz.
|
|
55
|
+
|
|
56
|
+
## Piaskownica i zatwierdzenia
|
|
57
|
+
|
|
58
|
+
whisper-windows-mcp to **lokalne, jednoużytkownikowe narzędzie sterowane przez właściciela komputera za pośrednictwem Claude Desktop.** Jego model zagrożeń to właściciel uruchamiający je na własnym komputerze — nie niezaufane, wielodostępne ani wystawione na sieć wdrożenie.
|
|
59
|
+
|
|
60
|
+
- **Piaskownica:** brak, z założenia. `whisper-cli.exe` działa na poziomie uprawnień samego właściciela, tak samo jak każdy lokalny serwer MCP. Izolacja na poziomie systemu operacyjnego nie jest tu środkiem zaradczym; jest nim zakres użycia — **nie wystawiaj tego serwera na niezaufany dostęp sieciowy** (zobacz „Iniekcja ścieżki pliku" poniżej).
|
|
61
|
+
- **Zatwierdzenia są warstwowe, a nie oparte na piaskownicy:**
|
|
62
|
+
1. **Zatwierdzenie hosta** — warstwa MCP Claude Desktop kontroluje wywoływanie narzędzi.
|
|
63
|
+
2. **Bramki zgody / prywatności** — wymagane jest jawne potwierdzenie, zanim jakikolwiek tekst transkrypcji opuści komputer w kierunku API Claude; `WHISPER_PRIVACY_MODE` / `privacy_mode` dla pojedynczego wywołania zwraca tylko metadane dla treści regulowanych. Bramka jest kluczowana per operacja (narzędzie + argumenty). Zobacz [PRIVACY.md](PRIVACY.md).
|
|
64
|
+
3. **Walidacja danych wejściowych** — ścieżki z przejściem katalogu i UNC są odrzucane; `switch_model` jest ograniczone do skonfigurowanego katalogu modeli; `download_model` jest ograniczone do listy dozwolonych zaufanych przestrzeni nazw Hugging Face.
|
|
65
|
+
|
|
66
|
+
To narzędzie **nie** jest zaprojektowane do sterowania przez niezaufanego agenta ani do uruchamiania jako współdzielona infrastruktura. Taka postawa wymagałaby piaskownicy systemu operacyjnego/kontenera oraz polityki ruchu wychodzącego — poza zakresem lokalnego, jednoużytkownikowego narzędzia do transkrypcji.
|
|
67
|
+
|
|
68
|
+
## Znane decyzje projektowe
|
|
69
|
+
|
|
70
|
+
- **Iniekcja ścieżki pliku:** Narzędzia akceptują bezwzględne ścieżki plików od Claude. Jest to celowy projekt — narzędzie jest przeznaczone do użytku z Claude Desktop przez właściciela komputera. Nie wystawiaj tego serwera MCP na niezaufany dostęp sieciowy.
|
|
71
|
+
- **Brak piaskownicy:** whisper-cli.exe działa z tymi samymi uprawnieniami co Claude Desktop. Jest to standardowe dla lokalnych narzędzi MCP.
|
|
72
|
+
- **Pliki tymczasowe:** Pośrednie pliki WAV są zapisywane w `%TEMP%\whisper_tmp_*.wav` i usuwane po transkrypcji. Pliki stanu zadań są zapisywane w `%TEMP%\whisper-mcp-jobs\` i automatycznie czyszczone po 7 dniach przy uruchomieniu serwera.
|
|
73
|
+
- **Treść transkrypcji:** Tekst transkrypcji zwracany w odpowiedziach narzędzi jest przetwarzany przez API Claude w trybie standardowym. Włącz `WHISPER_PRIVACY_MODE=true` lub przekaż `privacy_mode=true` dla pojedynczego wywołania, aby temu zapobiec. Zobacz [PRIVACY.md](PRIVACY.md).
|
|
74
|
+
- **Iniekcja transkrypcji:** Pliki audio mogą zawierać wypowiadaną treść, która po transkrypcji przypomina instrukcje. Wbudowane mechanizmy obronne Claude obsługują to. Sam serwer MCP oznacza całą treść transkrypcji jako niezaufane dane i nigdy nie interpretuje jej jako instrukcji.
|
|
75
|
+
- **Pobieranie modeli:** Narzędzie `download_model` pobiera tylko z dwóch zaufanych przestrzeni nazw Hugging Face (`ggerganov/whisper.cpp` i `ggml-org`). Przekierowania są weryfikowane względem listy dozwolonych przed wykonaniem. Dowolne URL są odrzucane na poziomie kodu. Obcięte/niekompletne pobrania są odrzucane (sprawdzenie Content-Length), zanim plik `.part` zostanie awansowany do nazwy modelu.
|
|
76
|
+
- **Przełączanie modeli:** `switch_model` akceptuje tylko pliki `.bin` w skonfigurowanym katalogu modeli. Ścieżki poza nim są odrzucane poprzez znormalizowane ograniczenie ścieżek — katalog z prefiksem-rodzeństwem taki jak `…\models-evil` nie może spełnić sprawdzenia — niezależnie od sposobu podania ścieżki.
|
package/SECURITY.pt-BR.md
CHANGED
|
@@ -1,47 +1,76 @@
|
|
|
1
|
-
# Política de Segurança
|
|
2
|
-
|
|
3
|
-
## Escopo
|
|
4
|
-
|
|
5
|
-
O whisper-windows-mcp é uma ferramenta que prioriza o local. Todo o processamento de áudio acontece na sua máquina — nenhum áudio, arquivo de vídeo ou dado pessoal é transmitido para qualquer servidor. A superfície de ataque está limitada a:
|
|
6
|
-
|
|
7
|
-
- O sistema de arquivos local (caminhos de arquivo passados às ferramentas)
|
|
8
|
-
- O binário whisper-cli.exe e suas dependências
|
|
9
|
-
- A conexão MCP do Claude Desktop (apenas IPC local)
|
|
10
|
-
- Texto de transcrição retornado nas respostas das ferramentas (veja Arquitetura de Privacidade abaixo)
|
|
11
|
-
|
|
12
|
-
## Arquitetura de Privacidade
|
|
13
|
-
|
|
14
|
-
**Arquivos de áudio nunca saem da sua máquina.** Essa garantia é incondicional.
|
|
15
|
-
|
|
16
|
-
**Texto de transcrição pode sair da sua máquina.** Quando uma resposta de ferramenta inclui texto de transcrição, esse texto é processado pela API do Claude. Este é o comportamento padrão do MCP, mas cria uma lacuna entre a filosofia de design "prioridade local" da ferramenta e o fluxo de dados real para usuários que lidam com conteúdo regulamentado ou confidencial.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
# Política de Segurança
|
|
2
|
+
|
|
3
|
+
## Escopo
|
|
4
|
+
|
|
5
|
+
O whisper-windows-mcp é uma ferramenta que prioriza o local. Todo o processamento de áudio acontece na sua máquina — nenhum áudio, arquivo de vídeo ou dado pessoal é transmitido para qualquer servidor. A superfície de ataque está limitada a:
|
|
6
|
+
|
|
7
|
+
- O sistema de arquivos local (caminhos de arquivo passados às ferramentas)
|
|
8
|
+
- O binário whisper-cli.exe e suas dependências
|
|
9
|
+
- A conexão MCP do Claude Desktop (apenas IPC local)
|
|
10
|
+
- Texto de transcrição retornado nas respostas das ferramentas (veja Arquitetura de Privacidade abaixo)
|
|
11
|
+
|
|
12
|
+
## Arquitetura de Privacidade
|
|
13
|
+
|
|
14
|
+
**Arquivos de áudio nunca saem da sua máquina.** Essa garantia é incondicional.
|
|
15
|
+
|
|
16
|
+
**Texto de transcrição pode sair da sua máquina no modo padrão.** Quando uma resposta de ferramenta inclui texto de transcrição, esse texto é processado pela API do Claude. Este é o comportamento padrão do MCP, mas cria uma lacuna entre a filosofia de design "prioridade local" da ferramenta e o fluxo de dados real para usuários que lidam com conteúdo regulamentado ou confidencial.
|
|
17
|
+
|
|
18
|
+
**O modo de privacidade** (`WHISPER_PRIVACY_MODE=true` ou `privacy_mode=true` por chamada) restringe todas as respostas das ferramentas apenas a metadados — nenhum texto de transcrição retornado à API do Claude. Esta é a configuração correta para implantações médicas, jurídicas, financeiras e corporativas.
|
|
19
|
+
|
|
20
|
+
**Porta do modo de privacidade:** Quando o modo de privacidade está ativo, uma confirmação de divulgação explícita é exibida antes de cada operação de transcrição. Isso é intencional e não pode ser contornado — a conformidade regulatória exige consentimento informado por operação.
|
|
21
|
+
|
|
22
|
+
**Porta de consentimento:** No modo padrão, uma divulgação única por sessão é exibida antes que o texto de transcrição seja retornado à API pela primeira vez em uma sessão. Defina `WHISPER_CONSENT_ACKNOWLEDGED=true` na sua configuração para suprimir isso para conteúdo não sensível.
|
|
23
|
+
|
|
24
|
+
Veja [PRIVACY.md](PRIVACY.md) para a descrição completa da arquitetura de privacidade, orientação sobre frameworks de conformidade (HIPAA, GDPR, privilégio advogado-cliente, FERPA, SOX, PCI-DSS) e instruções de configuração.
|
|
25
|
+
|
|
26
|
+
## Verificação do binário
|
|
27
|
+
|
|
28
|
+
Para verificar a integridade do binário `whisper-cli.exe` no release pré-compilado, verifique o hash SHA256 no PowerShell:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
O hash esperado para cada binário de release é publicado na [página de releases](https://github.com/eviscerations/whisper-windows-mcp/releases). Não use um binário cujo hash não corresponda.
|
|
35
|
+
|
|
36
|
+
## Versões suportadas
|
|
37
|
+
|
|
38
|
+
Correções de segurança são aplicadas apenas à versão publicada mais recente.
|
|
39
|
+
|
|
40
|
+
| Versão | Suportada |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 2.x (mais recente) | ✅ |
|
|
43
|
+
| 1.x | ❌ |
|
|
44
|
+
|
|
45
|
+
## Reportando uma vulnerabilidade
|
|
46
|
+
|
|
47
|
+
**Não abra uma issue pública para vulnerabilidades de segurança.**
|
|
48
|
+
|
|
49
|
+
Use o relatório privado de vulnerabilidade do GitHub:
|
|
50
|
+
1. Vá para a [aba Security](https://github.com/eviscerations/whisper-windows-mcp/security)
|
|
51
|
+
2. Clique em "Report a vulnerability"
|
|
52
|
+
3. Descreva o problema com detalhes suficientes para reproduzi-lo
|
|
53
|
+
|
|
54
|
+
Você receberá uma resposta em até 7 dias. Se a vulnerabilidade for confirmada, uma correção será lançada o mais rápido possível e você será creditado nas notas de release se desejar.
|
|
55
|
+
|
|
56
|
+
## Sandbox e aprovações
|
|
57
|
+
|
|
58
|
+
whisper-windows-mcp é uma **ferramenta local, de usuário único, controlada pelo proprietário da máquina por meio do Claude Desktop.** Seu modelo de ameaças é o proprietário executando-a na própria máquina — não uma implantação não confiável, multilocatária ou exposta à rede.
|
|
59
|
+
|
|
60
|
+
- **Sandbox:** nenhum, por design. O `whisper-cli.exe` é executado no nível de permissão do próprio proprietário, igual a qualquer servidor MCP local. O isolamento em nível de SO não é a mitigação aqui; o escopo de uso é — **não exponha este servidor a acesso de rede não confiável** (veja "Injeção de caminho de arquivo" abaixo).
|
|
61
|
+
- **As aprovações são em camadas, não baseadas em sandbox:**
|
|
62
|
+
1. **Aprovação do host** — a camada MCP do Claude Desktop controla a invocação de ferramentas.
|
|
63
|
+
2. **Barreiras de consentimento / privacidade** — uma confirmação explícita é necessária antes que qualquer texto de transcrição saia da máquina para a API do Claude; `WHISPER_PRIVACY_MODE` / `privacy_mode` por chamada retorna apenas metadados para conteúdo regulamentado. A barreira é chaveada por operação (ferramenta + argumentos). Veja [PRIVACY.md](PRIVACY.md).
|
|
64
|
+
3. **Validação de entrada** — caminhos de travessia de diretório e UNC são rejeitados; `switch_model` é contido ao diretório de modelos configurado; `download_model` é restrito a uma lista de permissões de namespaces confiáveis do Hugging Face.
|
|
65
|
+
|
|
66
|
+
Esta ferramenta **não** foi projetada para ser controlada por um agente não confiável nem executada como infraestrutura compartilhada. Essa postura exigiria sandbox de SO/contêiner e uma política de egresso — fora do escopo de uma ferramenta de transcrição local de usuário único.
|
|
67
|
+
|
|
68
|
+
## Decisões de design conhecidas
|
|
69
|
+
|
|
70
|
+
- **Injeção de caminho de arquivo:** As ferramentas aceitam caminhos absolutos de arquivo do Claude. Isso é por design — a ferramenta é destinada a ser usada com o Claude Desktop pelo proprietário da máquina. Não exponha este servidor MCP a acesso de rede não confiável.
|
|
71
|
+
- **Sem sandbox:** O whisper-cli.exe é executado com as mesmas permissões que o Claude Desktop. Isso é padrão para ferramentas MCP locais.
|
|
72
|
+
- **Arquivos temporários:** Arquivos WAV intermediários são gravados em `%TEMP%\whisper_tmp_*.wav` e excluídos após a transcrição. Arquivos de estado de tarefas são gravados em `%TEMP%\whisper-mcp-jobs\` e são limpos automaticamente após 7 dias na inicialização do servidor.
|
|
73
|
+
- **Conteúdo de transcrição:** O texto de transcrição retornado nas respostas das ferramentas é processado pela API do Claude no modo padrão. Para evitar isso, ative `WHISPER_PRIVACY_MODE=true` ou passe `privacy_mode=true` por chamada. Veja [PRIVACY.md](PRIVACY.md).
|
|
74
|
+
- **Injeção de transcrição:** Arquivos de áudio podem conter conteúdo falado que, quando transcrito, se assemelha a instruções. As defesas integradas do Claude lidam com isso. O próprio servidor MCP marca todo o conteúdo de transcrição como dados não confiáveis e nunca o interpreta como instruções.
|
|
75
|
+
- **Downloads de modelos são restritos:** A ferramenta `download_model` só faz download de dois namespaces do Hugging Face confiáveis (`ggerganov/whisper.cpp` e `ggml-org`). Redirecionamentos são validados contra uma lista de permissões antes de serem seguidos. URLs arbitrários são rejeitados no nível do código. Downloads truncados/incompletos são rejeitados (verificação de Content-Length) antes de um arquivo `.part` ser promovido ao nome do modelo.
|
|
76
|
+
- **A troca de modelos é sandboxed:** `switch_model` só aceita arquivos `.bin` dentro do diretório de modelos configurado. Caminhos fora dele são rejeitados via contenção de caminho normalizada — um diretório com prefixo-irmão como `…\models-evil` não pode satisfazer a verificação — independentemente de como o caminho é especificado.
|
package/SECURITY.ro.md
CHANGED
|
@@ -1,47 +1,76 @@
|
|
|
1
|
-
# Politică de securitate
|
|
2
|
-
|
|
3
|
-
## Domeniu de aplicare
|
|
4
|
-
|
|
5
|
-
whisper-windows-mcp este un instrument care prioritizează localul. Toată procesarea audio are loc pe calculatorul tău — niciun audio, fișier video sau date personale nu sunt transmise vreunui server. Suprafața de atac este limitată la:
|
|
6
|
-
|
|
7
|
-
- Sistemul de fișiere local (căi de fișiere transmise instrumentelor)
|
|
8
|
-
- Binarul whisper-cli.exe și dependențele sale
|
|
9
|
-
- Conexiunea MCP Claude Desktop (doar IPC local)
|
|
10
|
-
- Textul de transcriere returnat în răspunsurile instrumentelor (vezi Arhitectura de confidențialitate mai jos)
|
|
11
|
-
|
|
12
|
-
## Arhitectura de confidențialitate
|
|
13
|
-
|
|
14
|
-
**Fișierele audio nu părăsesc niciodată calculatorul tău.** Această garanție este necondiționată.
|
|
15
|
-
|
|
16
|
-
**Textul de transcriere poate părăsi calculatorul tău
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
# Politică de securitate
|
|
2
|
+
|
|
3
|
+
## Domeniu de aplicare
|
|
4
|
+
|
|
5
|
+
whisper-windows-mcp este un instrument care prioritizează localul. Toată procesarea audio are loc pe calculatorul tău — niciun audio, fișier video sau date personale nu sunt transmise vreunui server. Suprafața de atac este limitată la:
|
|
6
|
+
|
|
7
|
+
- Sistemul de fișiere local (căi de fișiere transmise instrumentelor)
|
|
8
|
+
- Binarul whisper-cli.exe și dependențele sale
|
|
9
|
+
- Conexiunea MCP Claude Desktop (doar IPC local)
|
|
10
|
+
- Textul de transcriere returnat în răspunsurile instrumentelor (vezi Arhitectura de confidențialitate mai jos)
|
|
11
|
+
|
|
12
|
+
## Arhitectura de confidențialitate
|
|
13
|
+
|
|
14
|
+
**Fișierele audio nu părăsesc niciodată calculatorul tău.** Această garanție este necondiționată.
|
|
15
|
+
|
|
16
|
+
**Textul de transcriere poate părăsi calculatorul tău** în modul standard. Când un răspuns al instrumentului include text de transcriere, acel text este procesat de API-ul Claude. Acesta este comportamentul standard MCP, dar creează un decalaj între filosofia de proiectare "local prioritar" a instrumentului și fluxul real de date pentru utilizatorii care gestionează conținut reglementat sau confidențial.
|
|
17
|
+
|
|
18
|
+
**Modul de confidențialitate** (`WHISPER_PRIVACY_MODE=true` sau `privacy_mode=true` per apel) restricționează toate răspunsurile instrumentelor doar la metadate — niciun text de transcriere nu este returnat la API-ul Claude. Aceasta este configurația corectă pentru implementările medicale, juridice, financiare și corporative.
|
|
19
|
+
|
|
20
|
+
**Poarta modului de confidențialitate:** când modul de confidențialitate este activ, o dezvăluire de confirmare explicită este afișată înainte de fiecare operațiune de transcriere. Aceasta este intenționată și nu poate fi ocolită — conformitatea reglementară necesită consimțământ informat per operațiune.
|
|
21
|
+
|
|
22
|
+
**Poarta de consimțământ:** în modul standard, o dezvăluire unică per sesiune este afișată înainte ca orice text de transcriere să fie returnat la API pentru prima dată. Setează `WHISPER_CONSENT_ACKNOWLEDGED=true` în configurația ta pentru a suprima aceasta pentru conținut non-sensibil.
|
|
23
|
+
|
|
24
|
+
Vezi [PRIVACY.md](PRIVACY.md) pentru descrierea completă a arhitecturii de confidențialitate, îndrumări privind cadrele de conformitate (HIPAA, GDPR, privilegiu avocat-client, FERPA, SOX, PCI-DSS) și instrucțiuni de configurare.
|
|
25
|
+
|
|
26
|
+
## Verificarea binarului
|
|
27
|
+
|
|
28
|
+
Pentru a verifica integritatea binarului `whisper-cli.exe` din versiunea precompilată, verifică hash-ul său SHA256 în PowerShell:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Hash-ul așteptat pentru fiecare binar de versiune este publicat pe [pagina de versiuni](https://github.com/eviscerations/whisper-windows-mcp/releases). Nu folosi un binar al cărui hash nu corespunde.
|
|
35
|
+
|
|
36
|
+
## Versiuni suportate
|
|
37
|
+
|
|
38
|
+
Corecțiile de securitate sunt aplicate doar celei mai recente versiuni publicate.
|
|
39
|
+
|
|
40
|
+
| Versiune | Suportată |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 2.x (cea mai recentă) | ✅ |
|
|
43
|
+
| 1.x | ❌ |
|
|
44
|
+
|
|
45
|
+
## Raportarea unei vulnerabilități
|
|
46
|
+
|
|
47
|
+
**Nu deschide un issue public pentru vulnerabilități de securitate.**
|
|
48
|
+
|
|
49
|
+
Folosește raportarea privată a vulnerabilităților GitHub:
|
|
50
|
+
1. Mergi la [fila Security](https://github.com/eviscerations/whisper-windows-mcp/security)
|
|
51
|
+
2. Fă clic pe "Report a vulnerability"
|
|
52
|
+
3. Descrie problema cu suficiente detalii pentru a o reproduce
|
|
53
|
+
|
|
54
|
+
Vei primi un răspuns în 7 zile. Dacă vulnerabilitatea este confirmată, o corecție va fi lansată cât mai curând posibil și vei fi creditat în notele de lansare dacă dorești.
|
|
55
|
+
|
|
56
|
+
## Sandbox și aprobări
|
|
57
|
+
|
|
58
|
+
whisper-windows-mcp este un **instrument local, cu un singur utilizator, controlat de proprietarul calculatorului prin Claude Desktop.** Modelul său de amenințare este proprietarul care îl rulează pe propriul calculator — nu o implementare neautorizată, multi-tenant sau expusă la rețea.
|
|
59
|
+
|
|
60
|
+
- **Sandbox:** niciunul, prin design. `whisper-cli.exe` rulează la nivelul de permisiuni al proprietarului însuși, la fel ca orice server MCP local. Izolarea la nivel de SO nu este măsura de atenuare aici; domeniul de utilizare este — **nu expune acest server la acces de rețea neautorizat** (vezi „Injecție de cale de fișier" mai jos).
|
|
61
|
+
- **Aprobările sunt stratificate, nu bazate pe sandbox:**
|
|
62
|
+
1. **Aprobarea gazdei** — stratul MCP al Claude Desktop controlează invocarea instrumentelor.
|
|
63
|
+
2. **Bariere de consimțământ / confidențialitate** — o confirmare explicită este necesară înainte ca orice text de transcriere să părăsească calculatorul către API-ul Claude; `WHISPER_PRIVACY_MODE` / `privacy_mode` per apel returnează doar metadate pentru conținut reglementat. Bariera este cheiată per operațiune (instrument + argumente). Vezi [PRIVACY.md](PRIVACY.md).
|
|
64
|
+
3. **Validarea intrărilor** — căile de traversare a directoarelor și UNC sunt respinse; `switch_model` este limitat la directorul de modele configurat; `download_model` este restricționat la o listă de permise de spații de nume Hugging Face de încredere.
|
|
65
|
+
|
|
66
|
+
Acest instrument **nu** este conceput pentru a fi controlat de un agent neautorizat sau rulat ca infrastructură partajată. O astfel de poziție ar necesita sandbox de SO/container și o politică de ieșire — în afara domeniului unui instrument de transcriere local cu un singur utilizator.
|
|
67
|
+
|
|
68
|
+
## Decizii de proiectare cunoscute
|
|
69
|
+
|
|
70
|
+
- **Injecție de cale de fișier:** Instrumentele acceptă căi absolute de fișiere de la Claude. Acesta este un design intenționat — instrumentul este destinat utilizării cu Claude Desktop de către proprietarul calculatorului. Nu expune acest server MCP la acces de rețea neautorizat.
|
|
71
|
+
- **Fără sandbox:** whisper-cli.exe rulează cu aceleași permisiuni ca Claude Desktop. Acesta este standard pentru instrumentele MCP locale.
|
|
72
|
+
- **Fișiere temporare:** Fișierele WAV intermediare sunt scrise în `%TEMP%\whisper_tmp_*.wav` și șterse după transcriere. Fișierele de stare a sarcinilor sunt scrise în `%TEMP%\whisper-mcp-jobs\` și curățate automat după 7 zile la pornirea serverului.
|
|
73
|
+
- **Conținut de transcriere:** Textul de transcriere returnat în răspunsurile instrumentelor este procesat de API-ul Claude în modul standard. Activează `WHISPER_PRIVACY_MODE=true` sau transmite `privacy_mode=true` per apel pentru a preveni aceasta. Vezi [PRIVACY.md](PRIVACY.md).
|
|
74
|
+
- **Injecție de transcriere:** Fișierele audio pot conține conținut vorbit care, atunci când este transcris, seamănă cu instrucțiuni. Apărările încorporate ale Claude gestionează acest lucru. Serverul MCP în sine marchează tot conținutul de transcriere ca date neautorizate și nu le interpretează niciodată ca instrucțiuni.
|
|
75
|
+
- **Descărcări de modele:** Instrumentul `download_model` descarcă doar din două spații de nume Hugging Face de încredere (`ggerganov/whisper.cpp` și `ggml-org`). Redirecționările sunt validate față de o listă de permise înainte de a fi urmate. URL-urile arbitrare sunt respinse la nivel de cod. Descărcările trunchiate/incomplete sunt respinse (verificare Content-Length) înainte ca un fișier `.part` să fie promovat la numele modelului.
|
|
76
|
+
- **Schimbarea modelelor:** `switch_model` acceptă doar fișiere `.bin` în directorul de modele configurat. Căile din afara lui sunt respinse prin izolare normalizată a căilor — un director cu prefix-frate precum `…\models-evil` nu poate satisface verificarea — indiferent de modul în care este specificată calea.
|
package/SECURITY.uk.md
CHANGED
|
@@ -1,47 +1,76 @@
|
|
|
1
|
-
# Політика безпеки
|
|
2
|
-
|
|
3
|
-
## Область охоплення
|
|
4
|
-
|
|
5
|
-
whisper-windows-mcp — інструмент з пріоритетом локальності. Все аудіоопрацювання відбувається на вашому комп'ютері — жодні аудіо-, відеофайли чи персональні дані не передаються на жодний сервер. Поверхня атаки обмежена:
|
|
6
|
-
|
|
7
|
-
- Локальна файлова система (шляхи до файлів, що передаються інструментам)
|
|
8
|
-
- Бінарник whisper-cli.exe та його залежності
|
|
9
|
-
- З'єднання Claude Desktop MCP (лише локальний IPC)
|
|
10
|
-
- Текст транскрипції, що повертається у відповідях інструментів (дивіться Архітектуру конфіденційності нижче)
|
|
11
|
-
|
|
12
|
-
## Архітектура конфіденційності
|
|
13
|
-
|
|
14
|
-
**Аудіофайли ніколи не покидають ваш комп'ютер.** Ця гарантія є безумовною.
|
|
15
|
-
|
|
16
|
-
**Текст транскрипції може покидати ваш комп'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
# Політика безпеки
|
|
2
|
+
|
|
3
|
+
## Область охоплення
|
|
4
|
+
|
|
5
|
+
whisper-windows-mcp — інструмент з пріоритетом локальності. Все аудіоопрацювання відбувається на вашому комп'ютері — жодні аудіо-, відеофайли чи персональні дані не передаються на жодний сервер. Поверхня атаки обмежена:
|
|
6
|
+
|
|
7
|
+
- Локальна файлова система (шляхи до файлів, що передаються інструментам)
|
|
8
|
+
- Бінарник whisper-cli.exe та його залежності
|
|
9
|
+
- З'єднання Claude Desktop MCP (лише локальний IPC)
|
|
10
|
+
- Текст транскрипції, що повертається у відповідях інструментів (дивіться Архітектуру конфіденційності нижче)
|
|
11
|
+
|
|
12
|
+
## Архітектура конфіденційності
|
|
13
|
+
|
|
14
|
+
**Аудіофайли ніколи не покидають ваш комп'ютер.** Ця гарантія є безумовною.
|
|
15
|
+
|
|
16
|
+
**Текст транскрипції може покидати ваш комп'ютер** у стандартному режимі. Коли відповідь інструменту містить текст транскрипції, цей текст опрацьовується API Claude. Це стандартна поведінка MCP, але вона створює розрив між філософією дизайну "локальний пріоритет" і фактичним потоком даних для користувачів, що працюють з регульованим або конфіденційним контентом.
|
|
17
|
+
|
|
18
|
+
**Режим конфіденційності** (`WHISPER_PRIVACY_MODE=true` або `privacy_mode=true` для окремого виклику) обмежує всі відповіді інструментів лише метаданими — жодний текст транскрипції не повертається API Claude. Це правильне налаштування для медичних, юридичних, фінансових і корпоративних розгортань.
|
|
19
|
+
|
|
20
|
+
**Ворота режиму конфіденційності:** коли режим конфіденційності активний, перед кожною операцією транскрипції відображається явне підтвердження розкриття. Це навмисно і не може бути обійдено — відповідність нормативним вимогам потребує поінформованої згоди перед кожною операцією.
|
|
21
|
+
|
|
22
|
+
**Ворота згоди:** у стандартному режимі одноразове розкриття для сеансу відображається перед першим поверненням тексту транскрипції до API. Встановіть `WHISPER_CONSENT_ACKNOWLEDGED=true` у конфігурації, щоб пропустити це для нечутливого контенту.
|
|
23
|
+
|
|
24
|
+
Повний опис архітектури конфіденційності, настанови щодо нормативних вимог (HIPAA, GDPR, адвокатська таємниця, FERPA, SOX, PCI-DSS) та інструкції з налаштування — у [PRIVACY.md](PRIVACY.md).
|
|
25
|
+
|
|
26
|
+
## Перевірка бінарника
|
|
27
|
+
|
|
28
|
+
Щоб перевірити цілісність бінарника `whisper-cli.exe` у готовому релізі, перевірте його хеш SHA256 у PowerShell:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
Get-FileHash "C:\whisper\Release\whisper-cli.exe" -Algorithm SHA256
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Очікуваний хеш для кожного релізного бінарника опубліковано на [сторінці релізів](https://github.com/eviscerations/whisper-windows-mcp/releases). Не використовуйте бінарник, хеш якого не збігається.
|
|
35
|
+
|
|
36
|
+
## Підтримувані версії
|
|
37
|
+
|
|
38
|
+
Виправлення безпеки застосовуються лише до найновішої опублікованої версії.
|
|
39
|
+
|
|
40
|
+
| Версія | Підтримується |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 2.x (найновіша) | ✅ |
|
|
43
|
+
| 1.x | ❌ |
|
|
44
|
+
|
|
45
|
+
## Повідомлення про вразливість
|
|
46
|
+
|
|
47
|
+
**Не відкривайте публічний issue для вразливостей безпеки.**
|
|
48
|
+
|
|
49
|
+
Використовуйте приватну звітність про вразливості GitHub:
|
|
50
|
+
1. Перейдіть до [вкладки Security](https://github.com/eviscerations/whisper-windows-mcp/security)
|
|
51
|
+
2. Натисніть "Report a vulnerability"
|
|
52
|
+
3. Опишіть проблему з достатніми деталями для відтворення
|
|
53
|
+
|
|
54
|
+
Ви отримаєте відповідь протягом 7 днів. Якщо вразливість підтверджено, виправлення буде випущено якнайшвидше, і вас буде вказано в примітках до релізу за вашим бажанням.
|
|
55
|
+
|
|
56
|
+
## Пісочниця та схвалення
|
|
57
|
+
|
|
58
|
+
whisper-windows-mcp — це **локальний інструмент для одного користувача, який керується власником комп'ютера через Claude Desktop.** Його модель загроз — це власник, який запускає його на власному комп'ютері — а не ненадійне, багатоорендне або відкрите в мережу розгортання.
|
|
59
|
+
|
|
60
|
+
- **Пісочниця:** відсутня, за задумом. `whisper-cli.exe` запускається на рівні прав самого власника, так само як будь-який локальний MCP-сервер. Засобом пом'якшення тут є не ізоляція на рівні ОС, а сфера використання — **не відкривайте цей сервер для ненадійного мережевого доступу** (див. «Ін'єкція шляху до файлу» нижче).
|
|
61
|
+
- **Схвалення є багаторівневими, а не на основі пісочниці:**
|
|
62
|
+
1. **Схвалення хоста** — рівень MCP Claude Desktop контролює виклик інструментів.
|
|
63
|
+
2. **Бар'єри згоди / конфіденційності** — перед тим, як будь-який текст транскрипції залишить комп'ютер у напрямку API Claude, потрібне явне підтвердження; `WHISPER_PRIVACY_MODE` / `privacy_mode` для окремого виклику повертає лише метадані для регульованого контенту. Бар'єр ключований за операцією (інструмент + аргументи). Дивіться [PRIVACY.md](PRIVACY.md).
|
|
64
|
+
3. **Перевірка вводу** — шляхи з обходом каталогів і UNC відхиляються; `switch_model` обмежено налаштованою текою моделей; `download_model` обмежено списком дозволених довірених просторів імен Hugging Face.
|
|
65
|
+
|
|
66
|
+
Цей інструмент **не** призначений для керування ненадійним агентом чи запуску як спільна інфраструктура. Така позиція вимагала б пісочниці ОС/контейнера та політики вихідного трафіку — поза межами локального інструмента транскрипції для одного користувача.
|
|
67
|
+
|
|
68
|
+
## Відомі проєктні рішення
|
|
69
|
+
|
|
70
|
+
- **Ін'єкція шляху до файлу:** Інструменти приймають абсолютні шляхи до файлів від Claude. Це навмисний дизайн — інструмент призначено для використання власником комп'ютера разом з Claude Desktop. Не відкривайте цей MCP-сервер для ненадійного мережевого доступу.
|
|
71
|
+
- **Відсутність пісочниці:** whisper-cli.exe запускається з тими самими правами, що і Claude Desktop. Це стандарт для локальних MCP-інструментів.
|
|
72
|
+
- **Тимчасові файли:** Проміжні WAV-файли записуються до `%TEMP%\whisper_tmp_*.wav` і видаляються після транскрипції. Файли стану завдань записуються до `%TEMP%\whisper-mcp-jobs\` і автоматично очищуються через 7 днів при запуску сервера.
|
|
73
|
+
- **Вміст транскрипції:** Текст транскрипції, що повертається у відповідях інструментів, опрацьовується API Claude у стандартному режимі. Увімкніть `WHISPER_PRIVACY_MODE=true` або передайте `privacy_mode=true` для окремого виклику, щоб запобігти цьому. Дивіться [PRIVACY.md](PRIVACY.md).
|
|
74
|
+
- **Ін'єкція транскрипції:** Аудіофайли можуть містити вимовлений контент, який після транскрипції нагадує інструкції. Вбудований захист Claude впорається з цим. Сам MCP-сервер позначає весь вміст транскрипції як ненадійні дані і ніколи не інтерпретує їх як інструкції.
|
|
75
|
+
- **Завантаження моделей:** Інструмент `download_model` завантажує лише з двох довірених просторів імен Hugging Face (`ggerganov/whisper.cpp` і `ggml-org`). Переспрямування перевіряються за списком дозволених перед виконанням. Довільні URL-адреси відхиляються на рівні коду. Обрізані/неповні завантаження відхиляються (перевірка Content-Length) перед тим, як файл `.part` буде підвищено до імені моделі.
|
|
76
|
+
- **Перемикання моделей:** `switch_model` приймає лише `.bin`-файли з налаштованої теки моделей. Шляхи за її межами відхиляються через нормалізоване утримання шляхів — каталог із братнім префіксом, такий як `…\models-evil`, не може задовольнити перевірку — незалежно від способу вказання шляху.
|