# シークレットスキャン

[シークレット（環境変数）を適切に管理](./spaces-overview#managing-secrets)することが重要です。シークレットが外部に漏洩する最も一般的な原因は、コードファイル内にシークレットをハードコードしてしまうことです。これにより、悪意のあるユーザーがあなたのシークレットや、そのシークレットがアクセスできるサービスを利用できてしまいます。

例えば、侵害された`app.py`ファイルは次のような見た目になる可能性があります。

```py
import numpy as np
import scipy as sp

api_key = "sw-xyz1234567891213"

def call_inference(prompt: str) -> str:
    result = call_api(prompt, api_key)
    return result
```

この問題を防止するために、各プッシュ時に[TruffleHog](https://trufflesecurity.com/trufflehog)を実行しています。TruffleHogはハードコードされたシークレットをスキャンし、検出された場合はメールをお送りします。

検証済みのシークレット（各プロバイダーに対する認証に正常に機能することが確認されたもの）についてのみ、メールを受け取ります。ただし、未検証のシークレットが必ずしも無害または無効であるとは限りません。ネットワークエラーなどの技術的な理由により、検証が失敗する場合があります。

TruffleHogは、Hugging Faceのトークンに限定されず、複数のサービスで機能するシークレットを検証できます。

[設定](https://huggingface.co/settings/notifications)から、これらのメール通知を無効にできます。

リークしたシークレットが Hugging Face のアクセストークンの場合、直ちに無効化できます。自分のものではないトークンも含みます。[リークしたトークンの失効](./security-tokens#revoking-a-leaked-token)を参照してください。

