자동 스캔 결과입니다. 설치 전에 소스를 확인하세요. 등급은 기능 범위를 나타내며 안전 인증이 아닙니다.
스캔이 완료되지 않았습니다.가져오기를 확인할 수 없습니다 ../types; 가져오기를 확인할 수 없습니다 ../../types; 가져온 의존성이 스캔 한도를 초과했습니다
감지 위치 보기 (68)
파일 읽기 · 줄172 줄claude-code/hud/hooks/register.tsxstat: path => $.fs.stat(path, { resolve: true }),
파일 읽기 · 줄173 줄claude-code/hud/hooks/register.tsxread: path => $.fs.read(path),
파일 읽기 · 줄174 줄claude-code/hud/hooks/register.tsxlist: path => $.fs.list(path),
파일 쓰기 · 줄175 줄claude-code/hud/hooks/register.tsxwrite: (path, text) => $.fs.write(path, text),
명령 실행 · 줄176 줄claude-code/hud/hooks/register.tsxrun: (argv, init) => $.process.run(argv, init),
도구 등록 · 줄302 줄claude-code/hud/hooks/register.tsxawait $.tool.register({
도구 호출 가로채기 · 줄437 줄claude-code/hud/hooks/register.tsxon('tool.call', { tool: /^mcp__hud__hud_debug$/ }, async () => {
도구 호출 가로채기 · 줄447 줄claude-code/hud/hooks/register.tsxon('tool.call', async ($, e, next) => {
명령 실행 · 줄166 줄claude-code/hud/hooks/extras.tsconst ab = /^# branch\.ab \+(\d+) -\d+/.exec(record)
명령 실행 · 줄21 줄claude-code/hud/hooks/hud/render/ansi.tsconst match = ESCAPE_AT.exec(str);
명령 실행 · 줄143 줄claude-code/hud/hooks/hud/render/ansi.tsconst url = /^\x1b\]8;;([^\x07\x1b]*)/.exec(token.text)?.[1];
환경 변수 · 줄375 줄claude-code/hud/hooks/hud/config.ts.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g, (match, name: string) => process.env[name] ?? match)
파일 읽기 · 줄500 줄claude-code/hud/hooks/hud/config.tsconst content = fs.readFileSync(fd, 'utf-8');
파일 읽기 · 줄90 줄claude-code/hud/hooks/shims/fs.tsexport function statSync(p: PathLike, options?: { throwIfNoEntry?: boolean }): Stats {
파일 읽기 · 줄105 줄claude-code/hud/hooks/shims/fs.tsreturn statSync(fd)
파일 읽기 · 줄120 줄claude-code/hud/hooks/shims/fs.tsexport function readFileSync(p: PathLike, _options?: unknown): string {
파일 읽기 · 줄124 줄claude-code/hud/hooks/shims/fs.tsexport function readdirSync(p: string, options?: { withFileTypes?: boolean }): any[] {
파일 쓰기 · 줄150 줄claude-code/hud/hooks/shims/fs.tsexport function writeFileSync(p: PathLike, data: unknown, _options?: unknown): void {
파일 쓰기 · 줄180 줄claude-code/hud/hooks/shims/fs.tsexport function unlinkSync(p: string): void {
파일 쓰기 · 줄188 줄claude-code/hud/hooks/shims/fs.tsexport function mkdirSync(_p: string, _options?: unknown): void {}
환경 변수 · 줄14 줄claude-code/hud/hooks/hud/claude-config-dir.tsconst envConfigDir = process.env.CLAUDE_CONFIG_DIR?.trim();
환경 변수 · 줄22 줄claude-code/hud/hooks/hud/claude-config-dir.tsconst envConfigDir = process.env.CLAUDE_CONFIG_DIR?.trim();
환경 변수 · 줄2 줄claude-code/hud/hooks/hud/debug.tsconst enabled = process.env.DEBUG?.includes('claude-hud') || process.env.DEBUG === '*';
환경 변수 · 줄12 줄claude-code/hud/hooks/hud/utils/terminal.tsreturn columns(process.env.COLUMNS) ?? columns(process.stdout?.columns) ?? columns(process.stderr?.columns);
명령 실행 · 줄136 줄claude-code/hud/hooks/hud/git.tsconst sha = /^detached:([0-9a-f]+)$/.exec(ref)?.[1];
명령 실행 · 줄171 줄claude-code/hud/hooks/hud/git.tsconst match = /^\+(\d+) -(\d+)$/.exec(record.slice('# branch.ab '.length));
환경 변수 · 줄10 줄claude-code/hud/hooks/hud/git-runner.tsexport function createGitEnvironment(base: NodeJS.ProcessEnv = process.env): NodeJS.ProcessEnv {
명령 실행 · 줄17 줄claude-code/hud/hooks/hud/git-runner.tsexecFile('git', [...args], {
명령 실행 · 줄73 줄claude-code/hud/hooks/shims/child_process.tsexport function execFile(
명령 실행 · 줄90 줄claude-code/hud/hooks/shims/child_process.tsexport function exec(command: string, options?: ExecOptions | Callback, callback?: Callback): void {
명령 실행 · 줄102 줄claude-code/hud/hooks/shims/child_process.tsexport function execFileSync(file: string, ...rest: unknown[]): string {
명령 실행 · 줄111 줄claude-code/hud/hooks/shims/child_process.tsexport function spawn(): never {
명령 실행 · 줄58 줄claude-code/hud/hooks/hud/auth.tsconst match = /_(\d+x)$/i.exec(rateLimitTier);
환경 변수 · 줄66 줄claude-code/hud/hooks/hud/auth.tsexport function deriveAuthInfo(claudeJson: unknown, env: NodeJS.ProcessEnv = process.env): AuthInfo {
환경 변수 · 줄109 줄claude-code/hud/hooks/hud/auth.tsif (hasApiKey(process.env)) {
파일 읽기 · 줄113 줄claude-code/hud/hooks/hud/auth.tsreturn deriveAuthInfo(JSON.parse(fs.readFileSync(getClaudeConfigJsonPath(os.homedir()), 'utf8')));
파일 읽기 · 줄66 줄claude-code/hud/hooks/hud/daily-cost.tsconst value: unknown = JSON.parse(fs.readFileSync(ledgerPath, 'utf8'));
파일 읽기 · 줄93 줄claude-code/hud/hooks/hud/daily-cost.tsreturn now - fs.statSync(ledgerPath).mtimeMs <= DAILY_COST_WRITE_THROTTLE_MS;
파일 쓰기 · 줄102 줄claude-code/hud/hooks/hud/daily-cost.tsfs.mkdirSync(path.dirname(ledgerPath), { recursive: true, mode: 0o700 });
파일 쓰기 · 줄103 줄claude-code/hud/hooks/hud/daily-cost.tsfs.writeFileSync(tmpPath, `${JSON.stringify(ledger, null, 2)}\n`, { mode: 0o600, flag: 'wx' });
환경 변수 · 줄151 줄claude-code/hud/hooks/hud/stdin.tsexport function getProviderLabel(stdin: StdinData, env: NodeJS.ProcessEnv = process.env): string | null {
명령 실행 · 줄70 줄claude-code/hud/hooks/hud/transcript.tsconst mcpServer = (toolName: string): string | undefined => name(MCP_TOOL.exec(toolName)?.[1]);
명령 실행 · 줄158 줄claude-code/hud/hooks/hud/transcript.tsconst effort = EFFORT_COMMAND.exec(entry.message.content);
명령 실행 · 줄172 줄claude-code/hud/hooks/hud/transcript.tsconst toolUseId = /<tool-use-id>([^<]+)<\/tool-use-id>/.exec(entry.content)?.[1];
파일 읽기 · 줄366 줄claude-code/hud/hooks/hud/transcript.tsif (!transcriptPath || !fs.statSync(transcriptPath).isFile()) return emptyTranscript();
명령 실행 · 줄45 줄claude-code/hud/hooks/stdin.tsconst match = /claude-(opus|sonnet|haiku|fable)-(\d+)(?:-(\d{1,2}))?(?:-\d{8})?$/i.exec(bare)
명령 실행 · 줄46 줄claude-code/hud/hooks/stdin.ts?? /claude-(\d+)(?:-(\d+))?-(opus|sonnet|haiku)/i.exec(bare)
명령 실행 · 줄92 줄claude-code/hud/hooks/stdin.tsconst match = /^(?:[a-z+]+:\/\/)?(?:[^@/]+@)?([^/:]+)[:/](?:\d+\/)?([^/]+)\/([^/]+?)(?:\.git)?\/?$/i.exec(remote.trim())
환경 변수 · 줄23 줄claude-code/hud/hooks/hud/index.tsexport function isHudDisabled(env: NodeJS.ProcessEnv = process.env): boolean {
명령 실행 · 줄15 줄claude-code/hud/hooks/hud/memory.tsconst pageSize = /page size of (\d+) bytes/.exec(output)?.[1];
명령 실행 · 줄16 줄claude-code/hud/hooks/hud/memory.tsconst active = /Pages active:\s+(\d+)/.exec(output)?.[1];
명령 실행 · 줄17 줄claude-code/hud/hooks/hud/memory.tsconst wired = /Pages wired down:\s+(\d+)/.exec(output)?.[1];
명령 실행 · 줄24 줄claude-code/hud/hooks/hud/memory.tsconst total = /^MemTotal:\s+(\d+)\s+kB/m.exec(output)?.[1];
명령 실행 · 줄25 줄claude-code/hud/hooks/hud/memory.tsconst available = /^MemAvailable:\s+(\d+)\s+kB/m.exec(output)?.[1];
명령 실행 · 줄33 줄claude-code/hud/hooks/hud/memory.tsexecFile('/usr/bin/vm_stat', { encoding: 'utf8', timeout: VM_STAT_TIMEOUT_MS }, (error, stdout) => {
파일 읽기 · 줄44 줄claude-code/hud/hooks/hud/memory.tsreturn parseLinuxMeminfo(await readFile('/proc/meminfo', 'utf8')) ?? systemMemory();
파일 읽기 · 줄4 줄claude-code/hud/hooks/shims/fs_promises.tsexport async function readFile(path: string, _options?: unknown): Promise<string> {
파일 읽기 · 줄80 줄claude-code/hud/hooks/hud/render/vcs.tsreturn resolved ? fs.statSync(resolved).mtimeMs : 0;
파일 읽기 · 줄21 줄claude-code/hud/hooks/hud/config-reader.tsconst value: unknown = JSON.parse(fs.readFileSync(filePath, 'utf8'));
파일 읽기 · 줄56 줄claude-code/hud/hooks/hud/config-reader.tsfor (const entry of fs.readdirSync(root)) {
파일 읽기 · 줄60 줄claude-code/hud/hooks/hud/config-reader.tsconst stat = fs.statSync(target);
명령 실행 · 줄28 줄claude-code/hud/hooks/hud/jj.tsexecFile(file, [...args], options, (error, stdout) => (error ? reject(error) : resolve({ stdout })));
환경 변수 · 줄11 줄claude-code/hud/hooks/hud/extra-cmd.tsexport function isExtraCmdAllowed(env: NodeJS.ProcessEnv = process.env): boolean {
환경 변수 · 줄15 줄claude-code/hud/hooks/hud/extra-cmd.tsexport function parseExtraCmdArg(argv: string[] = process.argv, env: NodeJS.ProcessEnv = process.env): string | null {
명령 실행 · 줄42 줄claude-code/hud/hooks/hud/extra-cmd.tsexec(cmd, { timeout, maxBuffer: MAX_OUTPUT_BYTES, windowsHide: true }, (error, stdout) => {
파일 읽기 · 줄25 줄claude-code/hud/hooks/hud/speed.tsconst state = JSON.parse(fs.readFileSync(file, 'utf8')) as Partial<SpeedState>;
파일 쓰기 · 줄37 줄claude-code/hud/hooks/hud/speed.tsfs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
파일 쓰기 · 줄39 줄claude-code/hud/hooks/hud/speed.tsfs.writeFileSync(tmp, JSON.stringify(state), { mode: 0o600 });