brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
darkmoon-pentestStart, follow and triage authorized autonomous AI pentest runs on a self-hosted Darkmoon Pro instance through its MCP server.
Independent GitHub snapshot · Automated classification · Original documentation governs
⚠️ AUTHORIZED USE ONLY This skill is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using this tool. Misuse of this tool is illegal and strictly prohibited.
Mandatory confirmation gate Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
- Ask the user to state the exact target URL, IP, account, or resource.
- Ask the user to confirm written authorization and the permitted scope.
- Show the exact command(s) and explain their expected effect.
- Wait for explicit confirmation in the current conversation.
Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
AUTHORIZED USE ONLY: Use this skill only for authorized security assessments, defensive validation, or controlled educational environments.
Darkmoon is an autonomous AI penetration testing platform: an LLM orchestrates specialist agents and offensive tools and proves each finding with a real exploit. The Darkmoon engine and CLI are open source (GPL-3.0). This skill drives a self-hosted Darkmoon Pro instance through the @darkmoon_ai/mcp-server MCP server, which talks to the Pro Dashboard API (DARKMOON_BASE_URL). The MCP server does not work against the open source CLI alone.
The skill covers the four MCP tools the server exposes: run_pentest, get_run_status, list_campaigns and get_findings.
darkmoon MCP server is not configured.Only start a run against a host, URL or scope that the user owns or is explicitly authorized in writing to test. If authorization is not stated, ask before calling run_pentest. Never widen the target beyond what the user named.
The MCP server reads DARKMOON_BASE_URL, DARKMOON_USERNAME and DARKMOON_PASSWORD from its environment. Never ask the user to paste credentials into the conversation.
Call run_pentest with target and, optionally, program, focus and severity. It returns a run_id; the run continues in the background and can take a long time.
Call get_run_status with the run_id. It returns running, completed, error or unknown, plus the five most recent events. Poll sparingly and do not loop tightly.
Call list_campaigns to find the campaign id once the run has produced one.
Call get_findings with the campaign_id. Each finding carries a title, severity, CVSS score, category, status (exploited, confirmed or unconfirmed), endpoint and remediation guidance, plus severity statistics.
{
"mcpServers": {
"darkmoon": {
"command": "npx",
"args": ["-y", "@darkmoon_ai/mcp-server"],
"env": {
"DARKMOON_BASE_URL": "${DARKMOON_BASE_URL}",
"DARKMOON_USERNAME": "${DARKMOON_USERNAME}",
"DARKMOON_PASSWORD": "${DARKMOON_PASSWORD}"
}
}
}
}
User: "Run a pentest on staging.example.com, which we own, and summarize what was exploited."
staging.example.com is in scope and authorized.run_pentest with target: "staging.example.com", keep the returned run_id.get_run_status until the status is completed.list_campaigns, then get_findings for the new campaign.exploited and confirmed findings first, grouped by severity.exploited and confirmed first.unconfirmed findings as leads, and say that findings can include false positives and must be reviewed by a qualified human before anyone acts on them.run_pentest actively tests the target and is not read only. The other three tools are read only.run_pentest launches real offensive tooling against the named target; prefer a staging environment and agreed time windows.npx -y example downloads the published @darkmoon_ai/mcp-server npm package; pin a version in production configurations.