メインコンテンツまでスキップ
このページはまだお使いの言語に翻訳されていないか、翻訳が技術レビュー待ちです。以下には英語の原文を表示しています。 英語のページを開く

E1002 -- ~/.controlzero directory is world-readable

Severity: WARN. Run chmod 700 ~/.controlzero to fix.

What happened​

controlzero doctor found that the directory holding your API key and policy state has POSIX permissions other than 0700 (owner-only). Other local users on the same machine can read its contents, including config.yaml (which holds your API key in plaintext).

Why it matters​

Even if config.yaml itself is mode 0600, an open parent directory lets other local users:

  • See which files exist (so they know an API key is on this box).
  • Tail audit log files like ~/.controlzero/audit.log.
  • On some systems, traverse via group or other-readable subdirectories.

For a single-user laptop this is low-risk. For a shared dev box, CI runner, or jump host it is a real exposure.

How to fix​

chmod 700 ~/.controlzero

Run controlzero doctor again to confirm the warning is gone.

When this happens​

Most common causes:

  • A pre-1.5.3 install path created the directory with the umask default (often 755) instead of explicitly setting 700.
  • A backup or sync tool restored the directory and reset perms.
  • A teammate with sudo ran controlzero install as root and the directory landed owned by root with permissive perms.

controlzero install <agent> on 1.5.3 and later sets 0700 on the directory at every install. If doctor keeps reporting this on a machine that re-runs install, check whether something is resetting perms after install (a launchd / systemd unit, a corp-wide policy manager, etc).

  • E1001 -- API key found in agent settings file
  • E1003 -- config.yaml is world-readable
  • E1004 -- API key found in shell history