TL;DR
LLM Provider가 응답과 함께 반환하는 redacted_thinking.data, reasoning.encrypted_content, thoughtSignature는 암호문처럼 보이지만 로그에 남을 경우 민감 정보가 노출될 수 있는 추론 흔적 블록이다. aileaks는 이 데이터를 복호화하지 않고 Provider별 구조와 필드 패턴을 JSON·JSONL 파싱 또는 일반 텍스트 정규식으로 탐지하며, 결과에 structural 또는 text 신뢰도를 부여한다. npx 명령, 표준 입력 파이프, GitHub Action을 지원하고 발견 시 종료 코드 1을 반환해 CI 차단 장치로 쓸 수 있다. API 키와 비밀번호는 검사하지 않으므로 gitleaks나 trufflehog와 병행해야 한다.
섹션별 상세
npx aileaks scan .
# defaults to the current directory
aileaks scan [path]
--format <text|json> # default: text
--ignore <glob...> # additional glob(s) to skip
--no-fail # always exit 0, even with findings현재 디렉터리나 지정한 경로를 검사하고 출력 형식, 제외할 glob, 발견 시 종료 동작을 설정하는 CLI 사용 예시다.
psql -Atc "select transcript from agent_runs where id = 42" | aileaks scan -데이터베이스에서 에이전트 대화 기록을 표준 입력으로 직접 전달해 파일로 저장되지 않은 콘텐츠를 검사한다.
- aileaks는 LLM Provider의 reasoning-trace 블록을 복호화하지 않고 알려진 구조를 탐지한다. — README의 도구 개요와 What it does not do 절
- Anthropic, OpenAI, Google의 Provider별 추론 흔적 필드가 탐지 대상에 포함된다. — What it detects (v1)의 Provider·Block shape·Severity 표
- 구조적 JSON 탐지와 비JSON 정규식 탐지는 각각 structural과 text 신뢰도로 구분되고 중복 결과가 제거된다. — What it detects (v1) 아래 confidence 설명 문단
- 발견 항목이 있으면 종료 코드 1을 반환해 CI 파이프라인의 게이트로 사용할 수 있다. — CLI 절의 Exit code 설명과 GitHub Action 설정 예시
- uses: sarthakuwar/aileaks@v0
with:
path: .
fail-on-findings: "true"GitHub Action에서 저장소 전체를 검사하고 탐지 결과가 있으면 작업을 실패시키는 CI 설정이다.
import { scanPath } from "aileaks";
const findings = await scanPath("./logs");TypeScript 코드에서 scanPath를 호출해 로그 디렉터리의 탐지 결과를 프로그래밍 방식으로 가져온다.
용어 해설
- 추론 흔적(Reasoning Trace)
- — LLM 응답과 함께 제공되는 내부 추론 관련 데이터 블록이다. Anthropic의 redacted_thinking.data, OpenAI의 reasoning.encrypted_content, Google의 thoughtSignature처럼 암호문과 유사한 형태로 전달되며, 로그에 남으면 민감 정보가 포함될 가능성이 있어 비밀값처럼 관리해야 한다.
- 암호화된 사고 과정(Encrypted Chain-of-Thought)
- — 모델의 추론 상태나 사고 과정에 해당하는 데이터를 외부에서 읽기 어렵도록 변환한 값이다. 일부 Provider는 응답에 이 블록을 포함해 후속 대화나 도구 호출에서 상태를 이어가지만, 원문 로그에 보관하면 보안 위험이 생길 수 있다.
- JSON Lines(JSONL)
- — 각 줄에 하나의 JSON 객체를 저장하는 로그 형식이다. aileaks는 JSON과 JSONL을 구조적으로 파싱한 뒤 Provider별 필드와 값의 정확한 형태를 확인해 정규식보다 높은 신뢰도의 탐지 결과를 생성한다.
- CI 파이프라인(CI Pipeline)
- — 코드 변경 때마다 빌드·테스트·검사를 자동 실행하는 처리 흐름이다. aileaks는 발견 항목이 있으면 종료 코드 1을 반환하고 없으면 0을 반환하므로 GitHub Action이나 다른 CI 단계에서 로그 유출을 차단하는 게이트로 사용할 수 있다.
- 비밀정보 탐지(Secret Scanning)
- — 저장소와 로그에서 API 키, 비밀번호처럼 외부에 노출되면 안 되는 값을 찾는 보안 검사다. aileaks는 일반적인 비밀정보 전체가 아니라 LLM Provider의 추론 흔적 블록이라는 별도 범주를 맡으며, gitleaks나 trufflehog와 함께 사용하도록 설계됐다.
기술
- aileaks
- Anthropic
- OpenAI
- npm
- npx
- GitHub Action
- gitleaks
- trufflehog
- TypeScript
- JSON
- JSONL
활용 사례
- LLM 응답 로그의 reasoning-trace 블록 검사
- 공개 저장소에 커밋되기 전 CI 산출물 검사
- 데이터베이스에서 추출한 에이전트 transcript의 표준 입력 검사
- GitHub Action을 통한 저장소 보안 게이트 구성
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.