Skip to main content

captcha

Authorization-gated CAPTCHA security evaluation using the pinned ReCAP agent, synthetic dynamic CAPTCHA challenges on loopback, Surf transport proof, and Ask DAG composition. Use when the user says "evaluate CAPTCHA security", "benchmark ReCAP", "test a local CAPTCHA agent", or "measure CAPTCHA robustness".

Zur Installation springen

Quellinformationen

Repository
grahama1970/agent-skills
Letzte Quellaktivität
11. August 2026 um 21:21
Erkannte Sprache von SKILL.md
Englisch
Sterne
5
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
46 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
captcha
description
Authorization-gated CAPTCHA security evaluation using the pinned ReCAP agent, synthetic dynamic CAPTCHA challenges on loopback, Surf transport proof, and Ask DAG composition. Use when the user says "evaluate CAPTCHA security", "benchmark ReCAP", "test a local CAPTCHA agent", or "measure CAPTCHA robustness".
triggers
["evaluate CAPTCHA security","benchmark ReCAP","local CAPTCHA evaluation","test a CAPTCHA agent","measure CAPTCHA robustness","captcha security benchmark"]
provides
["security-scan"]
composes
["surf","agentic-evals"]
complies
["best-practices-skills","best-practices-python","best-practices-security"]
runtime_self_improvement
basic
taxonomy
["security","validation","browser","resilience","authorization"]
allowed-tools
["Bash","Read","Write"]
disciplines
["compliance-security","browser-automation","agentic-orchestration"]
# captcha > STOP. Read this entire skill before invoking a live command. `captcha` is a **defensive research and evaluation skill**, not a general CAPTCHA bypass utility. It measures a pinned ReCAP agent against ReCAP's synthetic `dynamic` provider on a literal loopback target. It refuses public hosts, Halligan/real-provider modes, credentials, proxies, stealth, session reuse, and ordinary live-site CAPTCHA solving. When an unrelated browser workflow encounters a CAPTCHA, stop for human handoff. Do not silently route it through this skill. ## Ownership boundaries - **Ask owns orchestration.** Ask declares `captcha` in `composes:` and invokes it through an `ask.dag.v1` `skill.run` node. - **captcha owns authorization, bounded execution, and receipts.** No browser or model action occurs before a typed authorization PASS. - **Surf owns browser-transport proof.** Live runs require a validated `surf.capabilities.v1` artifact plus an isolated exact-URL navigation, challenge-identity observation, screenshot, and created-tab cleanup before ReCAP starts. - **ReCAP owns the benchmark interaction loop.** The approved upstream source is pinned in `references/upstream.json`; it is not vendored or auto-updated. Surf proof establishes the local browser transport contract and proves that a freshly created Surf window remained on the exact authorized loopback challenge. ReCAP performs the synthetic benchmark interaction through its own Playwright runner. Those are separate receipts and must not be conflated. ## Safe default No arguments performs a zero-network readiness report, which makes generic Ask `skill.run` discovery safe: ```bash cd skills/captcha ./run.sh ./run.sh status --json ``` Readiness is `PASS` only when Ask declares the composition, Surf is executable, the storage-backed ReCAP checkout is at the approved commit, and its dedicated Python runtime exists. Missing evidence is `NOT_ESTABLISHED`, never inferred success. ## Authorization first Use JSON manifests conforming to the Pydantic contract and `references/authorization.schema.json`. ```bash ./run.sh authorization-preflight \ --manifest /path/to/authorization.json \ --action plan \ --receipt-out /tmp/captcha-authorization.json \ --json ``` Non-negotiable policy: - `target_url` is the ReCAP dynamic server root and must be literal loopback; - `model_base_url` must also be literal loopback; - provider is exactly `dynamic`; - modes are bounded `once` or `custom` only; - the manifest is time-bounded and explicitly authorizes each action; - all ownership, synthetic-only, non-bypass, and defensive-use acknowledgements are true; - ReCAP commit equals the approved pin. A manifest cannot widen these rules. ## Plan, execute, verify ```bash # Compile the exact argv, environment-key allowlist, artifacts, and blockers. ./run.sh plan \ --manifest /path/to/authorization.json \ --recap-root /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent \ --recap-python /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent/.venv/bin/python \ --output-root /mnt/storage12tb/skills/captcha/outputs \ --out /tmp/captcha-plan.json \ --json # Live effects require both manifest authorization and --execute. ./run.sh evaluate \ --manifest /path/to/authorization.json \ --recap-root /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent \ --recap-python /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent/.venv/bin/python \ --output-root /mnt/storage12tb/skills/captcha/outputs \ --execute \ --json # Re-hash and validate a completed or blocked run without re-execution. ./run.sh verify --run-dir /mnt/storage12tb/skills/captcha/outputs/<run-id> --json ``` Generated evidence includes `request.json`, authorization and plan receipts, Surf capabilities, `surf-target-preflight.json`, its PNG screenshot, independent HTTP target and model-catalog preflights, append-only events, digest-bound status, ReCAP stdout and stderr, the upstream summary, and `captcha.run-receipt.json`. A `PASS` claim is bounded to the exact commit, manifest, local model, synthetic tasks, and hashes recorded by that run. ## Compose through Ask Generate the typed DAG rather than hand-writing a shell chain: ```bash ./run.sh ask-dag \ --manifest /path/to/authorization.json \ --recap-root /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent \ --recap-python /mnt/storage12tb/skills/captcha/vendor/ReCAP-Agent/.venv/bin/python \ --output-root /mnt/storage12tb/skills/captcha/outputs \ --out /tmp/captcha.ask-dag.json \ --json cd ../ask ./run.sh ask "Run the authorized local ReCAP CAPTCHA evaluation" \ --dag-file /tmp/captcha.ask-dag.json \ --json ``` Ask preserves the DAG and node evidence; `captcha` still owns the authorization and execution gates. An Ask/Tau node completion is not CAPTCHA result proof; closure requires a valid `captcha.run_receipt.v1` and `./run.sh verify` PASS. ## Upstream setup Heavy source, environments, model weights, screenshots, and runs belong under `/mnt/storage12tb/skills/captcha`; do not store them in the repository. Installation is deliberate and never performed by the runtime: ```bash mkdir -p /mnt/storage12tb/skills/captcha/vendor cd /mnt/storage12tb/skills/captcha/vendor git clone https://github.com/ASTRAL-Group/ReCAP-Agent.git git -C ReCAP-Agent checkout 577c7728ed159756a6cb6cbd1a58897fe288f73e python3.11 -m venv ReCAP-Agent/.venv ReCAP-Agent/.venv/bin/pip install \ -r ReCAP-Agent/dynamic_captchas/requirements.txt \ -r ReCAP-Agent/captcha_eval_framework/requirements.txt ReCAP-Agent/.venv/bin/python -m playwright install chromium ``` Start the synthetic target separately from its directory and expose the local ReCAP model through a loopback OpenAI-compatible endpoint. Follow all upstream license and model-access terms. ## Failure semantics Policy, Surf, target, source-pin, runtime, subprocess, summary, or receipt drift has exactly one outcome: non-zero exit plus `BLOCKED` evidence. There is no warning-only bypass, public-host override, provider override, `shell=True`, or fallback that interprets missing output as success. ## Validation ```bash ./sanity.sh ./run.sh eval CAPTCHA_LIVE_E2E=1 ./run.sh eval-live ``` `./run.sh eval` runs the committed `$agentic-evals` v2 fixture with repeated trials, a real entrypoint case, public-target rejection, missing `--execute` rejection, missing-runtime truthfulness, and Ask DAG composition. `./run.sh eval-live` is opt-in because it performs live effects. It requires `CAPTCHA_LIVE_E2E=1` plus a running loopback ReCAP dynamic target, loopback OpenAI-compatible ReCAP model endpoint, Surf transport, pinned ReCAP checkout, and ReCAP Python runtime. It runs a nondeterministic live campaign through `scripts/live_e2e_agentic_eval.sh`: each inner round generates a fresh authorization manifest with a random seed and sampled CAPTCHA type, executes `evaluate --execute`, verifies the emitted `captcha.run_receipt.v1`, and emits a `captcha.nondeterministic_live_agentic_eval.v1` summary. Tune campaign size with `CAPTCHA_LIVE_NONDETERMINISTIC_ROUNDS`; the default is three live inner rounds per `$agentic-evals` trial. `sanity.sh` uses real CLI and filesystem boundaries, validates the local multi-trial agentic eval fixture, validates a positive local manifest, proves a public target is rejected, emits an Ask DAG, compiles Python, and runs unit/integration tests. It does not claim a live ReCAP model run unless `eval-live` is run separately and passes.
Auf GitHub ansehen