К основному содержанию
скилл CX Codex

pentesting-with-aws-security-agent — скилл для Claude Code: пентест

Запускает активный пентест живого веб-приложения через AWS Security Agent и возвращает подтверждённые находки. Нужен, когда пора проверить поверхность атаки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aws/agent-toolkit-for-aws --skill pentesting-with-aws-security-agent -a claude-code
Открыть на GitHub

Что делает pentesting-with-aws-security-agent

Скилл ведёт всю цепочку: регистрирует домен цели, ждёт подтверждения маршрута, создаёт пентест на указанных эндпоинтах и запускает задание в управляемом сервисе AWS. Настройку агента (agent space, роль, бакет) берёт на себя скилл setup-security-agent; если файла .security-agent/config.json в проекте нет, скилл вызывает его по ходу дела.

Пентест идёт от 1 до 24 часов и бьёт по реально работающему приложению. Поэтому перед стартом скилл спрашивает, есть ли у вас право тестировать цель, и без ответа не продолжает. Статус он проверяет не чаще раза в 15 минут, а результат складывает в .security-agent/pentest-{pentest_job_id}.md с разбивкой по критичности.

Понадобится AWS CLI с доступом к securityagent и роль SecurityAgentScanRole. Роль по умолчанию годится для сканирования кода; для пентеста против ресурсов AWS прав может не хватить, и тогда скилл отправит настраивать отдельную роль в консоли AWS.

Какие задачи решает

  • прогнать пентест по эндпоинтам приложения через AWS Security Agent
  • зарегистрировать и подтвердить домен перед активным тестированием
  • следить за ходом долгого пентеста, не дёргая статус каждую минуту
  • собрать подтверждённые находки в отчёт по уровням риска
  • остановить зависший или неактуальный пентест

Примеры запросов агенту

  • Запусти пентест против https://example.com/api/login — мы владеем этим доменом
  • Проверь статус пентеста и покажи новые находки
  • Останови текущий пентест

Как установить pentesting-with-aws-security-agent

1Через Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill pentesting-with-aws-security-agent -a claude-code

2Вручную: положить файлы

~/.claude/skills/pentesting-with-aws-security-agent/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pentesting-with-aws-security-agent/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pentesting-with-aws-security-agent

Как установить pentesting-with-aws-security-agent в Claude Code?

Выполните npx skills add aws/agent-toolkit-for-aws --skill pentesting-with-aws-security-agent -a claude-code. Скилл появится в ~/.claude/skills/pentesting-with-aws-security-agent/SKILL.md.

Что делает pentesting-with-aws-security-agent?

Регистрирует целевой домен, запускает пентест по заданным эндпоинтам в AWS Security Agent, следит за статусом и сохраняет найденные уязвимости в отчёт.

Нужно ли подтверждать право на тестирование?

Да, скилл спрашивает, владеете ли вы целью или имеете явное разрешение, и без подтверждения не начинает. Пентест активный и идёт по работающему приложению.

Исходный текст

SKILL.md · Apache-2.0
---
name: pentesting-with-aws-security-agent
description: Run an AWS Security Agent penetration test against a live web application — registers and verifies the target domain, exercises the supplied endpoints with the managed Security Agent service, and returns verified runtime findings. Use when the user asks to pentest, run a penetration test, test their app's attack surface, find runtime vulnerabilities, register or verify a target domain, or check pentest status / findings.
---

# AWS Security Agent — Penetration Test

This skill handles pentest setup, execution, and findings. Initial Security Agent setup (agent space, role, bucket) is handled by the **`setup-security-agent`** skill — if `.security-agent/config.json` is missing, the pentest workflow auto-runs setup inline first.

Pentests are slow (1-24 hours) and active — they probe a real running app. **Always confirm the user is authorized to test the target** before starting.

---

## Resolving the values you need

The CLI examples below use placeholders. Resolve them at the start of every pentest:

| Placeholder | How to resolve |
|-------------|----------------|
| `<id>` (agent space) | `config.agent_space_id` |
| `<region>` | `config.region` (default `us-east-1`) |
| `<account>` | `aws sts get-caller-identity --query Account --output text` (cache for the rest of the turn) |
| `<role-arn>` | `arn:aws:iam::<account>:role/SecurityAgentScanRole` |
| `<td-id>` | `targetDomainId` returned by `create-target-domain` (cache under `config.target_domains[<domain>]`) |
| `<pentest-id>` | `pentestId` returned by `create-pentest` |
| `<pj-id>` | `pentestJobId` returned by `start-pentest-job` |

## Pre-pentest checks

1. **Read `.security-agent/config.json`.** If missing → tell the user one line — "First pentest in this workspace — running setup first." — and run the `setup-security-agent` workflow inline before continuing.
2. **Verify agent space still exists:**

   ```bash
   aws securityagent batch-get-agent-spaces --agent-space-ids <id>
   ```

   If missing, clear `agent_space_id` from `config.json` and run `setup-security-agent` again.
3. **Resolve account and role ARN** from the table above.
4. **Authorization check:** ask the user "Do you own or have explicit permission to pentest `<target>`?" if it's not obvious from context. Do not proceed without confirmation.

---

## Workflow

### 1. Register target domain (one-time per domain)

```bash
aws securityagent create-target-domain --agent-space-id <id> \
  --target-domain-name <domain> --verification-method HTTP_ROUTE
```

The response includes a verification token / route. Tell the user what to put on their server (typically a `.well-known/...` file or HTTP route returning a token), then:

```bash
aws securityagent verify-target-domain --agent-space-id <id> --target-domain-id <td-id>
```

Persist the verified `target_domain_id` in `.security-agent/config.json` under `target_domains: { "<domain>": "<td-id>" }` so future pentests can reuse it.

### 2. Create a pentest

Ask the user for:

- **Title** (no spaces — use hyphens; default `pentest-<timestamp>`)
- **Endpoints** to test (one or more URIs under the verified domain)

```bash
aws securityagent create-pentest --agent-space-id <id> --title <title> \
  --service-role <role-arn> \
  --assets endpoints=[{uri=https://example.com/api/login},{uri=https://example.com/api/upload}]
```

Capture `pentestId`.

### 3. Start the pentest job

```bash
aws securityagent start-pentest-job --agent-space-id <id> --pentest-id <pentest-id>
```

Capture `pentestJobId`. Append to `.security-agent/pentests.json` (create as `[]` if it doesn't exist yet — the directory itself is already created by setup):

```json
{
  "pentest_id": "p-...",
  "pentest_job_id": "pj-...",
  "agent_space_id": "as-...",
  "title": "pentest-...",
  "endpoints": ["https://..."],
  "started_at": "2026-06-01T20:00:00Z",
  "status": "IN_PROGRESS"
}
```

Tell user: "Pentest started ({pentest_job_id}). Pentests typically run 1-24 hours depending on scope. I'll check every 15 minutes — say 'stop polling' to opt out."

### 4. Polling loop

1. `sleep 900` (15 minutes) between checks. Do not poll faster.
2. Status:

   ```bash
   aws securityagent batch-get-pentest-jobs --agent-space-id <id> --pentest-job-ids <pj-id>
   ```

3. Only respond when `status` changes or on terminal state (`COMPLETED`, `FAILED`, `STOPPED`).
4. On `COMPLETED` → run the Findings workflow.

### 5. Findings

```bash
aws securityagent list-findings --agent-space-id <id> --pentest-job-id <pj-id>
```

If `nextToken` is returned, call again with `--next-token <token>` until empty.

```bash
aws securityagent batch-get-findings --agent-space-id <id> --finding-ids <id1> <id2> ...
```

Present in chat grouped by severity (same icons + format as code scans):

```
🟣 CRITICAL: {name}
   Endpoint: {endpoint}
   {description}
```

Write a full report to `.security-agent/pentest-{pentest_job_id}.md` with every field returned (findingId, name, description, riskLevel, riskType, confidence, status, endpoint, request/response samples if present, and remediationCode if present).

Tell user: "Full details written to `.security-agent/pentest-{pentest_job_id}.md`"

### 6. Stop a pentest

```bash
aws securityagent stop-pentest-job --agent-space-id <id> --pentest-job-id <pj-id>
```

---

## Rules

- **Always confirm authorization** to test the target before starting
- Verify the target domain before creating a pentest — `create-pentest` will fail otherwise
- Reuse a verified `target_domain_id` from `config.json` instead of re-verifying
- Pentest titles must not contain spaces — use hyphens
- Poll every 15 minutes max — pentests are long-running
- Don't auto-restart a failed pentest — show the failure to the user first

---

## Troubleshooting

- **`ValidationException` on `verify-target-domain`** → the verification route isn't responding correctly yet. Ask user to confirm the route is live and serving the expected token.
- **`target domain not verified`** → run verify-target-domain (step 1) again.
- **Pentest stuck in `IN_PROGRESS` for >24 hours** → likely a backend issue or the target is unreachable. Stop and inspect.
- **`AccessDenied` on the service role** → the service role doesn't have the network/runtime permissions a pentest needs. The default `SecurityAgentScanRole` is for code scans only — pentests against AWS resources may need broader permissions. Direct user to the AWS Security Agent console to configure a pentest-specific role.

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Похожие скиллы

Все скиллы по теме «Безопасность» →
git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. CX Codex +1 57 000установок ponytail-audit DietrichGebert Проверяет репозиторий и ранжирует ошибки, риски и лишний код. Подойдёт, если нужен разовый разбор без автоматических правок. CX Codex +1 45 400установок security-audit cloudflare Проверяет кодовую базу на уязвимости и ищет нарушения границ доверия. Пригодится перед релизом или для точечного разбора опасных участков кода. CX Codex +1 54 800установок security-and-hardening addyosmani Помогает проектировать защиту и проверять код на уязвимости при работе с вводом, авторизацией, сессиями и внешними сервисами. Подойдёт перед релизом и при создании функций, которые обрабатывают недоверенные данные. CX Codex +1 70 200установок supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок

Из того же набора137

scanning-with-aws-security-agent Запускает аудит репозитория через AWS Security Agent, загружая архив в S3. Возвращает проверенный список уязвимостей с рекомендациями по исправлению. CX Codex +1 1 500установок setup Скилл запускает настройку подключений к AWS DevOps Agent и AWS Security Agent. Нужен, когда MCP-инструменты не отвечают или вы только начинаете работу с тулкитом. CX Codex +1 1 500установок setup-security-agent Скилл готовит рабочую область к проверкам AWS Security Agent: настраивает агент-спейс, IAM-роль и корзину S3. CX Codex +1 1 500установок chatting-with-aws-devops-agent Скилл отправляет вопросы AWS DevOps Agent для разбора затрат, архитектуры и диагностики. Подходит для короткого диалога по облачной инфраструктуре. CX Codex +1 1 500установок threat-modeling-with-aws-security-agent Скилл запускает моделирование угроз по методологии STRIDE через AWS Security Agent, сравнивая проектную документацию с исходным кодом. CX Codex +1 1 600установок running-release-tests Запускает UI- и API-тесты релиза в AWS DevOps Agent по готовому тест-профилю. Пригодится перед выкаткой, когда нужно проверить сценарии и регрессии. CX Codex +1 1 400установок aws-well-architected-review Проводит ревью рабочей нагрузки по AWS Well-Architected Framework: читает код и IaC, сверяет с живой документацией AWS и выдаёт отчёт с приоритетами. CX Codex +1 1 400установок amazon-neptune Помогает настраивать кластеры Amazon Neptune Database и графы Neptune Analytics для задач GraphRAG, аналитики связей и антифрода. Требует подтверждения перед изменением ресурсов. CX Codex +1 1 400установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой