ch015-pentest SKILL.md skillA
ch015-pentest from ch015/code-pentester is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add ch015/code-pentester/ch015-pentest@git:20261014.04e275ePins git:20261014.04e275e in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- ch015/code-pentester
- Path
skills/ch015/offsec/pentest/SKILL.md- Versions recorded
- 6
- Latest version
- git:20261014.04e275e, committed Oct 14, 2026
- First version recorded
- Jun 11, 2026
- Size
- 7,729 bytes
- Repository stars
- 4
- License
- MIT
Run CH015 penetration testing workflows for attacker-minded source-code review, exploit scenarios, POC generation, dry-run or live verification, and security findings.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 모의해킹 (Penetration Testing) Skill
> 대상 프로젝트의 소스코드를 공격자 관점에서 분석하여
> 시나리오 기반 취약점 탐색, POC 생성, 선택적 라이브 검증을 수행합니다.
신규 후보와 검증 결과는 [분석 계약](../../../../docs/analysis-contract.md)을 따른다.
새 후보에는 reasoning v3의 사실·미검증 조건·다음 확인·확정/반증 기준을 기록하고,
기존 후보 검증 시 계약을 보존·갱신한다. 코드 수준 입증, 생성한 POC, 실제 실행한 POC는
구분한다. 실행하지 않은 시나리오를 CONFIRMED로 표기하거나 미검증 조건을 삭제하지 않는다.
---
## 서비스 개요
| 항목 | 내용 |
|------|------|
| 서비스명 | 모의해킹 (Pentest) |
| 방법론 | 시나리오 기반 공격 + 방법론 기반 분석 |
| 출력물 | 취약점 상세 + 6-step 영향도 분석 + POC 코드 + 라이브 검증 결과 |
| 코드 수정 | ❌ 없음 (읽기 전용) |
---
## 설계 원칙: 방법론 기반 + 공격자 사고
### 분석 원칙: 방법론, 패턴이 아님
```yaml
Principles:
No_Pattern_Lists: |
"특정 프레임워크 구문, grep 패턴, 시크릿 접두사 목록에 의존하지 않는다.
이런 목록은 닫힌 집합이며, 목록에 없는 위험을 구조적으로 놓친다."
Use_Methodology: |
"행위(무엇이 일어나는가)를 질문하고, AI가 감지된 기술 스택에 맞는
구체적 코드 패턴을 자율적으로 판단하여 탐색한다."
Attacker_Mindset: |
"방어자가 아닌 공격자 관점으로 코드를 읽는다.
'이 기능이 안전한가'가 아니라 '이 기능을 어떻게 악용할 수 있는가'를 질문한다."
Representative_Examples: |
"안티패턴/올바른 패턴은 '대표적 예시'로만 제시.
분석은 이 예시에 한정되지 않으며 — 동일한 구조적 이슈를 가진
모든 변형이 탐지되어야 한다."
```
---
## Phase 구조
```
Phase 0: Recon → 공통 정찰 (common/recon.md 참조)
Phase 0.5: Binding → 정찰 → 분석 컨텍스트 바인딩
…Read the whole file at its exact version.
How to install
mdr add ch015/code-pentester/ch015-pentest@sha256:39ef5b1b1e96ebaaThe line at the top of this page pins the label git:20261014.04e275e, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_cnit6f3i65lmp5bb)
4 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between Jun 11, 2026 and Oct 14, 2026, about one every 25 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261014.04e275e latest | 2026-10-14 | 04e275e | 7,729 B | A | view · diff |
| git:20260908.452d6f7 | 2026-09-08 | 452d6f7 | 7,729 B | A | view · diff |
| git:20260710.27ffb31 | 2026-07-10 | 27ffb31 | 79,419 B | A | view · diff |
| git:20260708.b2b7c90 | 2026-07-08 | b2b7c90 | 79,285 B | A | view · diff |
| git:20260611.c515831 | 2026-06-11 | c515831 | 77,828 B | A | view · diff |
| git:20260611.c544d9a | 2026-06-11 | c544d9a | 76,934 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7729 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
ch015/code-pentester · 4 stars · license MIT · pushed 2026-10-19 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_cnit6f3i65lmp5bb GET https://markdownregistry.com/api/v1/resolve?ref=ch015/code-pentester/ch015-pentest GET https://markdownregistry.com/api/v1/blob/39ef5b1b1e96ebaa6650442abc2c0d578e31ae91e1eefcfd355f97c08a714a65
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.