From 025d2a7a05072e407b67a92097a09c9235e4eacb Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:05 +0000 Subject: [PATCH 01/14] feat: add sqlmap ECC bundle (.claude/ecc-tools.json) --- .claude/ecc-tools.json | 261 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 .claude/ecc-tools.json diff --git a/.claude/ecc-tools.json b/.claude/ecc-tools.json new file mode 100644 index 00000000000..54b08f9a418 --- /dev/null +++ b/.claude/ecc-tools.json @@ -0,0 +1,261 @@ +{ + "version": "1.3", + "schemaVersion": "1.0", + "generatedBy": "ecc-tools", + "generatedAt": "2026-04-09T16:05:09.518Z", + "repo": "https://github.com/Asylum4You/sqlmap", + "profiles": { + "requested": "full", + "recommended": "full", + "effective": "developer", + "requestedAlias": "full", + "recommendedAlias": "full", + "effectiveAlias": "developer" + }, + "requestedProfile": "full", + "profile": "developer", + "recommendedProfile": "full", + "effectiveProfile": "developer", + "tier": "free", + "requestedComponents": [ + "repo-baseline", + "workflow-automation", + "security-audits", + "research-tooling", + "team-rollout", + "governance-controls" + ], + "selectedComponents": [ + "repo-baseline", + "workflow-automation" + ], + "requestedAddComponents": [], + "requestedRemoveComponents": [], + "blockedRemovalComponents": [], + "tierFilteredComponents": [ + "security-audits", + "research-tooling", + "team-rollout", + "governance-controls" + ], + "requestedRootPackages": [ + "runtime-core", + "workflow-pack", + "agentshield-pack", + "research-pack", + "team-config-sync", + "enterprise-controls" + ], + "selectedRootPackages": [ + "runtime-core", + "workflow-pack" + ], + "requestedPackages": [ + "runtime-core", + "workflow-pack", + "agentshield-pack", + "research-pack", + "team-config-sync", + "enterprise-controls" + ], + "requestedAddPackages": [], + "requestedRemovePackages": [], + "selectedPackages": [ + "runtime-core", + "workflow-pack" + ], + "packages": [ + "runtime-core", + "workflow-pack" + ], + "blockedRemovalPackages": [], + "tierFilteredRootPackages": [ + "agentshield-pack", + "research-pack", + "team-config-sync", + "enterprise-controls" + ], + "tierFilteredPackages": [ + "agentshield-pack", + "research-pack", + "team-config-sync", + "enterprise-controls" + ], + "conflictingPackages": [], + "dependencyGraph": { + "runtime-core": [], + "workflow-pack": [ + "runtime-core" + ] + }, + "resolutionOrder": [ + "runtime-core", + "workflow-pack" + ], + "requestedModules": [ + "runtime-core", + "workflow-pack", + "agentshield-pack", + "research-pack", + "team-config-sync", + "enterprise-controls" + ], + "selectedModules": [ + "runtime-core", + "workflow-pack" + ], + "modules": [ + "runtime-core", + "workflow-pack" + ], + "managedFiles": [ + ".claude/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/agents/openai.yaml", + ".claude/identity.json", + ".codex/config.toml", + ".codex/AGENTS.md", + ".codex/agents/explorer.toml", + ".codex/agents/reviewer.toml", + ".codex/agents/docs-researcher.toml", + ".claude/homunculus/instincts/inherited/sqlmap-instincts.yaml", + ".claude/commands/core-settings-paired-update.md", + ".claude/commands/add-or-update-payload-or-query.md", + ".claude/commands/implement-new-option-or-feature.md" + ], + "packageFiles": { + "runtime-core": [ + ".claude/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/agents/openai.yaml", + ".claude/identity.json", + ".codex/config.toml", + ".codex/AGENTS.md", + ".codex/agents/explorer.toml", + ".codex/agents/reviewer.toml", + ".codex/agents/docs-researcher.toml", + ".claude/homunculus/instincts/inherited/sqlmap-instincts.yaml" + ], + "workflow-pack": [ + ".claude/commands/core-settings-paired-update.md", + ".claude/commands/add-or-update-payload-or-query.md", + ".claude/commands/implement-new-option-or-feature.md" + ] + }, + "moduleFiles": { + "runtime-core": [ + ".claude/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/SKILL.md", + ".agents/skills/sqlmap/agents/openai.yaml", + ".claude/identity.json", + ".codex/config.toml", + ".codex/AGENTS.md", + ".codex/agents/explorer.toml", + ".codex/agents/reviewer.toml", + ".codex/agents/docs-researcher.toml", + ".claude/homunculus/instincts/inherited/sqlmap-instincts.yaml" + ], + "workflow-pack": [ + ".claude/commands/core-settings-paired-update.md", + ".claude/commands/add-or-update-payload-or-query.md", + ".claude/commands/implement-new-option-or-feature.md" + ] + }, + "files": [ + { + "moduleId": "runtime-core", + "path": ".claude/skills/sqlmap/SKILL.md", + "description": "Repository-specific Claude Code skill generated from git history." + }, + { + "moduleId": "runtime-core", + "path": ".agents/skills/sqlmap/SKILL.md", + "description": "Codex-facing copy of the generated repository skill." + }, + { + "moduleId": "runtime-core", + "path": ".agents/skills/sqlmap/agents/openai.yaml", + "description": "Codex skill metadata so the repo skill appears cleanly in the skill interface." + }, + { + "moduleId": "runtime-core", + "path": ".claude/identity.json", + "description": "Suggested identity.json baseline derived from repository conventions." + }, + { + "moduleId": "runtime-core", + "path": ".codex/config.toml", + "description": "Repo-local Codex MCP and multi-agent baseline aligned with ECC defaults." + }, + { + "moduleId": "runtime-core", + "path": ".codex/AGENTS.md", + "description": "Codex usage guide that points at the generated repo skill and workflow bundle." + }, + { + "moduleId": "runtime-core", + "path": ".codex/agents/explorer.toml", + "description": "Read-only explorer role config for Codex multi-agent work." + }, + { + "moduleId": "runtime-core", + "path": ".codex/agents/reviewer.toml", + "description": "Read-only reviewer role config focused on correctness and security." + }, + { + "moduleId": "runtime-core", + "path": ".codex/agents/docs-researcher.toml", + "description": "Read-only docs researcher role config for API verification." + }, + { + "moduleId": "runtime-core", + "path": ".claude/homunculus/instincts/inherited/sqlmap-instincts.yaml", + "description": "Continuous-learning instincts derived from repository patterns." + }, + { + "moduleId": "workflow-pack", + "path": ".claude/commands/core-settings-paired-update.md", + "description": "Workflow command scaffold for core-settings-paired-update." + }, + { + "moduleId": "workflow-pack", + "path": ".claude/commands/add-or-update-payload-or-query.md", + "description": "Workflow command scaffold for add-or-update-payload-or-query." + }, + { + "moduleId": "workflow-pack", + "path": ".claude/commands/implement-new-option-or-feature.md", + "description": "Workflow command scaffold for implement-new-option-or-feature." + } + ], + "workflows": [ + { + "command": "core-settings-paired-update", + "path": ".claude/commands/core-settings-paired-update.md" + }, + { + "command": "add-or-update-payload-or-query", + "path": ".claude/commands/add-or-update-payload-or-query.md" + }, + { + "command": "implement-new-option-or-feature", + "path": ".claude/commands/implement-new-option-or-feature.md" + } + ], + "adapters": { + "claudeCode": { + "skillPath": ".claude/skills/sqlmap/SKILL.md", + "identityPath": ".claude/identity.json", + "commandPaths": [ + ".claude/commands/core-settings-paired-update.md", + ".claude/commands/add-or-update-payload-or-query.md", + ".claude/commands/implement-new-option-or-feature.md" + ] + }, + "codex": { + "configPath": ".codex/config.toml", + "agentsGuidePath": ".codex/AGENTS.md", + "skillPath": ".agents/skills/sqlmap/SKILL.md" + } + } +} \ No newline at end of file From 154b537b907c6001c9ec24c151adbdef5b631168 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:06 +0000 Subject: [PATCH 02/14] feat: add sqlmap ECC bundle (.claude/skills/sqlmap/SKILL.md) --- .claude/skills/sqlmap/SKILL.md | 154 +++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 .claude/skills/sqlmap/SKILL.md diff --git a/.claude/skills/sqlmap/SKILL.md b/.claude/skills/sqlmap/SKILL.md new file mode 100644 index 00000000000..32a472831c4 --- /dev/null +++ b/.claude/skills/sqlmap/SKILL.md @@ -0,0 +1,154 @@ +```markdown +# sqlmap Development Patterns + +> Auto-generated skill from repository analysis + +## Overview + +This skill teaches you how to contribute effectively to the sqlmap codebase, a Python-based SQL injection tool. You'll learn the project's coding conventions, how to implement new features, update settings, add payloads, and maintain documentation. The guide covers typical workflows, commit practices, and provides command suggestions for common tasks. + +## Coding Conventions + +- **File Naming:** + Use camelCase for file names. + _Example:_ + ``` + connectHandler.py + optionDict.py + ``` + +- **Import Style:** + Use relative imports within the package. + _Example:_ + ```python + from .common import getUnicode + from ..request import connect + ``` + +- **Export Style:** + Use named exports; avoid wildcard imports. + _Example:_ + ```python + def getUnicode(value): + ... + ``` + +- **Commit Messages:** + - Freeform style, no strict prefixes. + - Average length: ~23 characters. + - Reference issues or features when possible. + +## Workflows + +### Core Settings Paired Update +**Trigger:** When you need to add, update, or fix a feature or bug that requires changing global settings and related logic. +**Command:** `/update-setting` + +1. Edit `lib/core/settings.py` to update, add, or remove a setting or constant. +2. Edit one or more related files to implement or support the change. + _Examples:_ + - `lib/core/common.py` + - `lib/request/connect.py` + - `plugins/dbms/mysql/fingerprint.py` + - `lib/core/agent.py` +3. Commit both changes together, referencing the relevant issue or feature. + +_Example:_ +```python +# lib/core/settings.py +NEW_FEATURE_ENABLED = True + +# lib/core/common.py +from .settings import NEW_FEATURE_ENABLED + +if NEW_FEATURE_ENABLED: + # new logic here +``` + +--- + +### Add or Update Payload or Query +**Trigger:** When you want to support new database payloads, queries, or exfiltration techniques. +**Command:** `/add-payload` + +1. Edit or add a file in: + - `data/xml/payloads/*.xml` + - `data/xml/queries.xml` + - `data/procs/oracle/*.sql` +2. Optionally, update `lib/core/settings.py` to register or reference the new payload/query. +3. Commit both changes together. + +_Example:_ +```xml + + + boolean_blind + SELECT ... + +``` + +--- + +### Implement New Option or Feature +**Trigger:** When introducing a new CLI option or a major feature. +**Command:** `/add-option` + +1. Edit `lib/core/settings.py` to add new option constants or defaults. +2. Edit `lib/parse/cmdline.py` to parse the new option. +3. Edit `lib/core/option.py` and/or `lib/core/optiondict.py` to handle the new option. +4. Edit `sqlmap.conf` to document the new option. +5. Edit or add implementation files as needed (e.g., `lib/core/agent.py`, `lib/techniques/union/test.py`). +6. Commit all related changes together. + +_Example:_ +```python +# lib/core/settings.py +NEW_OPTION = False + +# lib/parse/cmdline.py +parser.add_option("--new-option", action="store_true", dest="new_option", help="Enable new option") + +# lib/core/option.py +if conf.new_option: + # handle new option +``` + +--- + +### Documentation or README Update +**Trigger:** When updating documentation or adding a new translation. +**Command:** `/update-docs` + +1. Edit or add files in `doc/translations/` or the main `README.md`. +2. Optionally, update `lib/core/settings.py` if documentation reflects a new/changed feature. +3. Commit documentation changes. + +_Example:_ +``` +# doc/translations/README-de-DE.md +# sqlmap Dokumentation (Deutsch) +... +``` + +## Testing Patterns + +- **Framework:** Unknown (not explicitly detected). +- **Test File Pattern:** Files matching `*.test.*` +- **Typical Test Location:** Scattered; look for files with `.test.` in their names. +- **Style:** No standard framework detected; tests may be run manually or with custom scripts. + +_Example:_ +``` +lib/core/testing.py +lib/techniques/union/test.py +``` + +## Commands + +| Command | Purpose | +|-----------------|-------------------------------------------------------| +| /update-setting | Update or fix a feature by changing settings and logic| +| /add-payload | Add or update a SQL payload or query | +| /add-option | Add a new command-line option or major feature | +| /update-docs | Update documentation or add a translation | +``` \ No newline at end of file From 177e3233a3c715e336818fdfbe145211f7f107b1 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:08 +0000 Subject: [PATCH 03/14] feat: add sqlmap ECC bundle (.agents/skills/sqlmap/SKILL.md) --- .agents/skills/sqlmap/SKILL.md | 154 +++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 .agents/skills/sqlmap/SKILL.md diff --git a/.agents/skills/sqlmap/SKILL.md b/.agents/skills/sqlmap/SKILL.md new file mode 100644 index 00000000000..32a472831c4 --- /dev/null +++ b/.agents/skills/sqlmap/SKILL.md @@ -0,0 +1,154 @@ +```markdown +# sqlmap Development Patterns + +> Auto-generated skill from repository analysis + +## Overview + +This skill teaches you how to contribute effectively to the sqlmap codebase, a Python-based SQL injection tool. You'll learn the project's coding conventions, how to implement new features, update settings, add payloads, and maintain documentation. The guide covers typical workflows, commit practices, and provides command suggestions for common tasks. + +## Coding Conventions + +- **File Naming:** + Use camelCase for file names. + _Example:_ + ``` + connectHandler.py + optionDict.py + ``` + +- **Import Style:** + Use relative imports within the package. + _Example:_ + ```python + from .common import getUnicode + from ..request import connect + ``` + +- **Export Style:** + Use named exports; avoid wildcard imports. + _Example:_ + ```python + def getUnicode(value): + ... + ``` + +- **Commit Messages:** + - Freeform style, no strict prefixes. + - Average length: ~23 characters. + - Reference issues or features when possible. + +## Workflows + +### Core Settings Paired Update +**Trigger:** When you need to add, update, or fix a feature or bug that requires changing global settings and related logic. +**Command:** `/update-setting` + +1. Edit `lib/core/settings.py` to update, add, or remove a setting or constant. +2. Edit one or more related files to implement or support the change. + _Examples:_ + - `lib/core/common.py` + - `lib/request/connect.py` + - `plugins/dbms/mysql/fingerprint.py` + - `lib/core/agent.py` +3. Commit both changes together, referencing the relevant issue or feature. + +_Example:_ +```python +# lib/core/settings.py +NEW_FEATURE_ENABLED = True + +# lib/core/common.py +from .settings import NEW_FEATURE_ENABLED + +if NEW_FEATURE_ENABLED: + # new logic here +``` + +--- + +### Add or Update Payload or Query +**Trigger:** When you want to support new database payloads, queries, or exfiltration techniques. +**Command:** `/add-payload` + +1. Edit or add a file in: + - `data/xml/payloads/*.xml` + - `data/xml/queries.xml` + - `data/procs/oracle/*.sql` +2. Optionally, update `lib/core/settings.py` to register or reference the new payload/query. +3. Commit both changes together. + +_Example:_ +```xml + + + boolean_blind + SELECT ... + +``` + +--- + +### Implement New Option or Feature +**Trigger:** When introducing a new CLI option or a major feature. +**Command:** `/add-option` + +1. Edit `lib/core/settings.py` to add new option constants or defaults. +2. Edit `lib/parse/cmdline.py` to parse the new option. +3. Edit `lib/core/option.py` and/or `lib/core/optiondict.py` to handle the new option. +4. Edit `sqlmap.conf` to document the new option. +5. Edit or add implementation files as needed (e.g., `lib/core/agent.py`, `lib/techniques/union/test.py`). +6. Commit all related changes together. + +_Example:_ +```python +# lib/core/settings.py +NEW_OPTION = False + +# lib/parse/cmdline.py +parser.add_option("--new-option", action="store_true", dest="new_option", help="Enable new option") + +# lib/core/option.py +if conf.new_option: + # handle new option +``` + +--- + +### Documentation or README Update +**Trigger:** When updating documentation or adding a new translation. +**Command:** `/update-docs` + +1. Edit or add files in `doc/translations/` or the main `README.md`. +2. Optionally, update `lib/core/settings.py` if documentation reflects a new/changed feature. +3. Commit documentation changes. + +_Example:_ +``` +# doc/translations/README-de-DE.md +# sqlmap Dokumentation (Deutsch) +... +``` + +## Testing Patterns + +- **Framework:** Unknown (not explicitly detected). +- **Test File Pattern:** Files matching `*.test.*` +- **Typical Test Location:** Scattered; look for files with `.test.` in their names. +- **Style:** No standard framework detected; tests may be run manually or with custom scripts. + +_Example:_ +``` +lib/core/testing.py +lib/techniques/union/test.py +``` + +## Commands + +| Command | Purpose | +|-----------------|-------------------------------------------------------| +| /update-setting | Update or fix a feature by changing settings and logic| +| /add-payload | Add or update a SQL payload or query | +| /add-option | Add a new command-line option or major feature | +| /update-docs | Update documentation or add a translation | +``` \ No newline at end of file From aaf09e0e3179b39d0e86143d251933f37231a5ab Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:09 +0000 Subject: [PATCH 04/14] feat: add sqlmap ECC bundle (.agents/skills/sqlmap/agents/openai.yaml) --- .agents/skills/sqlmap/agents/openai.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .agents/skills/sqlmap/agents/openai.yaml diff --git a/.agents/skills/sqlmap/agents/openai.yaml b/.agents/skills/sqlmap/agents/openai.yaml new file mode 100644 index 00000000000..1848af3b8ef --- /dev/null +++ b/.agents/skills/sqlmap/agents/openai.yaml @@ -0,0 +1,6 @@ +interface: + display_name: "Sqlmap" + short_description: "Repo-specific patterns and workflows for sqlmap" + default_prompt: "Use the sqlmap repo skill to follow existing architecture, testing, and workflow conventions." +policy: + allow_implicit_invocation: true \ No newline at end of file From 12e7b4a8da7d5a650ac23a98b81e01bb091e11eb Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:10 +0000 Subject: [PATCH 05/14] feat: add sqlmap ECC bundle (.claude/identity.json) --- .claude/identity.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .claude/identity.json diff --git a/.claude/identity.json b/.claude/identity.json new file mode 100644 index 00000000000..f8b436df0f0 --- /dev/null +++ b/.claude/identity.json @@ -0,0 +1,14 @@ +{ + "version": "2.0", + "technicalLevel": "technical", + "preferredStyle": { + "verbosity": "moderate", + "codeComments": true, + "explanations": true + }, + "domains": [ + "python" + ], + "suggestedBy": "ecc-tools-repo-analysis", + "createdAt": "2026-04-09T16:06:03.737Z" +} \ No newline at end of file From f049a295635ca8afe0649c7259a7f04f1b5f2839 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:11 +0000 Subject: [PATCH 06/14] feat: add sqlmap ECC bundle (.codex/config.toml) --- .codex/config.toml | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .codex/config.toml diff --git a/.codex/config.toml b/.codex/config.toml new file mode 100644 index 00000000000..bc1ee67f608 --- /dev/null +++ b/.codex/config.toml @@ -0,0 +1,48 @@ +#:schema https://developers.openai.com/codex/config-schema.json + +# ECC Tools generated Codex baseline +approval_policy = "on-request" +sandbox_mode = "workspace-write" +web_search = "live" + +[mcp_servers.github] +command = "npx" +args = ["-y", "@modelcontextprotocol/server-github"] + +[mcp_servers.context7] +command = "npx" +args = ["-y", "@upstash/context7-mcp@latest"] + +[mcp_servers.exa] +url = "https://mcp.exa.ai/mcp" + +[mcp_servers.memory] +command = "npx" +args = ["-y", "@modelcontextprotocol/server-memory"] + +[mcp_servers.playwright] +command = "npx" +args = ["-y", "@playwright/mcp@latest", "--extension"] + +[mcp_servers.sequential-thinking] +command = "npx" +args = ["-y", "@modelcontextprotocol/server-sequential-thinking"] + +[features] +multi_agent = true + +[agents] +max_threads = 6 +max_depth = 1 + +[agents.explorer] +description = "Read-only codebase explorer for gathering evidence before changes are proposed." +config_file = "agents/explorer.toml" + +[agents.reviewer] +description = "PR reviewer focused on correctness, security, and missing tests." +config_file = "agents/reviewer.toml" + +[agents.docs_researcher] +description = "Documentation specialist that verifies APIs, framework behavior, and release notes." +config_file = "agents/docs-researcher.toml" \ No newline at end of file From 4cec3aa239595ca0f6276a9a53f1a5cf8ad7105c Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:12 +0000 Subject: [PATCH 07/14] feat: add sqlmap ECC bundle (.codex/AGENTS.md) --- .codex/AGENTS.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .codex/AGENTS.md diff --git a/.codex/AGENTS.md b/.codex/AGENTS.md new file mode 100644 index 00000000000..d7781efffdd --- /dev/null +++ b/.codex/AGENTS.md @@ -0,0 +1,28 @@ +# ECC for Codex CLI + +This supplements the root `AGENTS.md` with a repo-local ECC baseline. + +## Repo Skill + +- Repo-generated Codex skill: `.agents/skills/sqlmap/SKILL.md` +- Claude-facing companion skill: `.claude/skills/sqlmap/SKILL.md` +- Keep user-specific credentials and private MCPs in `~/.codex/config.toml`, not in this repo. + +## MCP Baseline + +Treat `.codex/config.toml` as the default ECC-safe baseline for work in this repository. +The generated baseline enables GitHub, Context7, Exa, Memory, Playwright, and Sequential Thinking. + +## Multi-Agent Support + +- Explorer: read-only evidence gathering +- Reviewer: correctness, security, and regression review +- Docs researcher: API and release-note verification + +## Workflow Files + +- `.claude/commands/core-settings-paired-update.md` +- `.claude/commands/add-or-update-payload-or-query.md` +- `.claude/commands/implement-new-option-or-feature.md` + +Use these workflow files as reusable task scaffolds when the detected repository workflows recur. \ No newline at end of file From cf2852a05ca44e999b2e3ff786ad5ceac5b8c4b1 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:13 +0000 Subject: [PATCH 08/14] feat: add sqlmap ECC bundle (.codex/agents/explorer.toml) --- .codex/agents/explorer.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .codex/agents/explorer.toml diff --git a/.codex/agents/explorer.toml b/.codex/agents/explorer.toml new file mode 100644 index 00000000000..732df7aff20 --- /dev/null +++ b/.codex/agents/explorer.toml @@ -0,0 +1,9 @@ +model = "gpt-5.4" +model_reasoning_effort = "medium" +sandbox_mode = "read-only" + +developer_instructions = """ +Stay in exploration mode. +Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them. +Prefer targeted search and file reads over broad scans. +""" \ No newline at end of file From 4221df0604f26956e4c5f5086d55bef6762db039 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:14 +0000 Subject: [PATCH 09/14] feat: add sqlmap ECC bundle (.codex/agents/reviewer.toml) --- .codex/agents/reviewer.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .codex/agents/reviewer.toml diff --git a/.codex/agents/reviewer.toml b/.codex/agents/reviewer.toml new file mode 100644 index 00000000000..b13ed9cf1ff --- /dev/null +++ b/.codex/agents/reviewer.toml @@ -0,0 +1,9 @@ +model = "gpt-5.4" +model_reasoning_effort = "high" +sandbox_mode = "read-only" + +developer_instructions = """ +Review like an owner. +Prioritize correctness, security, behavioral regressions, and missing tests. +Lead with concrete findings and avoid style-only feedback unless it hides a real bug. +""" \ No newline at end of file From e586ae6ee4ec055716593bb349432bd234212895 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:15 +0000 Subject: [PATCH 10/14] feat: add sqlmap ECC bundle (.codex/agents/docs-researcher.toml) --- .codex/agents/docs-researcher.toml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .codex/agents/docs-researcher.toml diff --git a/.codex/agents/docs-researcher.toml b/.codex/agents/docs-researcher.toml new file mode 100644 index 00000000000..0daae570b16 --- /dev/null +++ b/.codex/agents/docs-researcher.toml @@ -0,0 +1,9 @@ +model = "gpt-5.4" +model_reasoning_effort = "medium" +sandbox_mode = "read-only" + +developer_instructions = """ +Verify APIs, framework behavior, and release-note claims against primary documentation before changes land. +Cite the exact docs or file paths that support each claim. +Do not invent undocumented behavior. +""" \ No newline at end of file From 56e52fee096561c718df37534db172e5bcae5e34 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:16 +0000 Subject: [PATCH 11/14] feat: add sqlmap ECC bundle (.claude/homunculus/instincts/inherited/sqlmap-instincts.yaml) --- .../instincts/inherited/sqlmap-instincts.yaml | 468 ++++++++++++++++++ 1 file changed, 468 insertions(+) create mode 100644 .claude/homunculus/instincts/inherited/sqlmap-instincts.yaml diff --git a/.claude/homunculus/instincts/inherited/sqlmap-instincts.yaml b/.claude/homunculus/instincts/inherited/sqlmap-instincts.yaml new file mode 100644 index 00000000000..263a88b267b --- /dev/null +++ b/.claude/homunculus/instincts/inherited/sqlmap-instincts.yaml @@ -0,0 +1,468 @@ +# Instincts generated from https://github.com/Asylum4You/sqlmap +# Generated: 2026-04-09T16:06:03.737Z +# Version: 2.0 +# NOTE: This file supplements (does not replace) any existing curated instincts. +# High-confidence manually curated instincts should be preserved alongside these. + +--- +id: sqlmap-commit-length +trigger: "when writing a commit message" +confidence: 0.6 +domain: git +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Commit Length + +## Action + +Keep commit messages concise (~23 characters) + +## Evidence + +- Average commit message length: 23 chars +- Based on 100 commits + +--- +id: sqlmap-naming-files +trigger: "when creating a new file" +confidence: 0.8 +domain: code-style +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Naming Files + +## Action + +Use camelCase naming convention + +## Evidence + +- Analyzed file naming patterns in repository +- Dominant pattern: camelCase + +--- +id: sqlmap-import-relative +trigger: "when importing modules" +confidence: 0.75 +domain: code-style +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Import Relative + +## Action + +Use relative imports for project files + +## Evidence + +- Import analysis shows relative import pattern +- Example: import { x } from '../lib/x' + +--- +id: sqlmap-export-style +trigger: "when exporting from a module" +confidence: 0.7 +domain: code-style +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Export Style + +## Action + +Prefer named exports + +## Evidence + +- Export pattern analysis +- Dominant style: named + +--- +id: sqlmap-test-separate +trigger: "when writing tests" +confidence: 0.8 +domain: testing +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Test Separate + +## Action + +Place tests in the tests/ or __tests__/ directory, mirroring src structure + +## Evidence + +- Separate test directory pattern detected +- Tests live in dedicated test folders + +--- +id: sqlmap-workflow-core-settings-paired-update +trigger: "when doing core settings paired update" +confidence: 0.9 +domain: workflow +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Workflow Core Settings Paired Update + +## Action + +Follow the core-settings-paired-update workflow: +1. Edit lib/core/settings.py to update/add/remove a setting or constant. +2. Edit one or more related files (e.g., lib/core/common.py, lib/request/connect.py, plugins/dbms/*/fingerprint.py, lib/core/agent.py, etc.) to implement or support the change. +3. Commit both changes together with a reference to the issue or feature. + +## Evidence + +- Workflow detected from commit patterns +- Frequency: ~8x per month +- Files: lib/core/settings.py, lib/core/common.py, lib/request/connect.py + +--- +id: sqlmap-workflow-add-or-update-payload-or-query +trigger: "when doing add or update payload or query" +confidence: 0.6 +domain: workflow +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Workflow Add Or Update Payload Or Query + +## Action + +Follow the add-or-update-payload-or-query workflow: +1. Edit or add a file in data/xml/payloads/*.xml or data/xml/queries.xml or data/procs/oracle/*.sql. +2. Optionally, update lib/core/settings.py to register or reference the new payload/query. +3. Commit both changes together. + +## Evidence + +- Workflow detected from commit patterns +- Frequency: ~2x per month +- Files: data/xml/payloads/boolean_blind.xml, data/xml/queries.xml, data/procs/oracle/dns_request.sql + +--- +id: sqlmap-workflow-implement-new-option-or-feature +trigger: "when doing implement new option or feature" +confidence: 0.55 +domain: workflow +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Workflow Implement New Option Or Feature + +## Action + +Follow the implement-new-option-or-feature workflow: +1. Edit lib/core/settings.py to add new option constants or defaults. +2. Edit lib/parse/cmdline.py to parse the new option. +3. Edit lib/core/option.py and/or lib/core/optiondict.py to handle the new option. +4. Edit sqlmap.conf to document the new option. +5. Edit or add implementation files as needed (e.g., lib/core/agent.py, lib/techniques/union/test.py). +6. Commit all related changes together. + +## Evidence + +- Workflow detected from commit patterns +- Frequency: ~1x per month +- Files: lib/core/settings.py, lib/parse/cmdline.py, lib/core/option.py + +--- +id: sqlmap-workflow-documentation-or-readme-update +trigger: "when doing documentation or readme update" +confidence: 0.55 +domain: workflow +source: repo-analysis +source_repo: https://github.com/Asylum4You/sqlmap +--- + +# Sqlmap Workflow Documentation Or Readme Update + +## Action + +Follow the documentation-or-readme-update workflow: +1. Edit or add files in doc/translations/ or the main README.md. +2. Optionally, update lib/core/settings.py if documentation reflects a new/changed feature. +3. Commit documentation changes. + +## Evidence + +- Workflow detected from commit patterns +- Frequency: ~1x per month +- Files: README.md, doc/translations/README-in-HI.md, doc/translations/README-de-DE.md + +--- +id: sqlmap-instinct-file-naming-camelCase +trigger: "When creating or renaming a Python file in the codebase." +confidence: 0.85 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct File Naming CamelCase + +## Action + +Name the file using camelCase (e.g., myModule.py). + +## Evidence + +- Pattern in namingConventions.files: camelCase +- Observed in lib/core/settings.py, lib/core/common.py + +--- +id: sqlmap-instinct-function-naming-camelCase +trigger: "When defining a function in Python source code." +confidence: 0.8 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Function Naming CamelCase + +## Action + +Name the function using camelCase (e.g., parseInput()). + +## Evidence + +- Pattern in namingConventions.functions: camelCase +- Seen in lib/core/common.py + +--- +id: sqlmap-instinct-class-naming-PascalCase +trigger: "When defining a class in Python source code." +confidence: 0.8 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Class Naming PascalCase + +## Action + +Name the class using PascalCase (e.g., SqlmapAgent). + +## Evidence + +- Pattern in namingConventions.classes: PascalCase +- Seen in lib/core/agent.py + +--- +id: sqlmap-instinct-constant-naming-SCREAMING_SNAKE_CASE +trigger: "When defining a constant in Python source code." +confidence: 0.85 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Constant Naming SCREAMING_SNAKE_CASE + +## Action + +Name the constant in SCREAMING_SNAKE_CASE (e.g., DEFAULT_TIMEOUT). + +## Evidence + +- Pattern in namingConventions.constants: SCREAMING_SNAKE_CASE +- Seen in lib/core/settings.py + +--- +id: sqlmap-instinct-relative-imports +trigger: "When importing modules within the package." +confidence: 0.8 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Relative Imports + +## Action + +Use relative imports (e.g., from .common import ...). + +## Evidence + +- Pattern in importStyle: relative +- Seen in lib/core/common.py + +--- +id: sqlmap-instinct-named-exports +trigger: "When exporting functions or classes from a module." +confidence: 0.8 +domain: code-style +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Named Exports + +## Action + +Use named exports (explicitly list exported symbols). + +## Evidence + +- Pattern in exportStyle: named +- Seen in __all__ usage in modules + +--- +id: sqlmap-instinct-test-location-separate +trigger: "When adding or updating tests." +confidence: 0.8 +domain: testing +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Test Location Separate + +## Action + +Place test files in a separate test directory, not mixed with source code. + +## Evidence + +- Pattern in architecture.testLocation: separate +- Seen in test folder structure + +--- +id: sqlmap-instinct-test-file-naming +trigger: "When naming a test file." +confidence: 0.75 +domain: testing +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Test File Naming + +## Action + +Name test files to reflect the module or feature being tested, using camelCase. + +## Evidence + +- Pattern in namingConventions.files: camelCase +- Seen in lib/techniques/union/test.py + +--- +id: sqlmap-instinct-commit-message-format +trigger: "When writing a git commit message." +confidence: 0.85 +domain: git +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Commit Message Format + +## Action + +Start the commit message with a lowercase verb or prefix (e.g., fix:, chore:, update:), optionally reference an issue (e.g., Fixes #1234), and keep the message concise (~23 characters). + +## Evidence + +- Seen in commit: 'Update: Indonesian documentation. (#5588)' +- Seen in commit: 'fixed: sqlite3.OperationalError: table logs already exists (#5677)' +- Seen in commit: 'chore: remove repetitive words (#5687)' +- Pattern: averageLength: 23 + +--- +id: sqlmap-instinct-core-settings-paired-update +trigger: "When a feature or bug fix requires changing global settings and related logic." +confidence: 0.9 +domain: workflow +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Core Settings Paired Update + +## Action + +Edit lib/core/settings.py and one or more related files (e.g., core, plugin, or utility modules), then commit all changes together referencing the issue or feature. + +## Evidence + +- Workflow: core-settings-paired-update +- Commit pattern: paired changes to lib/core/settings.py and related files +- Example: 'Edit lib/core/settings.py to update/add/remove a setting or constant.' + +--- +id: sqlmap-instinct-add-or-update-payload-or-query +trigger: "When supporting a new database payload, query, or exfiltration technique." +confidence: 0.88 +domain: workflow +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Add Or Update Payload Or Query + +## Action + +Edit or add a file in data/xml/payloads/*.xml, data/xml/queries.xml, or data/procs/oracle/*.sql, optionally update lib/core/settings.py, and commit both changes together. + +## Evidence + +- Workflow: add-or-update-payload-or-query +- Example: 'Edit or add a file in data/xml/payloads/*.xml or data/xml/queries.xml or data/procs/oracle/*.sql.' + +--- +id: sqlmap-instinct-implement-new-option-or-feature +trigger: "When introducing a new CLI option or major feature." +confidence: 0.85 +domain: workflow +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Implement New Option Or Feature + +## Action + +Edit lib/core/settings.py, lib/parse/cmdline.py, lib/core/option.py, lib/core/optiondict.py, sqlmap.conf, and implementation files as needed, then commit all related changes together. + +## Evidence + +- Workflow: implement-new-option-or-feature +- Example: 'Edit lib/core/settings.py to add new option constants or defaults.' + +--- +id: sqlmap-instinct-documentation-or-readme-update +trigger: "When updating documentation or adding a new translation." +confidence: 0.83 +domain: workflow +source: repo-analysis +source_repo: Asylum4You/sqlmap +--- + +# Sqlmap Instinct Documentation Or Readme Update + +## Action + +Edit or add files in doc/translations/ or README.md, optionally update lib/core/settings.py, and commit documentation changes. + +## Evidence + +- Workflow: documentation-or-readme-update +- Example: 'Edit or add files in doc/translations/ or the main README.md.' + From 04e43fd6bf4caccbc3a49995d2944842253fa4a3 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:17 +0000 Subject: [PATCH 12/14] feat: add sqlmap ECC bundle (.claude/commands/core-settings-paired-update.md) --- .../commands/core-settings-paired-update.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .claude/commands/core-settings-paired-update.md diff --git a/.claude/commands/core-settings-paired-update.md b/.claude/commands/core-settings-paired-update.md new file mode 100644 index 00000000000..b16dc472dc8 --- /dev/null +++ b/.claude/commands/core-settings-paired-update.md @@ -0,0 +1,40 @@ +--- +name: core-settings-paired-update +description: Workflow command scaffold for core-settings-paired-update in sqlmap. +allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"] +--- + +# /core-settings-paired-update + +Use this workflow when working on **core-settings-paired-update** in `sqlmap`. + +## Goal + +Update or fix a feature by modifying lib/core/settings.py together with one or more related core or plugin files. + +## Common Files + +- `lib/core/settings.py` +- `lib/core/common.py` +- `lib/request/connect.py` +- `plugins/dbms/mysql/fingerprint.py` +- `plugins/dbms/h2/fingerprint.py` +- `plugins/dbms/oracle/fingerprint.py` + +## Suggested Sequence + +1. Understand the current state and failure mode before editing. +2. Make the smallest coherent change that satisfies the workflow goal. +3. Run the most relevant verification for touched files. +4. Summarize what changed and what still needs review. + +## Typical Commit Signals + +- Edit lib/core/settings.py to update/add/remove a setting or constant. +- Edit one or more related files (e.g., lib/core/common.py, lib/request/connect.py, plugins/dbms/*/fingerprint.py, lib/core/agent.py, etc.) to implement or support the change. +- Commit both changes together with a reference to the issue or feature. + +## Notes + +- Treat this as a scaffold, not a hard-coded script. +- Update the command if the workflow evolves materially. \ No newline at end of file From d48dbcf6d43b3d074d575e6b45de0df79ff7b9e4 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:18 +0000 Subject: [PATCH 13/14] feat: add sqlmap ECC bundle (.claude/commands/add-or-update-payload-or-query.md) --- .../add-or-update-payload-or-query.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .claude/commands/add-or-update-payload-or-query.md diff --git a/.claude/commands/add-or-update-payload-or-query.md b/.claude/commands/add-or-update-payload-or-query.md new file mode 100644 index 00000000000..d8a1ea5baa1 --- /dev/null +++ b/.claude/commands/add-or-update-payload-or-query.md @@ -0,0 +1,38 @@ +--- +name: add-or-update-payload-or-query +description: Workflow command scaffold for add-or-update-payload-or-query in sqlmap. +allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"] +--- + +# /add-or-update-payload-or-query + +Use this workflow when working on **add-or-update-payload-or-query** in `sqlmap`. + +## Goal + +Add or update a SQL payload or query file, sometimes pairing with core settings changes. + +## Common Files + +- `data/xml/payloads/boolean_blind.xml` +- `data/xml/queries.xml` +- `data/procs/oracle/dns_request.sql` +- `lib/core/settings.py` + +## Suggested Sequence + +1. Understand the current state and failure mode before editing. +2. Make the smallest coherent change that satisfies the workflow goal. +3. Run the most relevant verification for touched files. +4. Summarize what changed and what still needs review. + +## Typical Commit Signals + +- Edit or add a file in data/xml/payloads/*.xml or data/xml/queries.xml or data/procs/oracle/*.sql. +- Optionally, update lib/core/settings.py to register or reference the new payload/query. +- Commit both changes together. + +## Notes + +- Treat this as a scaffold, not a hard-coded script. +- Update the command if the workflow evolves materially. \ No newline at end of file From 16834ce94fea9baf8f0348933f1fc7ad04fd6d39 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:06:19 +0000 Subject: [PATCH 14/14] feat: add sqlmap ECC bundle (.claude/commands/implement-new-option-or-feature.md) --- .../implement-new-option-or-feature.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .claude/commands/implement-new-option-or-feature.md diff --git a/.claude/commands/implement-new-option-or-feature.md b/.claude/commands/implement-new-option-or-feature.md new file mode 100644 index 00000000000..a5cfad8805b --- /dev/null +++ b/.claude/commands/implement-new-option-or-feature.md @@ -0,0 +1,42 @@ +--- +name: implement-new-option-or-feature +description: Workflow command scaffold for implement-new-option-or-feature in sqlmap. +allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"] +--- + +# /implement-new-option-or-feature + +Use this workflow when working on **implement-new-option-or-feature** in `sqlmap`. + +## Goal + +Add a new command-line option or feature, updating settings, option parsing, and configuration. + +## Common Files + +- `lib/core/settings.py` +- `lib/parse/cmdline.py` +- `lib/core/option.py` +- `lib/core/optiondict.py` +- `sqlmap.conf` +- `lib/core/agent.py` + +## Suggested Sequence + +1. Understand the current state and failure mode before editing. +2. Make the smallest coherent change that satisfies the workflow goal. +3. Run the most relevant verification for touched files. +4. Summarize what changed and what still needs review. + +## Typical Commit Signals + +- Edit lib/core/settings.py to add new option constants or defaults. +- Edit lib/parse/cmdline.py to parse the new option. +- Edit lib/core/option.py and/or lib/core/optiondict.py to handle the new option. +- Edit sqlmap.conf to document the new option. +- Edit or add implementation files as needed (e.g., lib/core/agent.py, lib/techniques/union/test.py). + +## Notes + +- Treat this as a scaffold, not a hard-coded script. +- Update the command if the workflow evolves materially. \ No newline at end of file