ai-security-session
Interactive Testing through ShakerScan's `/session` API.
Skill by andriyze
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/andriyze-ai-security-session
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, testing, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ai-security-session
What's inside
- Skill name
ai-security-session- Description
- Interactive Testing through ShakerScan's `/session` API. Use when asked to test manually, open an interactive browser session, exercise authentication workflows, or perform BOLA/IDOR endpoint replay.
- License
- AGPL-3.0
- Instructions
- 75 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- openai.yaml · agents/
- api.md · references/
SKILL.md (first lines)
# Interactive Testing
**Overview**
Use the `/session` API to run interactive, manual security testing with a real headless browser. This is ideal for BOLA/IDOR checks, auth flows, and targeted exploration that automated scans miss.
## Operating Stance
Work evidence-first. Test the authorized workflow thoroughly, but do not assume a weakness exists.
A successful response, cross-user difference, or unusual UI state is a lead until the applicable
authorization and proof checks confirm impact.
## Mandatory Checklist
Maintain this checklist in markdown while you work. Do not move on to synthesis or a final answer until every item is `[x]` or `[n/a]` with a short reason.
- [ ] Check scanner health
- [ ] Bootstrap from an existing scan or explicitly note that none exists
- [ ] Start or identify a session
- [ ] Capture initial target structure, auth context, and candidate endpoints
- [ ] Test at least one high-value path or workflow
- [ ] Save validated findings or clearly state none were validated
- [ ] Record blockers, auth gaps, or scope limits
**Workflow**
1. Check API health at the API URL printed by `./scanner.sh status` (normally
`http://localhost:8080` for a loopback install). If it is not running, ask to start
`./scanner.sh start`.
- For a VPS accessed from another machine over Tailscale, ask to start
`./scanner.sh start --remote` instead. Remote mode can bind only to the Tailscale address, even
for calls made on that VPS, so use both the API and UI URLs printed by `./scanner.sh status`.
2. Bootstrap context from existing scans. If a scan ID is provided, fetch it with `GET /scans/{id}` and `GET /scans/{id}/result`. Otherwise, look for the latest completed scan for the target using `GET /scans?limit=10&target=...`. If no completed scan exists, ask permission before running a new scan. Do not poll after submission; return scan ID and UI link, then stop.
3. Start a session: `POST /session/start` with a full target URL. Keep the returned `session_id`.
4. Explore the app with `/session/{id}/action` and capture screenshots if needed.
5. Use separate `user` contexts for multi‑user testing (BOLA/IDOR).
6. Inspect `/session/{id}` for discovered endpoints and IDs.
7. Test endpoints with `/session/{id}/test-endpoint` using different users.
8. End the session with `DELETE /session/{id}`.
**Actions**
Supported `action` values for `POST /session/{id}/action`:
- `navigate` with `data.url`
- `click` with `data.selector`
- `fill` with `data.selector`, `data.value`
- `set_auth` with a bearer header or cookie data
- `use_credential_profile` with `data.credential_profile_id` for a managed `user1` or `user2` profile
- `submit` with optional `data.selector`
- `wait` with optional `data.selector` or `data.timeout`
- `extract` with optional `data.selector` and `data.attribute`
- `register` with `data.email`, `data.password`, optional `data.extra_fields`
- `login` with `data.email`, `data.password`
**Scope Rules**
Same-origin is enforced by default to prevent SSRF. Cross-origin static assets are allowed so modern
apps still render. Set `allow_out_of_scope: true` only when the user has explicitly authorized that
additional origin.
**BOLA/IDOR Pattern**
1. Apply distinct managed profiles or register/login separately as `user1` and `user2`.
2. Verify the profiles represent distinct account identities.
3. As `user1`, create or view a resource and capture its identifier.
4. Replay the `user1` identifier as `user2`.
5. Compare with an owner control and a denied/nonexistent-object control.
6. Save a finding only when the replay proves unauthorized sensitive access or state change.
**Scan Context Hints**
When a scan is available, extract and use:
- `result.discovery.browser_api_endpoints` for candidate APIs to validate manually.
- `result.discovery.browser_crawl` for known page URLs to navigate.
- `result.discovery.tech.items` to tailor testing approach.
- High/critical findings for reproduction and evidence gathering.
**References**
See `skills/ai-security-session/references/api.md` for endpoint schemas and example payloads.From andriyze/shakerscan, AGPL-3.0.
More from andriyze/shakerscan
- 0.570score
content-discovery
andriyze
Build target-specific content discovery seeds, path lists, and ShakerScan scan inputs from scan results, JS analysis, framework clues, and exposed docs.
SkillAFreshness: AClaude Code +9 - 0.570score
js-analyze
andriyze
Analyze JavaScript bundles, frontend routes, browser-captured APIs, libraries, and secrets for a ShakerScan target or completed scan.
SkillAFreshness: AClaude Code +9 - 0.567score
shakerscan
andriyze
Operate ShakerScan.
SkillAFreshness: AClaude Code +9 - 0.565score
device-triage
andriyze
Explain or triage one registered connected device using existing ShakerScan evidence only.
SkillAFreshness: AClaude Code +9 - 0.565score
review-skills
andriyze
Review ShakerScan skills, commands, and subagents for broken references, invalid Claude Code configuration, prompt anti-patterns, missing hard gates, missing…
SkillAFreshness: AClaude Code +9 - 0.561score
hunt
andriyze
Drive ShakerScan Hunt for an authorized web, API, network, or connected-device target through the target-bound /hunts API.
SkillAFreshness: AClaude Code +9 - 0.561score
device-hunt
andriyze
Compatibility entry point for the unified ShakerScan Hunt workflow.
SkillAFreshness: AClaude Code +9 - 0.556score
research-agent
andriyze
Compatibility entry point for the unified ShakerScan Hunt workflow.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 5
- Last commit (this folder)
- Sep 16, 2026 (1 month ago)
- Last release
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/andriyze/shakerscan
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from andriyze
- 0.570score
content-discovery
andriyze
Build target-specific content discovery seeds, path lists, and ShakerScan scan inputs from scan results, JS analysis, framework clues, and exposed docs.
SkillAFreshness: AClaude Code +9 - 0.570score
js-analyze
andriyze
Analyze JavaScript bundles, frontend routes, browser-captured APIs, libraries, and secrets for a ShakerScan target or completed scan.
SkillAFreshness: AClaude Code +9 - 0.567score
shakerscan
andriyze
Operate ShakerScan.
SkillAFreshness: AClaude Code +9 - 0.565score
device-triage
andriyze
Explain or triage one registered connected device using existing ShakerScan evidence only.
SkillAFreshness: AClaude Code +9 - 0.565score
review-skills
andriyze
Review ShakerScan skills, commands, and subagents for broken references, invalid Claude Code configuration, prompt anti-patterns, missing hard gates, missing…
SkillAFreshness: AClaude Code +9 - 0.561score
hunt
andriyze
Drive ShakerScan Hunt for an authorized web, API, network, or connected-device target through the target-bound /hunts API.
SkillAFreshness: AClaude Code +9
Cite this page
ai-security-session skill. Agent Mart. https://agentmart.dev/skills/andriyze-ai-security-session (last updated 2026-10-24)