@owasp-aghast/aghast 0.8.0-beta.0 → 0.8.0-beta.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/dist/new-check.js CHANGED
@@ -267,25 +267,25 @@ async function checkFileExists(path) {
267
267
  function generateSemgrepRule(checkId, language) {
268
268
  const langInfo = SUPPORTED_LANGUAGES[language];
269
269
  const semgrepLang = langInfo ? langInfo.semgrepId : 'javascript';
270
- return `rules:
271
- - id: ${checkId}
272
- pattern: |
273
- # TODO: Replace with your Semgrep pattern
274
- ...
275
- message: >
276
- TODO: Describe the issue this rule detects.
277
- languages: [${semgrepLang}]
278
- severity: WARNING
270
+ return `rules:
271
+ - id: ${checkId}
272
+ pattern: |
273
+ # TODO: Replace with your Semgrep pattern
274
+ ...
275
+ message: >
276
+ TODO: Describe the issue this rule detects.
277
+ languages: [${semgrepLang}]
278
+ severity: WARNING
279
279
  `;
280
280
  }
281
281
  function generateSemgrepTestFile(checkId, language) {
282
282
  const langInfo = SUPPORTED_LANGUAGES[language];
283
283
  const comment = langInfo ? langInfo.commentPrefix : '#';
284
- return `${comment} ruleid: ${checkId}
285
- ${comment} TODO: Add code that SHOULD be matched by the rule
286
-
287
- ${comment} ok: ${checkId}
288
- ${comment} TODO: Add code that should NOT be matched by the rule
284
+ return `${comment} ruleid: ${checkId}
285
+ ${comment} TODO: Add code that SHOULD be matched by the rule
286
+
287
+ ${comment} ok: ${checkId}
288
+ ${comment} TODO: Add code that should NOT be matched by the rule
289
289
  `;
290
290
  }
291
291
  // --- File Generation ---
@@ -299,16 +299,16 @@ function generateMarkdown(inputs) {
299
299
  if (inputs.flagCondition) {
300
300
  resultLines += `\n- **FLAG**: ${inputs.flagCondition}`;
301
301
  }
302
- return `### ${inputs.name}
303
-
304
- #### Overview
305
- ${inputs.checkOverview}
306
-
307
- #### What to Check
308
- ${itemLines}
309
-
310
- #### Result
311
- ${resultLines}
302
+ return `### ${inputs.name}
303
+
304
+ #### Overview
305
+ ${inputs.checkOverview}
306
+
307
+ #### What to Check
308
+ ${itemLines}
309
+
310
+ #### Result
311
+ ${resultLines}
312
312
  `;
313
313
  }
314
314
  function generateCheckDefinition(inputs) {
@@ -369,58 +369,58 @@ function generateRegistryEntry(inputs) {
369
369
  };
370
370
  }
371
371
  // --- Main ---
372
- const NEW_CHECK_HELP = `Usage: aghast new-check --config-dir <path> [options]
373
-
374
- Scaffold a new security check. Runs interactively by default, prompting for any
375
- values not provided via flags. If the config directory does not exist, it will be
376
- created with an empty checks-config.json.
377
-
378
- Options:
379
- --config-dir <path> Config directory containing checks-config.json and
380
- checks/ folder. Created if it does not exist.
381
- Required unless AGHAST_CONFIG_DIR is set.
382
- --id <id> Check ID (will be prefixed with "aghast-" if needed)
383
- --name <name> Human-readable check name (e.g. "XSS Prevention")
384
- --severity <level> Severity: critical, high, medium, low, informational
385
- --confidence <level> Confidence: high, medium, low
386
- --model <model> AI model override for this check (e.g. claude-sonnet-4-6)
387
- --repositories <urls> Comma-separated repository URLs (empty = all repos)
388
- --check-overview <text> Description of what this check does
389
- --check-items <items> Comma-separated list of things to check
390
- --pass-condition <text> Condition for a PASS result
391
- --fail-condition <text> Condition for a FAIL result
392
- --flag-condition <text> Condition for a FLAG result (optional)
393
- --check-type <type> Check type (default: targeted). See 'Check types' below
394
- --discovery <name> Discovery mechanism for targeted/static checks. See below
395
- --semgrep-rules <paths> Comma-separated Semgrep rule file paths (for semgrep discovery)
396
- --sarif-file <path> SARIF file path in check definition, relative to repo (for sarif discovery)
397
- --analysis-mode <mode> Analysis mode for targeted checks (default: custom). See below
398
- --max-targets <n> Maximum number of targets to analyze
399
- --language <lang> Language for Semgrep template: python, javascript, typescript
400
- -h, --help Show this help message
401
-
402
- Environment variables:
403
- AGHAST_CONFIG_DIR Default config directory (CLI --config-dir takes precedence)
404
-
405
- Check types:
406
- repository AI analyzes the whole repository
407
- targeted Discovery finds specific targets, AI analyzes each one
408
- static Discovery finds targets, mapped directly to issues (no AI)
409
-
410
- Discovery mechanisms:
411
- semgrep Semgrep rules find targets (targeted or static)
412
- openant OpenAnt code analysis finds units (targeted only)
413
- sarif External SARIF file provides findings (targeted only)
414
-
415
- Analysis modes (targeted checks only):
416
- custom Use a custom instructions markdown file (default)
417
- false-positive-validation AI validates each finding as true/false positive (semgrep, sarif)
418
- general-vuln-discovery AI scans each target for general security vulnerabilities (all)
419
-
420
- Examples:
421
- aghast new-check --config-dir ./my-checks
422
- aghast new-check --config-dir ./my-checks --id xss --name "XSS Prevention"
423
- aghast new-check --config-dir ./my-checks --check-type targeted --discovery semgrep --language typescript
372
+ const NEW_CHECK_HELP = `Usage: aghast new-check --config-dir <path> [options]
373
+
374
+ Scaffold a new security check. Runs interactively by default, prompting for any
375
+ values not provided via flags. If the config directory does not exist, it will be
376
+ created with an empty checks-config.json.
377
+
378
+ Options:
379
+ --config-dir <path> Config directory containing checks-config.json and
380
+ checks/ folder. Created if it does not exist.
381
+ Required unless AGHAST_CONFIG_DIR is set.
382
+ --id <id> Check ID (will be prefixed with "aghast-" if needed)
383
+ --name <name> Human-readable check name (e.g. "XSS Prevention")
384
+ --severity <level> Severity: critical, high, medium, low, informational
385
+ --confidence <level> Confidence: high, medium, low
386
+ --model <model> AI model override for this check (e.g. claude-sonnet-4-6)
387
+ --repositories <urls> Comma-separated repository URLs (empty = all repos)
388
+ --check-overview <text> Description of what this check does
389
+ --check-items <items> Comma-separated list of things to check
390
+ --pass-condition <text> Condition for a PASS result
391
+ --fail-condition <text> Condition for a FAIL result
392
+ --flag-condition <text> Condition for a FLAG result (optional)
393
+ --check-type <type> Check type (default: targeted). See 'Check types' below
394
+ --discovery <name> Discovery mechanism for targeted/static checks. See below
395
+ --semgrep-rules <paths> Comma-separated Semgrep rule file paths (for semgrep discovery)
396
+ --sarif-file <path> SARIF file path in check definition, relative to repo (for sarif discovery)
397
+ --analysis-mode <mode> Analysis mode for targeted checks (default: custom). See below
398
+ --max-targets <n> Maximum number of targets to analyze
399
+ --language <lang> Language for Semgrep template: python, javascript, typescript
400
+ -h, --help Show this help message
401
+
402
+ Environment variables:
403
+ AGHAST_CONFIG_DIR Default config directory (CLI --config-dir takes precedence)
404
+
405
+ Check types:
406
+ repository AI analyzes the whole repository
407
+ targeted Discovery finds specific targets, AI analyzes each one
408
+ static Discovery finds targets, mapped directly to issues (no AI)
409
+
410
+ Discovery mechanisms:
411
+ semgrep Semgrep rules find targets (targeted or static)
412
+ openant OpenAnt code analysis finds units (targeted only)
413
+ sarif External SARIF file provides findings (targeted only)
414
+
415
+ Analysis modes (targeted checks only):
416
+ custom Use a custom instructions markdown file (default)
417
+ false-positive-validation AI validates each finding as true/false positive (semgrep, sarif)
418
+ general-vuln-discovery AI scans each target for general security vulnerabilities (all)
419
+
420
+ Examples:
421
+ aghast new-check --config-dir ./my-checks
422
+ aghast new-check --config-dir ./my-checks --id xss --name "XSS Prevention"
423
+ aghast new-check --config-dir ./my-checks --check-type targeted --discovery semgrep --language typescript
424
424
  aghast new-check --config-dir ./my-checks --check-type targeted --discovery sarif --sarif-file ./sast-results.sarif`;
425
425
  export async function runNewCheck(args) {
426
426
  if (args.includes('--help') || args.includes('-h')) {
package/dist/stats.js CHANGED
@@ -10,25 +10,25 @@ import 'dotenv/config';
10
10
  import { ERROR_CODES, formatError } from './error-codes.js';
11
11
  import { queryScanHistory } from './scan-history.js';
12
12
  import { formatCostSourceLabel } from './cost-calculator.js';
13
- const STATS_HELP = `Usage: aghast stats [options]
14
-
15
- Print a cost summary from the scan history (~/.aghast/history.json).
16
-
17
- Options:
18
- --repo <substring> Filter to scans whose repository path or URL contains
19
- the substring. Matches loosely — "alpha" matches both
20
- "/repos/alpha" and "/repos/alpha2".
21
- --model <substring> Filter to scans that used a model containing the
22
- substring (loose match).
23
- --since <iso-time> Only include scans started at or after this timestamp
24
- --until <iso-time> Only include scans started at or before this timestamp
25
- --json Output raw JSON instead of a formatted table
26
- --history-file <path> Override the history file path (default: ~/.aghast/history.json)
27
- --help Show this help message
28
-
29
- Examples:
30
- aghast stats
31
- aghast stats --repo my-org/my-repo --since 2026-01-01
13
+ const STATS_HELP = `Usage: aghast stats [options]
14
+
15
+ Print a cost summary from the scan history (~/.aghast/history.json).
16
+
17
+ Options:
18
+ --repo <substring> Filter to scans whose repository path or URL contains
19
+ the substring. Matches loosely — "alpha" matches both
20
+ "/repos/alpha" and "/repos/alpha2".
21
+ --model <substring> Filter to scans that used a model containing the
22
+ substring (loose match).
23
+ --since <iso-time> Only include scans started at or after this timestamp
24
+ --until <iso-time> Only include scans started at or before this timestamp
25
+ --json Output raw JSON instead of a formatted table
26
+ --history-file <path> Override the history file path (default: ~/.aghast/history.json)
27
+ --help Show this help message
28
+
29
+ Examples:
30
+ aghast stats
31
+ aghast stats --repo my-org/my-repo --since 2026-01-01
32
32
  aghast stats --model claude-sonnet --json`;
33
33
  function parseStatsArgs(args) {
34
34
  if (args.includes('--help') || args.includes('-h')) {
package/dist/types.d.ts CHANGED
@@ -301,9 +301,16 @@ export interface AgentProvider {
301
301
  /**
302
302
  * Check that required prerequisites (API keys, binaries, etc.) are available.
303
303
  * Called before initialize() to give early feedback. Throws with a descriptive
304
- * error message if a prerequisite is missing.
304
+ * error message if a prerequisite is missing. May be async (e.g. the Claude Code
305
+ * provider probes local login status when no API key is set).
305
306
  */
306
- checkPrerequisites?(): void;
307
+ checkPrerequisites?(): void | Promise<void>;
308
+ /**
309
+ * Whether the provider resolved to local (subscription-covered) authentication rather
310
+ * than an API key. Used to label cost/budget output. Returns undefined-equivalent when
311
+ * the provider has no concept of local mode (callers fall back to env detection).
312
+ */
313
+ isLocalMode?(): boolean;
307
314
  getModelName?(): string;
308
315
  setModel?(model: string): void;
309
316
  cleanup?(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AA2WtC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAwB;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAkXtC;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,61 +1,61 @@
1
- {
2
- "name": "@owasp-aghast/aghast",
3
- "version": "0.8.0-beta.0",
4
- "description": "AI Guided Hybrid Application Static Testing",
5
- "type": "module",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/owasp-aghast/aghast.git"
9
- },
10
- "bin": {
11
- "aghast": "dist/cli.js"
12
- },
13
- "files": [
14
- "dist/",
15
- "config/",
16
- "assets/"
17
- ],
18
- "scripts": {
19
- "prepare": "tsc",
20
- "build": "tsc",
21
- "test": "node --import tsx --test tests/*.test.ts",
22
- "test:coverage": "node --experimental-test-coverage --import tsx --test tests/*.test.ts",
23
- "test:ci": "node --import tsx --test --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml tests/*.test.ts",
24
- "test:semgrep": "node --import tsx --test tests/semgrep-integration.itest.ts",
25
- "test:openant": "node --import tsx --test tests/openant-integration.itest.ts",
26
- "test:opencode": "node --import tsx --test --test-force-exit tests/opencode-integration.itest.ts",
27
- "lint": "eslint src/ tests/",
28
- "lint:fix": "eslint --fix src/ tests/",
29
- "scan": "tsx src/cli.ts scan",
30
- "new-check": "tsx src/cli.ts new-check",
31
- "build-config": "tsx src/cli.ts build-config"
32
- },
33
- "keywords": [],
34
- "author": "",
35
- "license": "AGPL-3.0-or-later",
36
- "engines": {
37
- "node": ">=20.0.0"
38
- },
39
- "packageManager": "npm@10.9.2",
40
- "devDependencies": {
41
- "@eslint/js": "^10.0.1",
42
- "@types/node": "^25.5.0",
43
- "@types/picomatch": "^4.0.2",
44
- "eslint": "^10.0.3",
45
- "fast-check": "^4.6.0",
46
- "tsx": "^4.21.0",
47
- "typescript": "~6.0.2",
48
- "typescript-eslint": "^8.57.1"
49
- },
50
- "dependencies": {
51
- "@anthropic-ai/claude-agent-sdk": "^0.3.144",
52
- "@opencode-ai/sdk": "^1.4.6",
53
- "dotenv": "^17.3.1",
54
- "picocolors": "^1.1.1",
55
- "picomatch": "^4.0.4"
56
- },
57
- "overrides": {
58
- "minimatch@<10.2.3": ">=10.2.3",
59
- "@anthropic-ai/sdk@<0.91.1": ">=0.91.1"
60
- }
61
- }
1
+ {
2
+ "name": "@owasp-aghast/aghast",
3
+ "version": "0.8.0-beta.2",
4
+ "description": "AI Guided Hybrid Application Static Testing",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/owasp-aghast/aghast.git"
9
+ },
10
+ "bin": {
11
+ "aghast": "dist/cli.js"
12
+ },
13
+ "files": [
14
+ "dist/",
15
+ "config/",
16
+ "assets/"
17
+ ],
18
+ "scripts": {
19
+ "prepare": "tsc",
20
+ "build": "tsc",
21
+ "test": "node --import tsx --test tests/*.test.ts",
22
+ "test:coverage": "node --experimental-test-coverage --import tsx --test tests/*.test.ts",
23
+ "test:ci": "node --import tsx --test --test-reporter=spec --test-reporter-destination=stdout --test-reporter=junit --test-reporter-destination=test-results.xml tests/*.test.ts",
24
+ "test:semgrep": "node --import tsx --test tests/semgrep-integration.itest.ts",
25
+ "test:openant": "node --import tsx --test tests/openant-integration.itest.ts",
26
+ "test:opencode": "node --import tsx --test --test-force-exit tests/opencode-integration.itest.ts",
27
+ "lint": "eslint src/ tests/",
28
+ "lint:fix": "eslint --fix src/ tests/",
29
+ "scan": "tsx src/cli.ts scan",
30
+ "new-check": "tsx src/cli.ts new-check",
31
+ "build-config": "tsx src/cli.ts build-config"
32
+ },
33
+ "keywords": [],
34
+ "author": "",
35
+ "license": "AGPL-3.0-or-later",
36
+ "engines": {
37
+ "node": ">=20.0.0"
38
+ },
39
+ "packageManager": "npm@10.9.2",
40
+ "devDependencies": {
41
+ "@eslint/js": "^10.0.1",
42
+ "@types/node": "^25.5.0",
43
+ "@types/picomatch": "^4.0.2",
44
+ "eslint": "^10.0.3",
45
+ "fast-check": "^4.6.0",
46
+ "tsx": "^4.21.0",
47
+ "typescript": "~6.0.2",
48
+ "typescript-eslint": "^8.57.1"
49
+ },
50
+ "dependencies": {
51
+ "@anthropic-ai/claude-agent-sdk": "^0.3.144",
52
+ "@opencode-ai/sdk": "^1.4.6",
53
+ "dotenv": "^17.3.1",
54
+ "picocolors": "^1.1.1",
55
+ "picomatch": "^4.0.4"
56
+ },
57
+ "overrides": {
58
+ "minimatch@<10.2.3": ">=10.2.3",
59
+ "@anthropic-ai/sdk@<0.91.1": ">=0.91.1"
60
+ }
61
+ }
@@ -1,21 +0,0 @@
1
- /**
2
- * Lightweight mock AI provider for CLI `AGHAST_MOCK_AI` mode.
3
- *
4
- * Returns a fixed raw response without calling any AI API.
5
- * This is shipped with the package (unlike the full test mock in tests/mocks/).
6
- */
7
- import type { AIProvider, AIResponse, ProviderConfig } from './types.js';
8
- export declare class MockAIProvider implements AIProvider {
9
- private rawResponse;
10
- constructor(options: {
11
- rawResponse: string;
12
- });
13
- initialize(_config: ProviderConfig): Promise<void>;
14
- executeCheck(_instructions: string, _repositoryPath: string, _logPrefix?: string, _options?: {
15
- maxTurns?: number;
16
- }): Promise<AIResponse>;
17
- validateConfig(): Promise<boolean>;
18
- setModel(_model: string): void;
19
- enableDebug(): void;
20
- }
21
- //# sourceMappingURL=mock-ai-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-ai-provider.d.ts","sourceRoot":"","sources":["../src/mock-ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAItC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,UAAU,CAAC;IAOhB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9B,WAAW,IAAI,IAAI;CAGpB"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Lightweight mock AI provider for CLI `AGHAST_MOCK_AI` mode.
3
- *
4
- * Returns a fixed raw response without calling any AI API.
5
- * This is shipped with the package (unlike the full test mock in tests/mocks/).
6
- */
7
- export class MockAIProvider {
8
- rawResponse;
9
- constructor(options) {
10
- this.rawResponse = options.rawResponse;
11
- }
12
- async initialize(_config) {
13
- // No-op
14
- }
15
- async executeCheck(_instructions, _repositoryPath, _logPrefix, _options) {
16
- return {
17
- raw: this.rawResponse,
18
- parsed: undefined,
19
- };
20
- }
21
- async validateConfig() {
22
- return true;
23
- }
24
- setModel(_model) {
25
- // No-op for mock provider
26
- }
27
- enableDebug() {
28
- // No-op
29
- }
30
- }
31
- //# sourceMappingURL=mock-ai-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-ai-provider.js","sourceRoot":"","sources":["../src/mock-ai-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,cAAc;IACjB,WAAW,CAAS;IAE5B,YAAY,OAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,eAAuB,EACvB,UAAmB,EACnB,QAAgC;QAEhC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,0BAA0B;IAC5B,CAAC;IAED,WAAW;QACT,QAAQ;IACV,CAAC;CACF"}