
가장 예상치 못한 곳에 귀중한 정보를 숨기세요
[!WARNING] 이 프로젝트는 전적으로 vibe-coding으로 작성되었으며 (아마도 이 저장소에서 부분적으로 표절되었습니다), 작성자는 아이디어가 재미있다고 생각한 _바보_입니다.
SEO 게임 레시피 서문을 사용하여 비밀 메시지를 인코딩하는 도구입니다 (사실 프롬프트는 무엇이든 될 수 있으며, 공유 프롬프트는 인코더와 디코더가 동의하는 키일 뿐입니다).
신경 언어 스테가노그래피를 사용하여 자연스러운 텍스트에 비밀 메시지를 숨깁니다.
양측은 정확히 동일한 모델, 양자화, top-k 값 및 프롬프트를 사용해야 합니다. 차이가 있으면 디코딩이 실패합니다.
--device cpu --no-4bit 플래그로 CPU 모드 사용 가능하지만 속도가 크게 느려집니다# 가상 환경 생성 및 활성화, 필수 패키지 설치
python -m venv env
source env/bin/activate
pip install -r requirements.txt
# 또는 `uv` 사용
uv sync
uv pip install -r requirements.txt
[!NOTE] HuggingFace에 인증하려면
HF_TOKEN환경 변수를 설정하세요.
python main.py encode --message "attack at dawn"
이는 기본 레시피 서문 프롬프트와 Llama-3.2-3B를 사용합니다. 스테고 텍스트는 stdout으로 출력되고 stego_output.txt에 저장됩니다.
python main.py decode --stego-file stego_output.txt
# 사용자 정의 프롬프트로 인코딩
python main.py encode \
--message "meet me at noon" \
--prompt "The best thing about making scrambled eggs is: "
# 디코딩 (프롬프트가 정확히 일치해야 함!)
python main.py decode \
--stego-file stego_output.txt \
--prompt "The best thing about making scrambled eggs is: "
# 다른 모델 사용
python main.py encode \
--model "mistralai/Mistral-7B-v0.3" \
--message "secret message" \
--prompt "Every Sunday morning my grandmother would"
| 플래그 | 기본값 | 설명 |
|---|
--model | meta-llama/Llama-3.2-3B | HuggingFace 모델 이름/경로 |
--prompt | (레시피 SEO 서문) | 컨텍스트 프롬프트 (인코딩/디코딩 간 일치해야 함) |
--message | (대화형) | 인코딩할 비밀 메시지 |
--stego-text | 디코딩할 스테고 텍스트 문자열 | |
--stego-file | stego_output.txt | 스테고 텍스트 파일 (인코딩 시 출력, 디코딩 시 입력) |
--top-k | 256 | CDF용 top-k 어휘 크기 |
--max-tokens | (무제한) | 생성할 최대 토큰 수 |
--device | cuda | 장치: cuda 또는 cpu |
--no-4bit | 꺼짐 | 4비트 양자화 비활성화 (fp16 사용, 더 많은 VRAM 필요) |