@jakkrichm/create-nexus-devflow 2.10.0 → 2.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/lib/skill-manager.d.ts +10 -1
- package/dist/lib/skill-manager.js +332 -19
- package/dist/lib/skill-manager.js.map +1 -1
- package/dist/scripts/prepare-template.js +7 -0
- package/dist/scripts/prepare-template.js.map +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/bughunter/SKILL.md +104 -0
- package/template/.agents/skills/{tests → setup-tests}/SKILL.md +7 -7
- package/template/.claude/skills/bughunter/SKILL.md +104 -0
- package/template/.claude/skills/{tests → setup-tests}/SKILL.md +7 -7
- package/template/AGENTS.md +5 -1
- package/template/devflow/build-plan.md +8 -0
package/README.md
CHANGED
|
@@ -26,13 +26,13 @@ npx @jakkrichm/create-nexus-devflow@latest
|
|
|
26
26
|
|
|
27
27
|
The installer overlays the DevFlow workflow layer into your workspace:
|
|
28
28
|
- `AGENTS.md` & `CLAUDE.md` (Universal AI guidelines & cross-tool entry point)
|
|
29
|
-
- `.agents/skills/` (
|
|
30
|
-
- `.claude/skills/` (
|
|
29
|
+
- `.agents/skills/` (31 Core Skills for Google Antigravity, OpenAI Codex, Cursor, Copilot)
|
|
30
|
+
- `.claude/skills/` (31 Core Skills for Claude Code)
|
|
31
31
|
- `devflow/ideas.md` (Idea inbox with AI feasibility scoring)
|
|
32
32
|
- `devflow/context/` (Living spec & active delivery context)
|
|
33
33
|
- `devflow/history/` (Categorized delivery archives)
|
|
34
34
|
|
|
35
|
-
The
|
|
35
|
+
The 31 names come from the canonical bundled inventory. Local or Personal Skills
|
|
36
36
|
may coexist in a maintainer workspace, but the package builder excludes them
|
|
37
37
|
unless they are explicitly promoted into that inventory.
|
|
38
38
|
|
|
@@ -4,7 +4,8 @@ export interface InstalledSkillRecord {
|
|
|
4
4
|
version?: string;
|
|
5
5
|
description?: string;
|
|
6
6
|
installedAt: string;
|
|
7
|
-
type?: "git" | "local" | "npm";
|
|
7
|
+
type?: "git" | "local" | "npm" | "compound-knowledge";
|
|
8
|
+
referencePath?: string;
|
|
8
9
|
}
|
|
9
10
|
export interface SkillDetail {
|
|
10
11
|
name: string;
|
|
@@ -33,6 +34,14 @@ export interface RecommendedSkillPreset {
|
|
|
33
34
|
all?: boolean;
|
|
34
35
|
description?: string;
|
|
35
36
|
}
|
|
37
|
+
export declare const KNOWN_SKILL_ALIASES: Record<string, {
|
|
38
|
+
source: string;
|
|
39
|
+
name?: string;
|
|
40
|
+
all?: boolean;
|
|
41
|
+
type?: "git" | "local" | "compound-knowledge";
|
|
42
|
+
referencePath?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
}>;
|
|
36
45
|
export declare const RECOMMENDED_THIRD_PARTY_SKILLS: readonly RecommendedSkillPreset[];
|
|
37
46
|
export interface InstallRecommendedOptions {
|
|
38
47
|
presets?: readonly RecommendedSkillPreset[];
|
|
@@ -6,6 +6,32 @@ import path from "node:path";
|
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
import { loadCoreSkillInventory } from "./core-skill-inventory.js";
|
|
8
8
|
const execFileAsync = promisify(execFile);
|
|
9
|
+
export const KNOWN_SKILL_ALIASES = {
|
|
10
|
+
archify: {
|
|
11
|
+
source: "https://github.com/tt-a1i/archify",
|
|
12
|
+
description: "Interactive technical system architecture, dataflow, and sequence trace diagrams"
|
|
13
|
+
},
|
|
14
|
+
"diagram-design": {
|
|
15
|
+
source: "https://github.com/cathrynlavery/diagram-design",
|
|
16
|
+
description: "39 editorial visual diagram templates (Business, Quadrants, Timelines, Mindmaps, Radar)"
|
|
17
|
+
},
|
|
18
|
+
"9arm-skills": {
|
|
19
|
+
source: "https://github.com/thananon/9arm-skills",
|
|
20
|
+
all: true,
|
|
21
|
+
description: "6 specialized skills (debug-mantra, post-mortem, qwen-agent, scrutinize, management-talk, qwenchance)"
|
|
22
|
+
},
|
|
23
|
+
"9arm": {
|
|
24
|
+
source: "https://github.com/thananon/9arm-skills",
|
|
25
|
+
all: true,
|
|
26
|
+
description: "4 specialized skills (debug-mantra, post-mortem, scrutinize, management-talk)"
|
|
27
|
+
},
|
|
28
|
+
bughunter: {
|
|
29
|
+
source: "https://github.com/elementalsouls/Claude-BugHunter",
|
|
30
|
+
type: "compound-knowledge",
|
|
31
|
+
referencePath: "devflow/.vendor/bughunter",
|
|
32
|
+
description: "Offensive security orchestrator & bug hunting guide"
|
|
33
|
+
}
|
|
34
|
+
};
|
|
9
35
|
export const RECOMMENDED_THIRD_PARTY_SKILLS = Object.freeze([
|
|
10
36
|
{
|
|
11
37
|
source: "https://github.com/tt-a1i/archify",
|
|
@@ -18,7 +44,7 @@ export const RECOMMENDED_THIRD_PARTY_SKILLS = Object.freeze([
|
|
|
18
44
|
{
|
|
19
45
|
source: "https://github.com/thananon/9arm-skills",
|
|
20
46
|
all: true,
|
|
21
|
-
description: "
|
|
47
|
+
description: "4 specialized skills (debug-mantra, post-mortem, scrutinize, management-talk)"
|
|
22
48
|
}
|
|
23
49
|
]);
|
|
24
50
|
const SKILL_NAME_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
@@ -247,9 +273,33 @@ export async function findSkillSourceDirectory(sourceDir, requestedName) {
|
|
|
247
273
|
throw new Error(`Multiple skills found in source (${discovered.length} skills: ${available}). Please specify --name <skill-name> or use --all to install all skills.`);
|
|
248
274
|
}
|
|
249
275
|
export async function installThirdPartySkill(projectRoot, source, options) {
|
|
250
|
-
const
|
|
276
|
+
const alias = KNOWN_SKILL_ALIASES[source.toLowerCase()];
|
|
277
|
+
let effectiveSource = source;
|
|
278
|
+
let isCompound = false;
|
|
279
|
+
let compoundName = "bughunter";
|
|
280
|
+
let compoundRefPath = "devflow/.vendor/bughunter";
|
|
281
|
+
if (alias) {
|
|
282
|
+
effectiveSource = alias.source;
|
|
283
|
+
if (alias.type === "compound-knowledge") {
|
|
284
|
+
isCompound = true;
|
|
285
|
+
compoundName = source.toLowerCase();
|
|
286
|
+
compoundRefPath = alias.referencePath || path.join("devflow", ".vendor", compoundName);
|
|
287
|
+
}
|
|
288
|
+
if (alias.all && options?.all === undefined) {
|
|
289
|
+
options = { ...options, all: true };
|
|
290
|
+
}
|
|
291
|
+
if (alias.name && !options?.name) {
|
|
292
|
+
options = { ...options, name: alias.name };
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
else if (source.includes("Claude-BugHunter")) {
|
|
296
|
+
isCompound = true;
|
|
297
|
+
compoundName = "bughunter";
|
|
298
|
+
compoundRefPath = "devflow/.vendor/bughunter";
|
|
299
|
+
}
|
|
300
|
+
const isGitUrl = /^https?:\/\/|^git@|^ssh:\/\/|\.git$/.test(effectiveSource);
|
|
251
301
|
let tempCloneDir = null;
|
|
252
|
-
let sourceDirectory =
|
|
302
|
+
let sourceDirectory = effectiveSource;
|
|
253
303
|
let coreNameSet = new Set();
|
|
254
304
|
try {
|
|
255
305
|
const inventory = await loadCoreSkillInventory(path.join(projectRoot, AGENT_MANIFEST_PATH));
|
|
@@ -261,17 +311,187 @@ export async function installThirdPartySkill(projectRoot, source, options) {
|
|
|
261
311
|
try {
|
|
262
312
|
if (isGitUrl) {
|
|
263
313
|
tempCloneDir = await fs.mkdtemp(path.join(os.tmpdir(), "nexus-skill-"));
|
|
264
|
-
await execFileAsync("git", ["clone", "--depth", "1",
|
|
314
|
+
await execFileAsync("git", ["clone", "--depth", "1", effectiveSource, tempCloneDir]);
|
|
265
315
|
sourceDirectory = tempCloneDir;
|
|
266
316
|
}
|
|
267
317
|
else {
|
|
268
|
-
sourceDirectory = path.isAbsolute(
|
|
318
|
+
sourceDirectory = path.isAbsolute(effectiveSource) ? effectiveSource : path.resolve(projectRoot, effectiveSource);
|
|
269
319
|
if (!fsSync.existsSync(sourceDirectory)) {
|
|
270
|
-
throw new Error(`Source directory does not exist: ${
|
|
320
|
+
throw new Error(`Source directory does not exist: ${effectiveSource}`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
const recordedSource = options?.overrideSource || effectiveSource;
|
|
324
|
+
const recordedType = isCompound ? "compound-knowledge" : isGitUrl || options?.overrideSource ? "git" : "local";
|
|
325
|
+
if (isCompound) {
|
|
326
|
+
const targetRefDir = path.join(projectRoot, compoundRefPath);
|
|
327
|
+
await fs.mkdir(targetRefDir, { recursive: true });
|
|
328
|
+
const srcSkills = path.join(sourceDirectory, "skills");
|
|
329
|
+
if (fsSync.existsSync(srcSkills)) {
|
|
330
|
+
await fs.cp(srcSkills, path.join(targetRefDir, "skills"), { recursive: true });
|
|
331
|
+
}
|
|
332
|
+
const srcCommands = path.join(sourceDirectory, "commands");
|
|
333
|
+
if (fsSync.existsSync(srcCommands)) {
|
|
334
|
+
await fs.cp(srcCommands, path.join(targetRefDir, "commands"), { recursive: true });
|
|
271
335
|
}
|
|
336
|
+
const srcReports = path.join(sourceDirectory, "docs", "disclosed-reports");
|
|
337
|
+
if (fsSync.existsSync(srcReports)) {
|
|
338
|
+
await fs.cp(srcReports, path.join(targetRefDir, "disclosed-reports"), { recursive: true });
|
|
339
|
+
}
|
|
340
|
+
for (const guideFile of ["ENGAGEMENTS.md", "USAGE.md", "README.md", "INSTALL.md"]) {
|
|
341
|
+
const srcFile = path.join(sourceDirectory, guideFile);
|
|
342
|
+
if (fsSync.existsSync(srcFile)) {
|
|
343
|
+
await fs.copyFile(srcFile, path.join(targetRefDir, guideFile));
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
// Ensure Master Skill is written in .agents and .claude
|
|
347
|
+
const masterContent = `---
|
|
348
|
+
name: ${compoundName}
|
|
349
|
+
description: "Offensive security orchestrator & bug hunting guide. Indexes 83 vulnerability classes, 5-phase methodology (Think, Hunt, Perimeter, Ship), 681 disclosed HackerOne patterns, and JIT reference guides in ${compoundRefPath}/. Use when running /bughunter, performing security reviews, verifying auth/injection risks in /check or /audit, or testing API endpoints for vulnerabilities."
|
|
350
|
+
argument-hint: "[{target, vuln-class, or topic}]"
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
# 🛡️ ${compoundName} - Offensive Security & Vulnerability Assessment Orchestrator
|
|
354
|
+
|
|
355
|
+
$ARGUMENTS
|
|
356
|
+
|
|
357
|
+
\`${compoundName}\` is the master security testing orchestrator in Nexus-DevFlow, bringing the complete power of **Claude-BugHunter** into your development lifecycle with **Zero Token Bloat**.
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## ⚠️ Pre-Flight Check (Knowledge Base Availability)
|
|
362
|
+
|
|
363
|
+
Before executing any BugHunter analysis or security test:
|
|
364
|
+
1. **Check if \`${compoundRefPath}/\` exists in this project using your file inspection tool**.
|
|
365
|
+
2. **If \`${compoundRefPath}/\` is MISSING / NOT INSTALLED**:
|
|
366
|
+
- **DO NOT hallucinate payloads or fake security reports**.
|
|
367
|
+
- Respond immediately to the user in Thai:
|
|
368
|
+
> 💡 **คลังความรู้ BugHunter (83 Vulnerability Classes, Payloads & 681 Disclosed Reports) ยังไม่ได้ถูกดาวน์โหลดในโปรเจกต์นี้**
|
|
369
|
+
>
|
|
370
|
+
> 👉 กรุณารันคำสั่งนี้ใน Terminal เพื่อดาวน์โหลดคลังความรู้และ CVE Payloads:
|
|
371
|
+
> \`\`\`bash
|
|
372
|
+
> npx @jakkrichm/create-nexus-devflow skill add ${compoundName}
|
|
373
|
+
> \`\`\`
|
|
374
|
+
> *(หรือพิมพ์บอกให้ผมช่วยรันคำสั่งติดตั้งให้ได้เลยครับ)*
|
|
375
|
+
- Stop and wait for the user to install or give permission.
|
|
376
|
+
3. **If \`${compoundRefPath}/\` is PRESENT**:
|
|
377
|
+
- Proceed with the JIT Knowledge Map and 5-phase testing methodology below.
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
### 📦 Full Upstream Arsenal in \`${compoundRefPath}/\`:
|
|
382
|
+
- **83 Full Skills** (\`${compoundRefPath}/skills/<skill-name>/SKILL.md\`): Detailed detection patterns, bypass tables, and payloads for all 83 classes.
|
|
383
|
+
- **15 Slash Commands** (\`${compoundRefPath}/commands/<command>.md\`): \`hunt\`, \`recon\`, \`triage\`, \`validate\`, \`chain\`, \`report\`, \`scope\`, \`token-scan\`, \`surface\`, \`autopilot\`, ฯลฯ
|
|
384
|
+
- **681 Disclosed HackerOne Reports** (\`${compoundRefPath}/disclosed-reports/<class>.md\`): Real-world vulnerability citations across 24 core classes.
|
|
385
|
+
- **Engagement Scaffolding** (\`${compoundRefPath}/ENGAGEMENTS.md\`): Comprehensive directory and methodology scaffolding for security assessments.
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## 🧭 The 4-Layer Architecture & 5-Phase Methodology
|
|
390
|
+
|
|
391
|
+
\`\`\`text
|
|
392
|
+
┌────────────────────────────────────────────────────────────────────────┐
|
|
393
|
+
│ 1. THINK │ bb-methodology, redteam-mindset, 5-phase workflow │
|
|
394
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
395
|
+
│ 2. HUNT │ 58 web app vulnerability classes (IDOR, SSRF, SQLi) │
|
|
396
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
397
|
+
│ 3. PERIMETER │ M365/Entra, Okta, vCenter, Cloud IAM, SSL-VPN │
|
|
398
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
399
|
+
│ 4. SHIP │ 7-Question Gate, VRT-aware triage, H1/Bugcrowd reports │
|
|
400
|
+
└────────────────────────────────────────────────────────────────────────┘
|
|
401
|
+
\`\`\`
|
|
402
|
+
|
|
403
|
+
### The 5-Phase Workflow:
|
|
404
|
+
1. **Recon & Scope**: Fingerprint tech stack, enumerate subdomains/endpoints, define in-scope vs. out-of-scope boundaries (\`skills/web2-recon/\`, \`skills/recon-scope-triage/\`).
|
|
405
|
+
2. **Map & Surface Ranking**: Identify high-value targets (Auth, Payment, GraphQL mutations, File uploads, Webhook receivers) (\`commands/surface.md\`).
|
|
406
|
+
3. **Hunt & Test**: Apply vulnerability-specific bypass tables, edge-case payloads, and condition variations (\`skills/hunt-*/SKILL.md\`).
|
|
407
|
+
4. **Validate**: Apply the **7-Question Gate** (Impact, Pre-conditions, Repro steps, Root cause, Severity score) (\`skills/triage-validation/\`).
|
|
408
|
+
5. **Report / Remediate**: Produce actionable vulnerability proof, remediation advice, or bug bounty reports (\`commands/report.md\`, \`skills/report-writing/\`).
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## 🗂️ Just-in-Time (JIT) Reference Knowledge Map
|
|
413
|
+
|
|
414
|
+
Before analyzing or probing any security concern, **ALWAYS read the relevant reference document in \`${compoundRefPath}/\` using your file reading tool (\`view_file\` / \`grep_search\`)**:
|
|
415
|
+
|
|
416
|
+
| Target Category | Specific Skill Path in \`${compoundRefPath}/\` | Disclosed Reports Path |
|
|
417
|
+
| :--- | :--- | :--- |
|
|
418
|
+
| **Index & Overview** | \`${compoundRefPath}/INDEX.md\` | - |
|
|
419
|
+
| **IDOR / BOLA** | \`skills/hunt-idor/SKILL.md\` | \`disclosed-reports/hunt-idor.md\` |
|
|
420
|
+
| **OAuth 2.0 / SSO** | \`skills/hunt-oauth/SKILL.md\` | \`disclosed-reports/hunt-oauth.md\` |
|
|
421
|
+
| **JWT Flaws & Crypto** | \`skills/hunt-jwt-crypto/SKILL.md\` | \`disclosed-reports/hunt-jwt-crypto.md\` |
|
|
422
|
+
| **SSRF (Cloud IMDS)** | \`skills/hunt-ssrf/SKILL.md\` | \`disclosed-reports/hunt-ssrf.md\` |
|
|
423
|
+
| **SQL & NoSQL Injection** | \`skills/hunt-sqli/SKILL.md\`, \`skills/hunt-nosqli/SKILL.md\` | \`disclosed-reports/hunt-sqli.md\` |
|
|
424
|
+
| **XSS & DOM Injection** | \`skills/hunt-xss/SKILL.md\`, \`skills/hunt-dom/SKILL.md\` | \`disclosed-reports/hunt-xss.md\` |
|
|
425
|
+
| **GraphQL & APIs** | \`skills/hunt-graphql/SKILL.md\`, \`skills/hunt-fintech-graphql/\` | \`disclosed-reports/hunt-graphql.md\` |
|
|
426
|
+
| **Next.js / Node.js** | \`skills/hunt-nextjs/SKILL.md\`, \`skills/hunt-nodejs/SKILL.md\` | - |
|
|
427
|
+
| **Cloud IAM & Perimeter** | \`skills/hunt-cloud-misconfig/\`, \`skills/m365-entra-attack/\` | \`disclosed-reports/hunt-cloud-misconfig.md\` |
|
|
428
|
+
| **CI/CD & Kubernetes** | \`skills/hunt-cicd/SKILL.md\`, \`skills/hunt-k8s/SKILL.md\` | - |
|
|
429
|
+
| **LLM & AI Security** | \`skills/hunt-llm-ai/SKILL.md\`, \`skills/hunt-rag-vector/SKILL.md\` | - |
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## 🔗 Integration with Nexus-DevFlow Core Lifecycle
|
|
434
|
+
|
|
435
|
+
1. **During \`/check\` (Security & QA Verification)**:
|
|
436
|
+
- When verifying a feature dealing with Auth, Multi-tenancy, or Data Exports, run a BugHunter self-assessment:
|
|
437
|
+
\`"เปิดอ่าน ${compoundRefPath}/skills/hunt-idor/SKILL.md เพื่อทดสอบหาช่องโหว่ IDOR และ Token Tampering ใน Endpoint นี้"\`
|
|
438
|
+
2. **During \`/audit\` (Code Audit)**:
|
|
439
|
+
- Review code against Fowler smells AND offensive attack vectors simultaneously.
|
|
440
|
+
3. **During \`/debug\` (Security Incident Investigation)**:
|
|
441
|
+
- Trace vulnerability root causes using the 681 disclosed report patterns in \`disclosed-reports/\`.
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## 🔄 Updating Knowledge Base
|
|
446
|
+
|
|
447
|
+
To update all 83 skills, 15 commands, and report patterns to the latest upstream version:
|
|
448
|
+
\`\`\`bash
|
|
449
|
+
npx @jakkrichm/create-nexus-devflow skill update ${compoundName}
|
|
450
|
+
\`\`\`
|
|
451
|
+
`;
|
|
452
|
+
const agentTarget = path.join(projectRoot, ".agents", "skills", compoundName, "SKILL.md");
|
|
453
|
+
const claudeTarget = path.join(projectRoot, ".claude", "skills", compoundName, "SKILL.md");
|
|
454
|
+
await fs.mkdir(path.dirname(agentTarget), { recursive: true });
|
|
455
|
+
await fs.mkdir(path.dirname(claudeTarget), { recursive: true });
|
|
456
|
+
if (!fsSync.existsSync(agentTarget) || options?.force) {
|
|
457
|
+
await fs.writeFile(agentTarget, masterContent, "utf8");
|
|
458
|
+
}
|
|
459
|
+
if (!fsSync.existsSync(claudeTarget) || options?.force) {
|
|
460
|
+
await fs.writeFile(claudeTarget, masterContent, "utf8");
|
|
461
|
+
}
|
|
462
|
+
// Update manifest
|
|
463
|
+
const manifest = (await readDevflowManifest(projectRoot)) || {
|
|
464
|
+
schemaVersion: 1,
|
|
465
|
+
name: "nexus-devflow",
|
|
466
|
+
package: "@jakkrichm/create-nexus-devflow",
|
|
467
|
+
version: "2.9.5"
|
|
468
|
+
};
|
|
469
|
+
const existingThirdParty = Array.isArray(manifest.thirdPartySkills)
|
|
470
|
+
? manifest.thirdPartySkills
|
|
471
|
+
: [];
|
|
472
|
+
const filtered = existingThirdParty.filter((s) => s.name !== compoundName);
|
|
473
|
+
filtered.push({
|
|
474
|
+
name: compoundName,
|
|
475
|
+
source: recordedSource,
|
|
476
|
+
version: "2.0.0",
|
|
477
|
+
description: "Offensive security orchestrator & bug hunting guide",
|
|
478
|
+
installedAt: new Date().toISOString(),
|
|
479
|
+
type: "compound-knowledge",
|
|
480
|
+
referencePath: compoundRefPath
|
|
481
|
+
});
|
|
482
|
+
manifest.thirdPartySkills = filtered;
|
|
483
|
+
await writeDevflowManifest(projectRoot, manifest);
|
|
484
|
+
return {
|
|
485
|
+
name: compoundName,
|
|
486
|
+
category: "third-party",
|
|
487
|
+
description: "Offensive security orchestrator & bug hunting guide",
|
|
488
|
+
version: "2.0.0",
|
|
489
|
+
source: recordedSource,
|
|
490
|
+
adapters: [".agents", ".claude"],
|
|
491
|
+
synced: true,
|
|
492
|
+
path: `.agents/skills/${compoundName}`
|
|
493
|
+
};
|
|
272
494
|
}
|
|
273
|
-
const recordedSource = options?.overrideSource || source;
|
|
274
|
-
const recordedType = isGitUrl || options?.overrideSource ? "git" : "local";
|
|
275
495
|
if (options?.all) {
|
|
276
496
|
const discovered = await discoverSkillsInDirectory(sourceDirectory);
|
|
277
497
|
if (discovered.length === 0) {
|
|
@@ -355,22 +575,24 @@ export async function installThirdPartySkill(projectRoot, source, options) {
|
|
|
355
575
|
const existingThirdParty = Array.isArray(manifest.thirdPartySkills)
|
|
356
576
|
? manifest.thirdPartySkills
|
|
357
577
|
: [];
|
|
578
|
+
const existingRecord = existingThirdParty.find((s) => s.name === skillName);
|
|
358
579
|
const filtered = existingThirdParty.filter((s) => s.name !== skillName);
|
|
359
580
|
filtered.push({
|
|
360
581
|
name: skillName,
|
|
361
582
|
source: recordedSource,
|
|
362
|
-
version: meta.version || "1.0.0",
|
|
363
|
-
description: meta.description || "",
|
|
583
|
+
version: meta.version || existingRecord?.version || "1.0.0",
|
|
584
|
+
description: meta.description || existingRecord?.description || "",
|
|
364
585
|
installedAt: new Date().toISOString(),
|
|
365
|
-
type: recordedType
|
|
586
|
+
type: existingRecord?.type || recordedType,
|
|
587
|
+
referencePath: existingRecord?.referencePath
|
|
366
588
|
});
|
|
367
589
|
manifest.thirdPartySkills = filtered;
|
|
368
590
|
await writeDevflowManifest(projectRoot, manifest);
|
|
369
591
|
return {
|
|
370
592
|
name: skillName,
|
|
371
593
|
category: "third-party",
|
|
372
|
-
description: meta.description || "",
|
|
373
|
-
version: meta.version || "1.0.0",
|
|
594
|
+
description: meta.description || existingRecord?.description || "",
|
|
595
|
+
version: meta.version || existingRecord?.version || "1.0.0",
|
|
374
596
|
source: recordedSource,
|
|
375
597
|
adapters: [".agents", ".claude"],
|
|
376
598
|
synced: true,
|
|
@@ -482,12 +704,103 @@ export async function updateThirdPartySkills(projectRoot, targetSkillName, optio
|
|
|
482
704
|
}
|
|
483
705
|
for (const skill of skills) {
|
|
484
706
|
try {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
707
|
+
if (skill.type === "compound-knowledge") {
|
|
708
|
+
let directSkillFound = false;
|
|
709
|
+
try {
|
|
710
|
+
const detail = (await installThirdPartySkill(projectRoot, sourceDir, {
|
|
711
|
+
name: skill.name,
|
|
712
|
+
force: true,
|
|
713
|
+
overrideSource: isGit ? source : undefined
|
|
714
|
+
}));
|
|
715
|
+
updatedSkills.push(detail);
|
|
716
|
+
directSkillFound = true;
|
|
717
|
+
}
|
|
718
|
+
catch {
|
|
719
|
+
directSkillFound = false;
|
|
720
|
+
}
|
|
721
|
+
if (!directSkillFound) {
|
|
722
|
+
const refRelPath = skill.referencePath || path.join("devflow", ".vendor", skill.name);
|
|
723
|
+
const targetRefDir = path.join(projectRoot, refRelPath);
|
|
724
|
+
await fs.mkdir(targetRefDir, { recursive: true });
|
|
725
|
+
// 1. Sync source skills directory to reference/skills
|
|
726
|
+
const srcSkills = path.join(sourceDir, "skills");
|
|
727
|
+
if (fsSync.existsSync(srcSkills)) {
|
|
728
|
+
await fs.cp(srcSkills, path.join(targetRefDir, "skills"), { recursive: true });
|
|
729
|
+
}
|
|
730
|
+
// 2. Sync source commands directory to reference/commands
|
|
731
|
+
const srcCommands = path.join(sourceDir, "commands");
|
|
732
|
+
if (fsSync.existsSync(srcCommands)) {
|
|
733
|
+
await fs.cp(srcCommands, path.join(targetRefDir, "commands"), { recursive: true });
|
|
734
|
+
}
|
|
735
|
+
// 3. Sync source disclosed-reports directory
|
|
736
|
+
const srcReports = path.join(sourceDir, "docs", "disclosed-reports");
|
|
737
|
+
if (fsSync.existsSync(srcReports)) {
|
|
738
|
+
await fs.cp(srcReports, path.join(targetRefDir, "disclosed-reports"), { recursive: true });
|
|
739
|
+
}
|
|
740
|
+
// 4. Sync source docs directory
|
|
741
|
+
const srcDocs = path.join(sourceDir, "docs");
|
|
742
|
+
if (fsSync.existsSync(srcDocs)) {
|
|
743
|
+
await fs.cp(srcDocs, path.join(targetRefDir, "docs"), { recursive: true });
|
|
744
|
+
}
|
|
745
|
+
// 5. Copy notable guide files
|
|
746
|
+
for (const guideFile of ["ENGAGEMENTS.md", "USAGE.md", "README.md", "INSTALL.md"]) {
|
|
747
|
+
const srcFile = path.join(sourceDir, guideFile);
|
|
748
|
+
if (fsSync.existsSync(srcFile)) {
|
|
749
|
+
await fs.copyFile(srcFile, path.join(targetRefDir, guideFile));
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
let newVersion = skill.version || "1.0.0";
|
|
753
|
+
try {
|
|
754
|
+
const pkgPath = path.join(sourceDir, "package.json");
|
|
755
|
+
if (fsSync.existsSync(pkgPath)) {
|
|
756
|
+
const pkgRaw = await fs.readFile(pkgPath, "utf8");
|
|
757
|
+
const pkg = JSON.parse(pkgRaw);
|
|
758
|
+
if (pkg.version)
|
|
759
|
+
newVersion = pkg.version;
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
catch {
|
|
763
|
+
// ignore
|
|
764
|
+
}
|
|
765
|
+
// Update manifest
|
|
766
|
+
const currentManifest = (await readDevflowManifest(projectRoot)) || {};
|
|
767
|
+
const existingList = Array.isArray(currentManifest.thirdPartySkills)
|
|
768
|
+
? currentManifest.thirdPartySkills
|
|
769
|
+
: [];
|
|
770
|
+
const updatedList = existingList.map((s) => {
|
|
771
|
+
if (s.name === skill.name) {
|
|
772
|
+
return {
|
|
773
|
+
...s,
|
|
774
|
+
version: newVersion,
|
|
775
|
+
installedAt: new Date().toISOString(),
|
|
776
|
+
type: "compound-knowledge",
|
|
777
|
+
referencePath: refRelPath
|
|
778
|
+
};
|
|
779
|
+
}
|
|
780
|
+
return s;
|
|
781
|
+
});
|
|
782
|
+
currentManifest.thirdPartySkills = updatedList;
|
|
783
|
+
await writeDevflowManifest(projectRoot, currentManifest);
|
|
784
|
+
updatedSkills.push({
|
|
785
|
+
name: skill.name,
|
|
786
|
+
category: "third-party",
|
|
787
|
+
description: skill.description || "Compound Knowledge Skill",
|
|
788
|
+
version: newVersion,
|
|
789
|
+
source: skill.source,
|
|
790
|
+
adapters: [".agents", ".claude"],
|
|
791
|
+
synced: true,
|
|
792
|
+
path: `.agents/skills/${skill.name}`
|
|
793
|
+
});
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
else {
|
|
797
|
+
const detail = (await installThirdPartySkill(projectRoot, sourceDir, {
|
|
798
|
+
name: skill.name,
|
|
799
|
+
force: true,
|
|
800
|
+
overrideSource: isGit ? source : undefined
|
|
801
|
+
}));
|
|
802
|
+
updatedSkills.push(detail);
|
|
803
|
+
}
|
|
491
804
|
}
|
|
492
805
|
catch (err) {
|
|
493
806
|
failedSkills.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-manager.js","sourceRoot":"","sources":["../../lib/skill-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-manager.js","sourceRoot":"","sources":["../../lib/skill-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,13 @@ async function copyEntry(entry, inventory) {
|
|
|
55
55
|
if (normalized.startsWith("devflow/research/")) {
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
|
+
if (normalized.startsWith("devflow/.vendor/") ||
|
|
59
|
+
normalized.startsWith("devflow/reference/bughunter/skills/") ||
|
|
60
|
+
normalized.startsWith("devflow/reference/bughunter/commands/") ||
|
|
61
|
+
normalized.startsWith("devflow/reference/bughunter/disclosed-reports/") ||
|
|
62
|
+
normalized.startsWith("devflow/reference/bughunter/docs/")) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
58
65
|
return true;
|
|
59
66
|
}
|
|
60
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bughunter
|
|
3
|
+
description: "Offensive security orchestrator & bug hunting guide. Indexes 83 vulnerability classes, 5-phase methodology (Think, Hunt, Perimeter, Ship), 681 disclosed HackerOne patterns, and JIT reference guides in devflow/.vendor/bughunter/. Use when running /bughunter, performing security reviews, verifying auth/injection risks in /check or /audit, or testing API endpoints for vulnerabilities."
|
|
4
|
+
argument-hint: "[{target, vuln-class, or topic}]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 🛡️ bughunter - Offensive Security & Vulnerability Assessment Orchestrator
|
|
8
|
+
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
11
|
+
`bughunter` is the master security testing orchestrator in Nexus-DevFlow, bringing the complete power of **Claude-BugHunter** into your development lifecycle with **Zero Token Bloat**.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ⚠️ Pre-Flight Check (Knowledge Base Availability)
|
|
16
|
+
|
|
17
|
+
Before executing any BugHunter analysis or security test:
|
|
18
|
+
1. **Check if `devflow/.vendor/bughunter/` exists in this project using your file inspection tool**.
|
|
19
|
+
2. **If `devflow/.vendor/bughunter/` is MISSING / NOT INSTALLED**:
|
|
20
|
+
- **DO NOT hallucinate payloads or fake security reports**.
|
|
21
|
+
- Respond immediately to the user in Thai:
|
|
22
|
+
> 💡 **คลังความรู้ BugHunter (83 Vulnerability Classes, Payloads & 681 Disclosed Reports) ยังไม่ได้ถูกดาวน์โหลดในโปรเจกต์นี้**
|
|
23
|
+
>
|
|
24
|
+
> 👉 กรุณารันคำสั่งนี้ใน Terminal เพื่อดาวน์โหลดคลังความรู้และ CVE Payloads:
|
|
25
|
+
> ```bash
|
|
26
|
+
> npx @jakkrichm/create-nexus-devflow skill add bughunter
|
|
27
|
+
> ```
|
|
28
|
+
> *(หรือพิมพ์บอกให้ผมช่วยรันคำสั่งติดตั้งให้ได้เลยครับ)*
|
|
29
|
+
- Stop and wait for the user to install or give permission.
|
|
30
|
+
3. **If `devflow/.vendor/bughunter/` is PRESENT**:
|
|
31
|
+
- Proceed with the JIT Knowledge Map and 5-phase testing methodology below.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### 📦 Full Upstream Arsenal in `devflow/.vendor/bughunter/`:
|
|
36
|
+
- **83 Full Skills** (`devflow/.vendor/bughunter/skills/<skill-name>/SKILL.md`): Detailed detection patterns, bypass tables, and payloads for all 83 classes.
|
|
37
|
+
- **15 Slash Commands** (`devflow/.vendor/bughunter/commands/<command>.md`): `hunt`, `recon`, `triage`, `validate`, `chain`, `report`, `scope`, `token-scan`, `surface`, `autopilot`, ฯลฯ
|
|
38
|
+
- **681 Disclosed HackerOne Reports** (`devflow/.vendor/bughunter/disclosed-reports/<class>.md`): Real-world vulnerability citations across 24 core classes.
|
|
39
|
+
- **Engagement Scaffolding** (`devflow/.vendor/bughunter/ENGAGEMENTS.md`): Comprehensive directory and methodology scaffolding for security assessments.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🧭 The 4-Layer Architecture & 5-Phase Methodology
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
┌────────────────────────────────────────────────────────────────────────┐
|
|
47
|
+
│ 1. THINK │ bb-methodology, redteam-mindset, 5-phase workflow │
|
|
48
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
49
|
+
│ 2. HUNT │ 58 web app vulnerability classes (IDOR, SSRF, SQLi) │
|
|
50
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
51
|
+
│ 3. PERIMETER │ M365/Entra, Okta, vCenter, Cloud IAM, SSL-VPN │
|
|
52
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
53
|
+
│ 4. SHIP │ 7-Question Gate, VRT-aware triage, H1/Bugcrowd reports │
|
|
54
|
+
└────────────────────────────────────────────────────────────────────────┘
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### The 5-Phase Workflow:
|
|
58
|
+
1. **Recon & Scope**: Fingerprint tech stack, enumerate subdomains/endpoints, define in-scope vs. out-of-scope boundaries (`skills/web2-recon/`, `skills/recon-scope-triage/`).
|
|
59
|
+
2. **Map & Surface Ranking**: Identify high-value targets (Auth, Payment, GraphQL mutations, File uploads, Webhook receivers) (`commands/surface.md`).
|
|
60
|
+
3. **Hunt & Test**: Apply vulnerability-specific bypass tables, edge-case payloads, and condition variations (`skills/hunt-*/SKILL.md`).
|
|
61
|
+
4. **Validate**: Apply the **7-Question Gate** (Impact, Pre-conditions, Repro steps, Root cause, Severity score) (`skills/triage-validation/`).
|
|
62
|
+
5. **Report / Remediate**: Produce actionable vulnerability proof, remediation advice, or bug bounty reports (`commands/report.md`, `skills/report-writing/`).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 🗂️ Just-in-Time (JIT) Reference Knowledge Map
|
|
67
|
+
|
|
68
|
+
Before analyzing or probing any security concern, **ALWAYS read the relevant reference document in `devflow/.vendor/bughunter/` using your file reading tool (`view_file` / `grep_search`)**:
|
|
69
|
+
|
|
70
|
+
| Target Category | Specific Skill Path in `devflow/.vendor/bughunter/` | Disclosed Reports Path |
|
|
71
|
+
| :--- | :--- | :--- |
|
|
72
|
+
| **Index & Overview** | `devflow/.vendor/bughunter/INDEX.md` | - |
|
|
73
|
+
| **IDOR / BOLA** | `skills/hunt-idor/SKILL.md` | `disclosed-reports/hunt-idor.md` |
|
|
74
|
+
| **OAuth 2.0 / SSO** | `skills/hunt-oauth/SKILL.md` | `disclosed-reports/hunt-oauth.md` |
|
|
75
|
+
| **JWT Flaws & Crypto** | `skills/hunt-jwt-crypto/SKILL.md` | `disclosed-reports/hunt-jwt-crypto.md` |
|
|
76
|
+
| **SSRF (Cloud IMDS)** | `skills/hunt-ssrf/SKILL.md` | `disclosed-reports/hunt-ssrf.md` |
|
|
77
|
+
| **SQL & NoSQL Injection** | `skills/hunt-sqli/SKILL.md`, `skills/hunt-nosqli/SKILL.md` | `disclosed-reports/hunt-sqli.md` |
|
|
78
|
+
| **XSS & DOM Injection** | `skills/hunt-xss/SKILL.md`, `skills/hunt-dom/SKILL.md` | `disclosed-reports/hunt-xss.md` |
|
|
79
|
+
| **GraphQL & APIs** | `skills/hunt-graphql/SKILL.md`, `skills/hunt-fintech-graphql/` | `disclosed-reports/hunt-graphql.md` |
|
|
80
|
+
| **Next.js / Node.js** | `skills/hunt-nextjs/SKILL.md`, `skills/hunt-nodejs/SKILL.md` | - |
|
|
81
|
+
| **Cloud IAM & Perimeter** | `skills/hunt-cloud-misconfig/`, `skills/m365-entra-attack/` | `disclosed-reports/hunt-cloud-misconfig.md` |
|
|
82
|
+
| **CI/CD & Kubernetes** | `skills/hunt-cicd/SKILL.md`, `skills/hunt-k8s/SKILL.md` | - |
|
|
83
|
+
| **LLM & AI Security** | `skills/hunt-llm-ai/SKILL.md`, `skills/hunt-rag-vector/SKILL.md` | - |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 🔗 Integration with Nexus-DevFlow Core Lifecycle
|
|
88
|
+
|
|
89
|
+
1. **During `/check` (Security & QA Verification)**:
|
|
90
|
+
- When verifying a feature dealing with Auth, Multi-tenancy, or Data Exports, run a BugHunter self-assessment:
|
|
91
|
+
`"เปิดอ่าน devflow/.vendor/bughunter/skills/hunt-idor/SKILL.md เพื่อทดสอบหาช่องโหว่ IDOR และ Token Tampering ใน Endpoint นี้"`
|
|
92
|
+
2. **During `/audit` (Code Audit)**:
|
|
93
|
+
- Review code against Fowler smells AND offensive attack vectors simultaneously.
|
|
94
|
+
3. **During `/debug` (Security Incident Investigation)**:
|
|
95
|
+
- Trace vulnerability root causes using the 681 disclosed report patterns in `disclosed-reports/`.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 🔄 Updating Knowledge Base
|
|
100
|
+
|
|
101
|
+
To update all 83 skills, 15 commands, and report patterns to the latest upstream version:
|
|
102
|
+
```bash
|
|
103
|
+
npx @jakkrichm/create-nexus-devflow skill update bughunter
|
|
104
|
+
```
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: tests
|
|
3
|
-
description: "[devflow] Add or normalize unit testing for a Blueprint project. Detects the stack, reuses an existing test runner when present, or installs the stack-native unit test runner when missing, then adds one small example test, updates AGENTS.md commands, runs build and tests, and reports the diff. Use when the user runs /tests, invokes $tests, asks to add unit tests, set up unit testing, configure tests, or make tests part of the Blueprint workflow."
|
|
2
|
+
name: setup-tests
|
|
3
|
+
description: "[devflow] Add or normalize unit testing for a Blueprint project. Detects the stack, reuses an existing test runner when present, or installs the stack-native unit test runner when missing, then adds one small example test, updates AGENTS.md commands, runs build and tests, and reports the diff. Use when the user runs /setup-tests, invokes $setup-tests, asks to add unit tests, set up unit testing, configure tests, or make tests part of the Blueprint workflow."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# tests - add unit testing to the project
|
|
6
|
+
# setup-tests - add unit testing to the project
|
|
7
7
|
|
|
8
8
|
**First action:** Before project inspection, preflight, or any other tool call,
|
|
9
9
|
publish `running` to `devflow/.state/run.json` using the dashboard activity
|
|
@@ -11,8 +11,8 @@ contract in `AGENTS.md`.
|
|
|
11
11
|
|
|
12
12
|
Where this sits in the workflow:
|
|
13
13
|
|
|
14
|
-
any time -> [tests] -> test command in AGENTS.md -> /feature + /implement use it
|
|
15
|
-
(setup)
|
|
14
|
+
any time -> [setup-tests] -> test command in AGENTS.md -> /feature + /implement use it
|
|
15
|
+
(setup) (the opt-in testing gate) (logic steps get tests)
|
|
16
16
|
|
|
17
17
|
Testing is optional in the Blueprint until the project declares a real test
|
|
18
18
|
command in `AGENTS.md`. This skill is the explicit setup path. It adds or
|
|
@@ -71,7 +71,7 @@ Apply the smallest practical diff:
|
|
|
71
71
|
when available, the test watch command.
|
|
72
72
|
5. If a `Verify` command already exists, add the real test command to it between
|
|
73
73
|
typecheck and build while preserving any established project checks. Do not
|
|
74
|
-
create verification or CI only because `/tests` was invoked.
|
|
74
|
+
create verification or CI only because `/setup-tests` was invoked.
|
|
75
75
|
6. Update `devflow/context/coding-standards.md` only if the project needs a
|
|
76
76
|
stack-specific testing note different from the default.
|
|
77
77
|
|
|
@@ -127,4 +127,4 @@ Show the diff summary. Do not commit, merge, push, or start product feature work
|
|
|
127
127
|
|
|
128
128
|
Format the output to match the project's conventions in
|
|
129
129
|
`devflow/context/ai-interaction.md`: concise, scannable markdown, with lists for
|
|
130
|
-
enumerations and tables for matrices rather than dense paragraphs.
|
|
130
|
+
enumerations and tables for matrices rather than dense paragraphs.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bughunter
|
|
3
|
+
description: "Offensive security orchestrator & bug hunting guide. Indexes 83 vulnerability classes, 5-phase methodology (Think, Hunt, Perimeter, Ship), 681 disclosed HackerOne patterns, and JIT reference guides in devflow/.vendor/bughunter/. Use when running /bughunter, performing security reviews, verifying auth/injection risks in /check or /audit, or testing API endpoints for vulnerabilities."
|
|
4
|
+
argument-hint: "[{target, vuln-class, or topic}]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 🛡️ bughunter - Offensive Security & Vulnerability Assessment Orchestrator
|
|
8
|
+
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
|
|
11
|
+
`bughunter` is the master security testing orchestrator in Nexus-DevFlow, bringing the complete power of **Claude-BugHunter** into your development lifecycle with **Zero Token Bloat**.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ⚠️ Pre-Flight Check (Knowledge Base Availability)
|
|
16
|
+
|
|
17
|
+
Before executing any BugHunter analysis or security test:
|
|
18
|
+
1. **Check if `devflow/.vendor/bughunter/` exists in this project using your file inspection tool**.
|
|
19
|
+
2. **If `devflow/.vendor/bughunter/` is MISSING / NOT INSTALLED**:
|
|
20
|
+
- **DO NOT hallucinate payloads or fake security reports**.
|
|
21
|
+
- Respond immediately to the user in Thai:
|
|
22
|
+
> 💡 **คลังความรู้ BugHunter (83 Vulnerability Classes, Payloads & 681 Disclosed Reports) ยังไม่ได้ถูกดาวน์โหลดในโปรเจกต์นี้**
|
|
23
|
+
>
|
|
24
|
+
> 👉 กรุณารันคำสั่งนี้ใน Terminal เพื่อดาวน์โหลดคลังความรู้และ CVE Payloads:
|
|
25
|
+
> ```bash
|
|
26
|
+
> npx @jakkrichm/create-nexus-devflow skill add bughunter
|
|
27
|
+
> ```
|
|
28
|
+
> *(หรือพิมพ์บอกให้ผมช่วยรันคำสั่งติดตั้งให้ได้เลยครับ)*
|
|
29
|
+
- Stop and wait for the user to install or give permission.
|
|
30
|
+
3. **If `devflow/.vendor/bughunter/` is PRESENT**:
|
|
31
|
+
- Proceed with the JIT Knowledge Map and 5-phase testing methodology below.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### 📦 Full Upstream Arsenal in `devflow/.vendor/bughunter/`:
|
|
36
|
+
- **83 Full Skills** (`devflow/.vendor/bughunter/skills/<skill-name>/SKILL.md`): Detailed detection patterns, bypass tables, and payloads for all 83 classes.
|
|
37
|
+
- **15 Slash Commands** (`devflow/.vendor/bughunter/commands/<command>.md`): `hunt`, `recon`, `triage`, `validate`, `chain`, `report`, `scope`, `token-scan`, `surface`, `autopilot`, ฯลฯ
|
|
38
|
+
- **681 Disclosed HackerOne Reports** (`devflow/.vendor/bughunter/disclosed-reports/<class>.md`): Real-world vulnerability citations across 24 core classes.
|
|
39
|
+
- **Engagement Scaffolding** (`devflow/.vendor/bughunter/ENGAGEMENTS.md`): Comprehensive directory and methodology scaffolding for security assessments.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🧭 The 4-Layer Architecture & 5-Phase Methodology
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
┌────────────────────────────────────────────────────────────────────────┐
|
|
47
|
+
│ 1. THINK │ bb-methodology, redteam-mindset, 5-phase workflow │
|
|
48
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
49
|
+
│ 2. HUNT │ 58 web app vulnerability classes (IDOR, SSRF, SQLi) │
|
|
50
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
51
|
+
│ 3. PERIMETER │ M365/Entra, Okta, vCenter, Cloud IAM, SSL-VPN │
|
|
52
|
+
├───────────────┼────────────────────────────────────────────────────────┤
|
|
53
|
+
│ 4. SHIP │ 7-Question Gate, VRT-aware triage, H1/Bugcrowd reports │
|
|
54
|
+
└────────────────────────────────────────────────────────────────────────┘
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### The 5-Phase Workflow:
|
|
58
|
+
1. **Recon & Scope**: Fingerprint tech stack, enumerate subdomains/endpoints, define in-scope vs. out-of-scope boundaries (`skills/web2-recon/`, `skills/recon-scope-triage/`).
|
|
59
|
+
2. **Map & Surface Ranking**: Identify high-value targets (Auth, Payment, GraphQL mutations, File uploads, Webhook receivers) (`commands/surface.md`).
|
|
60
|
+
3. **Hunt & Test**: Apply vulnerability-specific bypass tables, edge-case payloads, and condition variations (`skills/hunt-*/SKILL.md`).
|
|
61
|
+
4. **Validate**: Apply the **7-Question Gate** (Impact, Pre-conditions, Repro steps, Root cause, Severity score) (`skills/triage-validation/`).
|
|
62
|
+
5. **Report / Remediate**: Produce actionable vulnerability proof, remediation advice, or bug bounty reports (`commands/report.md`, `skills/report-writing/`).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 🗂️ Just-in-Time (JIT) Reference Knowledge Map
|
|
67
|
+
|
|
68
|
+
Before analyzing or probing any security concern, **ALWAYS read the relevant reference document in `devflow/.vendor/bughunter/` using your file reading tool (`view_file` / `grep_search`)**:
|
|
69
|
+
|
|
70
|
+
| Target Category | Specific Skill Path in `devflow/.vendor/bughunter/` | Disclosed Reports Path |
|
|
71
|
+
| :--- | :--- | :--- |
|
|
72
|
+
| **Index & Overview** | `devflow/.vendor/bughunter/INDEX.md` | - |
|
|
73
|
+
| **IDOR / BOLA** | `skills/hunt-idor/SKILL.md` | `disclosed-reports/hunt-idor.md` |
|
|
74
|
+
| **OAuth 2.0 / SSO** | `skills/hunt-oauth/SKILL.md` | `disclosed-reports/hunt-oauth.md` |
|
|
75
|
+
| **JWT Flaws & Crypto** | `skills/hunt-jwt-crypto/SKILL.md` | `disclosed-reports/hunt-jwt-crypto.md` |
|
|
76
|
+
| **SSRF (Cloud IMDS)** | `skills/hunt-ssrf/SKILL.md` | `disclosed-reports/hunt-ssrf.md` |
|
|
77
|
+
| **SQL & NoSQL Injection** | `skills/hunt-sqli/SKILL.md`, `skills/hunt-nosqli/SKILL.md` | `disclosed-reports/hunt-sqli.md` |
|
|
78
|
+
| **XSS & DOM Injection** | `skills/hunt-xss/SKILL.md`, `skills/hunt-dom/SKILL.md` | `disclosed-reports/hunt-xss.md` |
|
|
79
|
+
| **GraphQL & APIs** | `skills/hunt-graphql/SKILL.md`, `skills/hunt-fintech-graphql/` | `disclosed-reports/hunt-graphql.md` |
|
|
80
|
+
| **Next.js / Node.js** | `skills/hunt-nextjs/SKILL.md`, `skills/hunt-nodejs/SKILL.md` | - |
|
|
81
|
+
| **Cloud IAM & Perimeter** | `skills/hunt-cloud-misconfig/`, `skills/m365-entra-attack/` | `disclosed-reports/hunt-cloud-misconfig.md` |
|
|
82
|
+
| **CI/CD & Kubernetes** | `skills/hunt-cicd/SKILL.md`, `skills/hunt-k8s/SKILL.md` | - |
|
|
83
|
+
| **LLM & AI Security** | `skills/hunt-llm-ai/SKILL.md`, `skills/hunt-rag-vector/SKILL.md` | - |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 🔗 Integration with Nexus-DevFlow Core Lifecycle
|
|
88
|
+
|
|
89
|
+
1. **During `/check` (Security & QA Verification)**:
|
|
90
|
+
- When verifying a feature dealing with Auth, Multi-tenancy, or Data Exports, run a BugHunter self-assessment:
|
|
91
|
+
`"เปิดอ่าน devflow/.vendor/bughunter/skills/hunt-idor/SKILL.md เพื่อทดสอบหาช่องโหว่ IDOR และ Token Tampering ใน Endpoint นี้"`
|
|
92
|
+
2. **During `/audit` (Code Audit)**:
|
|
93
|
+
- Review code against Fowler smells AND offensive attack vectors simultaneously.
|
|
94
|
+
3. **During `/debug` (Security Incident Investigation)**:
|
|
95
|
+
- Trace vulnerability root causes using the 681 disclosed report patterns in `disclosed-reports/`.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 🔄 Updating Knowledge Base
|
|
100
|
+
|
|
101
|
+
To update all 83 skills, 15 commands, and report patterns to the latest upstream version:
|
|
102
|
+
```bash
|
|
103
|
+
npx @jakkrichm/create-nexus-devflow skill update bughunter
|
|
104
|
+
```
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: tests
|
|
3
|
-
description: "[devflow] Add or normalize unit testing for a Blueprint project. Detects the stack, reuses an existing test runner when present, or installs the stack-native unit test runner when missing, then adds one small example test, updates AGENTS.md commands, runs build and tests, and reports the diff. Use when the user runs /tests, invokes $tests, asks to add unit tests, set up unit testing, configure tests, or make tests part of the Blueprint workflow."
|
|
2
|
+
name: setup-tests
|
|
3
|
+
description: "[devflow] Add or normalize unit testing for a Blueprint project. Detects the stack, reuses an existing test runner when present, or installs the stack-native unit test runner when missing, then adds one small example test, updates AGENTS.md commands, runs build and tests, and reports the diff. Use when the user runs /setup-tests, invokes $setup-tests, asks to add unit tests, set up unit testing, configure tests, or make tests part of the Blueprint workflow."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# tests - add unit testing to the project
|
|
6
|
+
# setup-tests - add unit testing to the project
|
|
7
7
|
|
|
8
8
|
**First action:** Before project inspection, preflight, or any other tool call,
|
|
9
9
|
publish `running` to `devflow/.state/run.json` using the dashboard activity
|
|
@@ -11,8 +11,8 @@ contract in `AGENTS.md`.
|
|
|
11
11
|
|
|
12
12
|
Where this sits in the workflow:
|
|
13
13
|
|
|
14
|
-
any time -> [tests] -> test command in AGENTS.md -> /feature + /implement use it
|
|
15
|
-
(setup)
|
|
14
|
+
any time -> [setup-tests] -> test command in AGENTS.md -> /feature + /implement use it
|
|
15
|
+
(setup) (the opt-in testing gate) (logic steps get tests)
|
|
16
16
|
|
|
17
17
|
Testing is optional in the Blueprint until the project declares a real test
|
|
18
18
|
command in `AGENTS.md`. This skill is the explicit setup path. It adds or
|
|
@@ -71,7 +71,7 @@ Apply the smallest practical diff:
|
|
|
71
71
|
when available, the test watch command.
|
|
72
72
|
5. If a `Verify` command already exists, add the real test command to it between
|
|
73
73
|
typecheck and build while preserving any established project checks. Do not
|
|
74
|
-
create verification or CI only because `/tests` was invoked.
|
|
74
|
+
create verification or CI only because `/setup-tests` was invoked.
|
|
75
75
|
6. Update `devflow/context/coding-standards.md` only if the project needs a
|
|
76
76
|
stack-specific testing note different from the default.
|
|
77
77
|
|
|
@@ -127,4 +127,4 @@ Show the diff summary. Do not commit, merge, push, or start product feature work
|
|
|
127
127
|
|
|
128
128
|
Format the output to match the project's conventions in
|
|
129
129
|
`devflow/context/ai-interaction.md`: concise, scannable markdown, with lists for
|
|
130
|
-
enumerations and tables for matrices rather than dense paragraphs.
|
|
130
|
+
enumerations and tables for matrices rather than dense paragraphs.
|
package/template/AGENTS.md
CHANGED
|
@@ -38,7 +38,7 @@ Unused adapter families can be removed. Codex, Antigravity, GitHub Copilot, and
|
|
|
38
38
|
|
|
39
39
|
### Universal Invocation & Agent Directives:
|
|
40
40
|
|
|
41
|
-
1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `continuous`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `tests`, `browser-tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`, `convert-any-to-md`, `publish-devflow`). The way you invoke commands depends on your AI Provider / Tool:
|
|
41
|
+
1. **Canonical Command Names & AI Provider Invocation**: Each workflow stage and companion tool has exactly **one Canonical Name** (e.g. `feature`, `fix`, `implement`, `check`, `complete`, `continuous`, `discovery`, `idea`, `grill`, `brainstorm`, `devflow`, `doctor`, `overview`, `debug`, `onboard`, `adopt`, `try`, `rollback`, `ci`, `test`, `setup-tests`, `browser-tests`, `autopilot`, `prototype`, `report-html`, `brief`, `audit`, `release`, `convert-any-to-md`, `publish-devflow`). The way you invoke commands depends on your AI Provider / Tool:
|
|
42
42
|
- **Canonical Name (Plain text)**: Directly invoke or prompt the command by its standard name (e.g., `feature`, `implement`, `continuous`, `devflow`, `discovery`).
|
|
43
43
|
- **Slash Prefix (`/`)**: For tools supporting slash commands (Claude Code, Google Antigravity, Gemini CLI), e.g., `/feature`, `/fix`, `/implement`, `/continuous`, `/devflow`, `/discovery`.
|
|
44
44
|
- **Dollar Prefix (`$`)**: For OpenAI Codex CLI or skill-invocation tools, e.g., `$feature`, `$fix`, `$continuous`, `$devflow`, `$discovery`.
|
|
@@ -82,7 +82,11 @@ All development tasks execute through the 4-step progressive lifecycle:
|
|
|
82
82
|
|
|
83
83
|
The dashboard and status reporting can show the active or most recent substantial DevFlow command from `devflow/.state/run.json`. This file is generated local state, ignored by Git, and never part of a feature commit.
|
|
84
84
|
|
|
85
|
+
<<<<<<< HEAD
|
|
85
86
|
Commands with meaningful progress or a durable handoff should write it when the state directory exists: `onboard`, `adopt`, `discovery`, `overview`, `feature`, `fix`, `rollback`, `implement`, `debug`, `check`, `audit`, `tests`, `browser-tests`, `ci`, `prototype`, `autopilot`, `continuous`, `complete`, and `release`. Short read-only orientation commands such as `brief`, `try`, `status`, and `doctor` do not need activity state.
|
|
87
|
+
=======
|
|
88
|
+
Commands with meaningful progress or a durable handoff should write it when the state directory exists: `onboard`, `adopt`, `discovery`, `overview`, `feature`, `fix`, `rollback`, `implement`, `debug`, `check`, `audit`, `setup-tests`, `ci`, `prototype`, `autopilot`, `continuous`, `complete`, and `release`. Short read-only orientation commands such as `brief`, `try`, `status`, and `doctor` do not need activity state.
|
|
89
|
+
>>>>>>> feature/064-bughunter-master-skill-and-sync-engine
|
|
86
90
|
|
|
87
91
|
Writing the initial activity record is the first action of a tracked command, before project inspection, preflight, or other tool calls. This one generated state write does not authorize product changes or bypass any safety check. Set status to `running`, use the command name and a truthful initial summary, then replace the record at meaningful milestones. On a preflight stop or another blocker, set it to `blocked` with the exact recovery command. Leave the final state in place for the next session; the next tracked command replaces it. Use this schema:
|
|
88
92
|
|
|
@@ -147,3 +147,11 @@
|
|
|
147
147
|
- [x] **18. Sync Upstream v1.1.0 & v1.2.0 (Browser Tests & Independent Review System) (`DISC-20260901-001`)** `[Size: M]`
|
|
148
148
|
- *Dependencies*: None
|
|
149
149
|
- *Scope*: ผสานสคิล `/browser-tests` สำหรับ Playwright/E2E testing, ระบบตรวจทานอิสระ Independent Audit Review (`audit independent current` พร้อม `review.ts` และ `review.md`), อัปเกรด Config Quality Gates (`independentReview`), อัปเดต CLI Engine/Dashboard และปรับปรุงคู่มือ Scaffolding
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 🛡️ Phase 19: BugHunter Master Skill & Upstream Knowledge Sync Engine
|
|
154
|
+
|
|
155
|
+
- [x] **19. BugHunter Master Skill & Upstream Knowledge Sync Engine (`DISC-20260901-002`, `065-bughunter-master-skill-and-sync-engine`)** `[Size: M]`
|
|
156
|
+
- *Dependencies*: Feature 17, Feature 18
|
|
157
|
+
- *Scope*: พัฒนา Master Orchestrator Skill `bughunter` พร้อมระบบ Sync ดึงคลังความรู้ 83 skills และ report patterns จาก `elementalsouls/Claude-BugHunter` เก็บใน `devflow/.vendor/bughunter/`, รองรับคำสั่ง `nexus-devflow skill add/update bughunter`, อัปเดต Manifest และผสานเข้ากับ Multi-Adapter (`.agents/`, `.claude/`)
|