Skip to content

[improvement] 暗号化出力ファイル .env.enc がデフォルトパーミッションで作成される — 秘密情報がグループ/その他から読める #6

@ouchanip

Description

@ouchanip

該当箇所

  • src/utils.js:12-14writeFile 関数
  • src/index.js:46encrypt() 内での呼び出し
// src/utils.js
export async function writeFile(filepath, content) {
  await fs.writeFile(filepath, content, 'utf8');
}

問題

Issue #2.env.key のパーミッション問題は指摘済みだが、.env.enc(暗号化されたシークレットを含むファイル)も同様にデフォルトパーミッション (0644) で作成される。シークレット管理ツールとして、グループ・その他ユーザーから読める状態は不適切。

修正案

  • 簡易: writeFile にオプション引数で mode を渡せるようにし、init()encrypt()0o600 を指定
  • 本格: writeFile を拡張するか、init() / encrypt()fs.writeFile 後に fs.chmod(filepath, 0o600) を呼ぶ。CLI オプション --no-restrict も検討

期待効果

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions