본문으로 건너뛰기
cccskills
무료GitHub에 공개

fuzzing-dictionary

Use when a parser, protocol, or file format fuzzer stalls at fixed-token validation gates and needs a coverage dictionary. Not for patching the SUT: use fuzzing-obstacles.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md4.1 KB
  • agents/openai.yaml194 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Fuzzing dictionary

Contract

FieldBound contract
TriggerUser needs a focused dictionary for a parser, protocol, or file format whose coverage stalls at fixed tokens.
AuthorityReversible local: writes only the named local dictionary file, the fuzzer campaign configuration, and transient short-campaign corpus or crash artifacts under a single output directory; rollback is deleting the dictionary file, reverting the configuration flag, and removing the short-campaign output directory. No remote mutation.
Side effectFuzzer dictionary file, campaign configuration, and transient short-campaign corpus or crash artifacts.
DoneThe dictionary parses in the selected fuzzer and its tokens correspond to target validation or parsing gates.

Not for

  • Patching the system under test to bypass obstacles: use fuzzing-obstacles.
  • Coverage measurement or plateau analysis: use fuzzing-coverage-analysis.
  • Remote, credential, publish, deploy, or irreversible changes.

Inputs

Required: the target source, specification, header files, or binary to extract tokens from; the selected fuzzer (libFuzzer, AFL++, or cargo-fuzz). Optional: an existing corpus, known boundary values, and the target's -max_len or equivalent input-length limit.

Procedure

  1. Bound scope: name the single dictionary file path and the single fuzzer configuration flag to set. Do not edit source, harness, or corpus files. Done when: the dictionary path and config flag are named.
  2. Identify the fixed tokens the target compares against: keywords, magic bytes, protocol commands, chunk types, format delimiters, and boundary values. Read them from the target source, header files, specification, or strings of the binary. Done when: fixed tokens are extracted from the target.
  3. Write the dictionary file with one entry per line. Use "token" for bare strings, kw="value" for named entries, # for comments, \\ for backslash, \" for embedded quotes, and \xXX hex escapes for non-printable bytes. Done when: the dictionary file is written with correct syntax.
  4. Keep the dictionary focused. Deduplicate with sort -u. Drop full sentences and prose; keep atomic tokens. Done when: the dictionary has deduplicated atomic entries.
  5. Wire the dictionary into the selected fuzzer with its flag: libFuzzer -dict=./dictionary.dict, AFL++ -x ./dictionary.dict, cargo-fuzz -- -dict=./dictionary.dict. Confirm the fuzzer loads the file without a parse error. Done when: the fuzzer loads the dictionary without error.
  6. Validate effectiveness: confirm the tokens reach the target's validation or parsing gates rather than being filtered before them. Run a short campaign with and without the dictionary to observe whether the tokens reach the gates. If a token is longer than the fuzzer's max input length, shorten it or raise the limit. Done when: the dictionary parses in the selected fuzzer and its tokens correspond to target validation or parsing gates.

Failure and recovery

  • Dictionary parse error: the fuzzer reports a syntax or path error. Fix unescaped quotes, invalid \xXX escapes, or the file path; re-run the load check.
  • Tokens do not correspond to target gates: re-extract from the target source or binary rather than guessing; replace irrelevant entries.
  • Oversized dictionary: an excessive number of entries slows the fuzzer and dilutes useful tokens. Prune to the most relevant entries.
  • Entries ignored: a token exceeds -max_len. Shorten the entry or raise the limit.
  • Partial result: keep only entries that load and correspond to a gate; discard the rest.
  • Non-mutation rule: on any failure, delete the dictionary file and revert the configuration flag before retrying; never leave a broken dictionary wired into the campaign.

Output

A fuzzer-parseable dictionary file plus the single fuzzer configuration flag set to load it, with confirmation that the tokens correspond to target validation or parsing gates.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

af-xdp

무료

Use when creating AF_XDP sockets, configuring UMEM and XSK rings, writing an XDP redirect program, or choosing copy versus zero-copy mode. Not for full kernel bypass: use dpdk.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

Use when a redacted, trimmed agent transcript must be appended to a GitHub PR or issue body, with human approval and preview. Not for automated or model-initiated insertion.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

agents-md

무료

Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential, publish, deploy, or irreversible changes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OutlineDriven/odin-claude-plugin372026년 9월 29일 업데이트

OutlineDriven의 스킬 모두 보기

이 스킬의 문제 신고