@kubbisec/ai-win32-x64 0.1.33 → 0.1.34
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/bin/kubbisec.exe +0 -0
- package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.js +4 -4
- package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.d.ts +3 -2
- package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.js +4 -1
- package/bundled/node_modules/@kubbisec/shared/dist/dto/create-report.dto.js.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/enums.d.ts +52 -1
- package/bundled/node_modules/@kubbisec/shared/dist/enums.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/enums.js +52 -1
- package/bundled/node_modules/@kubbisec/shared/dist/enums.js.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.d.ts +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.js +2 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/index.js.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.d.ts +4 -2
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.js +49 -3
- package/bundled/node_modules/@kubbisec/shared/dist/product-docs/mcp-tools-catalog.js.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/security/index.d.ts +1 -0
- package/bundled/node_modules/@kubbisec/shared/dist/security/index.d.ts.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/security/index.js +1 -0
- package/bundled/node_modules/@kubbisec/shared/dist/security/index.js.map +1 -1
- package/bundled/node_modules/@kubbisec/shared/dist/security/report-provider-catalog.d.ts +15 -0
- package/bundled/node_modules/@kubbisec/shared/dist/security/report-provider-catalog.d.ts.map +1 -0
- package/bundled/node_modules/@kubbisec/shared/dist/security/report-provider-catalog.js +185 -0
- package/bundled/node_modules/@kubbisec/shared/dist/security/report-provider-catalog.js.map +1 -0
- package/package.json +1 -1
package/bin/kubbisec.exe
CHANGED
|
Binary file
|
package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const KUBBISEC_MCP_INSTRUCTIONS = "<kubbisec-mcp-instructions>\n<kubbisec-product-knowledge>\n <products>\n <product id=\"naus\" npm=\"@kubbisec/naus\" bin=\"naus\">KubbiSec CI engine: .naus.yml pipelines, runners, validate/plan/run. Cloud CI uses Env Packs; local run uses --env-file / --secret-file.</product>\n <product id=\"aspm\" npm=\"@kubbisec/aspm\" bin=\"aspm\">Security CLI: parse/upload scanner reports (trivy, gitleaks, syft, osv, semgrep, sonar, nmap, skipfish), coverage, gate.</product>\n <product id=\"ai\" npm=\"@kubbisec/ai\" bin=\"kubbisec\">CLI hub: login, findings (ls/show), fix/watch/chat, optional naus/aspm forwarding when binaries are on PATH.</product>\n </products>\n <boundaries>\n <boundary>NAUS YAML is NOT GitHub Actions: top-level run: (never jobs:); script: + depends_on: (never commands:/needs:/steps:); ASPM jobs use kind: aspm|aspm_matrix|aspm_gate with tool: (never scanner:).</boundary>\n <boundary>aspm-cicd.md / aspm_docs section aspm-cicd describe GitHub Actions only. For KubbiSec native CI use naus_pipeline_docs (naus-aspm-integration, naus-aspm-preset, naus-aspm-matrix, naus-aspm-gate).</boundary>\n <boundary>Do not mix CLIs: naus for pipelines/runners; aspm for scan upload/parse; kubbisec for AI remediation/chat. Org flag -o uses organization slug.</boundary>\n </boundaries>\n <anti-hallucination>\n <rule>HARD-GATE: never invent CLI flags or full command lines \u2014 call naus_pipeline_docs (naus-commands), aspm_docs (aspm-commands), ai_docs (ai-commands), or security_scanner_playbook first.</rule>\n <rule>HARD-GATE: never output fenced NAUS pipeline YAML unless naus_validate_yaml (or naus_local_validate) returned ok in this session.</rule>\n <rule>HARD-GATE: never claim a tool/action succeeded without a successful tool_result in this turn.</rule>\n </anti-hallucination>\n <tool-routing>\n <route intent=\"platform-knowledge\">kubbisec_mcp_knowledge (start of naus/aspm/ai product questions)</route>\n <route intent=\"naus-docs-yaml\">naus_pipeline_docs \u2192 naus_schema_overview \u2192 validate_naus_pipeline_yaml</route>\n <route intent=\"aspm-docs\">aspm_docs; scanners: security_scanners_catalog \u2192 security_scanner_playbook</route>\n <route intent=\"ai-cli-docs\">ai_docs (ai-commands, ai-watch, mcp-login, scan, scan-watch)</route>\n <route intent=\"local-clis\">naus_local_* / aspm_local_* / github_local_* always available in chat (no --extended-context); github uses host-first auth; missing naus/aspm auto-install @kubbisec/naus|aspm</route>\n </tool-routing>\n</kubbisec-product-knowledge>\n\n<flows>\n <flow id=\"findings\">Recommended flow: use resolve_project_by_repository with repository_url or repositoryUrl (Git URL or org/repo), then list_vulnerabilities with the same repository fields or project_id/projectId. Tools accept snake_case and camelCase interchangeably. To act on a finding, use get_vulnerability (MCP) or get_finding_summary / list_findings (assistant CLI), then generate_remediation_plan and, if you want automation, start_ai_remediation_run followed by get_ai_remediation_run_status/get_ai_remediation_run_logs (run_id or runId). Pass vulnerabilityId (or vulnerability_id) in tool arguments when using kbs chat \u2014 there is no separate set_active_finding tool.</flow>\n <flow id=\"naus-cloud\">Naus CI YAML in MCP: call validate_naus_pipeline_yaml before proposing or persisting YAML.
|
|
1
|
+
export declare const KUBBISEC_MCP_INSTRUCTIONS = "<kubbisec-mcp-instructions>\n<kubbisec-product-knowledge>\n <products>\n <product id=\"naus\" npm=\"@kubbisec/naus\" bin=\"naus\">KubbiSec CI engine: .naus.yml pipelines, runners, validate/plan/run. Cloud CI uses Env Packs; local run uses --env-file / --secret-file.</product>\n <product id=\"aspm\" npm=\"@kubbisec/aspm\" bin=\"aspm\">Security CLI: parse/upload scanner reports (trivy, gitleaks, syft, osv, semgrep, sonar, nmap, skipfish), coverage, gate.</product>\n <product id=\"ai\" npm=\"@kubbisec/ai\" bin=\"kubbisec\">CLI hub: login, findings (ls/show), fix/watch/chat, optional naus/aspm forwarding when binaries are on PATH.</product>\n </products>\n <boundaries>\n <boundary>NAUS YAML is NOT GitHub Actions: top-level run: (never jobs:); script: + depends_on: (never commands:/needs:/steps:); ASPM jobs use kind: aspm|aspm_matrix|aspm_gate with tool: (never scanner:).</boundary>\n <boundary>aspm-cicd.md / aspm_docs section aspm-cicd describe GitHub Actions only. For KubbiSec native CI use naus_pipeline_docs (naus-aspm-integration, naus-aspm-preset, naus-aspm-matrix, naus-aspm-gate).</boundary>\n <boundary>Do not mix CLIs: naus for pipelines/runners; aspm for scan upload/parse; kubbisec for AI remediation/chat. Org flag -o uses organization slug.</boundary>\n </boundaries>\n <anti-hallucination>\n <rule>HARD-GATE: never invent CLI flags or full command lines \u2014 call naus_pipeline_docs (naus-commands), aspm_docs (aspm-commands), ai_docs (ai-commands), or security_scanner_playbook first.</rule>\n <rule>HARD-GATE: never output fenced NAUS pipeline YAML unless naus_validate_yaml (or naus_local_validate) returned ok in this session.</rule>\n <rule>HARD-GATE: never claim a tool/action succeeded without a successful tool_result in this turn.</rule>\n </anti-hallucination>\n <tool-routing>\n <route intent=\"platform-knowledge\">kubbisec_mcp_knowledge (start of naus/aspm/ai product questions)</route>\n <route intent=\"naus-docs-yaml\">naus_pipeline_docs \u2192 naus_schema_overview \u2192 validate_naus_pipeline_yaml</route>\n <route intent=\"aspm-docs\">aspm_docs; scanners: security_scanners_catalog \u2192 security_scanner_playbook</route>\n <route intent=\"ai-cli-docs\">ai_docs (ai-commands, ai-watch, mcp-login, scan, scan-watch)</route>\n <route intent=\"local-clis\">naus_local_* / aspm_local_* / github_local_* always available in chat (no --extended-context); github uses host-first auth; missing naus/aspm auto-install @kubbisec/naus|aspm</route>\n </tool-routing>\n</kubbisec-product-knowledge>\n\n<flows>\n <flow id=\"findings\">Recommended flow: use resolve_project_by_repository with repository_url or repositoryUrl (Git URL or org/repo), then list_vulnerabilities with the same repository fields or project_id/projectId. Tools accept snake_case and camelCase interchangeably. To act on a finding, use get_vulnerability (MCP) or get_finding_summary / list_findings (assistant CLI), then generate_remediation_plan and, if you want automation, start_ai_remediation_run followed by get_ai_remediation_run_status/get_ai_remediation_run_logs (run_id or runId). Pass vulnerabilityId (or vulnerability_id) in tool arguments when using kbs chat \u2014 there is no separate set_active_finding tool.</flow>\n <flow id=\"naus-cloud\">Naus CI YAML in MCP: call validate_naus_pipeline_yaml or naus_validate_yaml before proposing or persisting YAML. The platform MCP exposes the same assistant functions via the API, including set_pipeline_yaml, trigger_run, naus_pipeline_docs and aspm_docs.</flow>\n <flow id=\"naus-aspm-local\">Naus / ASPM / git on the developer machine (kbs or kubbisec chat; no --extended-context required): naus_local_validate | naus_local_plan | naus_local_run; aspm_local_scan | aspm_local_upload | aspm_local_doctor; github_local_* uses host-first gh/git auth (platform token only as remediation fallback). Missing naus/aspm binaries auto-install @kubbisec/naus and @kubbisec/aspm globally via npm/pnpm (allowlist). Local naus run/plan: default .secrets and .env in cwd, or --env-file / --secret-file; naus_local_run and naus_local_plan accept envFiles/secretFiles arrays. Cloud runners use Env Packs instead. Runner enrollment: naus register / naus start \u2014 do not spawn long-lived daemons from MCP chat.</flow>\n <flow id=\"kubbisec-scan\">Hybrid local scan: MCP cannot run Pi/Superpowers on the host. (1) resolve_project_by_repository with repository_url or repositoryUrl (Git URL or org/repo), or project_id/projectId. (2) trigger_kubbisec_scan with profile quick|full|ci (default full), upload (default true), require_scanners/requireScanners optional. (3) get_kubbisec_scan_status with task_id/taskId until status is done, failed, or cancelled; list_kubbisec_scan_tasks or cancel_kubbisec_scan_task as needed. Requires kubbisec watch or kubbisec scan --watch on a developer machine with repo checkout \u2014 task stays pending until claimed. Findings upload with source=KUBBISEC_AI; filter via list_vulnerabilities source=KUBBISEC_AI. For immediate local scan without queue, user runs kubbisec scan in terminal (not an MCP tool).</flow>\n</flows>\n\n<intent-matrix>\n| Intent | Cloud (API/MCP) | Local (host CLI) |\n| Validate YAML | validate_naus_pipeline_yaml | naus_local_validate |\n| Run pipeline | trigger_run | naus_local_run |\n| Dependency graph | \u2014 | naus_local_plan |\n| Upload scan report | CI / findings API | aspm_local_upload |\n| ASPM CLI health | \u2014 | aspm_local_doctor |\n| Hybrid AI scan | trigger_kubbisec_scan | kubbisec scan |\n| Scan status | get_kubbisec_scan_status | stdout / .kubbisec/scan/<runId>/ |\n| Filter AI findings | list_vulnerabilities + source=KUBBISEC_AI | \u2014 |\n| MCP auth | hosted OAuth / device login | kubbisec mcp login |\n| Product docs | aspm_docs / naus_pipeline_docs (API) | \u2014 |\n</intent-matrix>\n\n<rules>\n <rule id=\"superpowers-mcp\">MCP agents must NOT invoke Pi/Superpowers skills or spawn kubbisec chat for scan orchestration. Documentation and pipeline tools are the same as the KubbiSec assistant and run through the API (aspm_docs, naus_pipeline_docs, naus_validate_yaml, trigger_run). Scan = trigger_kubbisec_scan; remediation = start_ai_remediation_run.</rule>\n <rule id=\"hosted-mcp\">Hosted MCP endpoint: https://mcp.kubbisec.com/mcp (OAuth2 for cloud IDEs). Local stdio: set KUBBISEC_ORGANIZATION_SLUG (preferred, e.g. minha-empresa) and KUBBISEC_API_KEY, or run kubbisec mcp login for device flow. Legacy KUBBISEC_ORGANIZATION_ID remains supported.</rule>\n</rules>\n</kubbisec-mcp-instructions>";
|
|
2
2
|
//# sourceMappingURL=mcp-instructions.d.ts.map
|
package/bundled/node_modules/@kubbisec/shared/dist/ai/product-knowledge/mcp-instructions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-instructions.d.ts","sourceRoot":"","sources":["../../../src/ai/product-knowledge/mcp-instructions.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"mcp-instructions.d.ts","sourceRoot":"","sources":["../../../src/ai/product-knowledge/mcp-instructions.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,k9MA4BT,CAAC"}
|
|
@@ -8,7 +8,7 @@ ${mental_map_1.KUBBISEC_PRODUCT_MENTAL_MAP_XML}
|
|
|
8
8
|
|
|
9
9
|
<flows>
|
|
10
10
|
<flow id="findings">Recommended flow: use resolve_project_by_repository with repository_url or repositoryUrl (Git URL or org/repo), then list_vulnerabilities with the same repository fields or project_id/projectId. Tools accept snake_case and camelCase interchangeably. To act on a finding, use get_vulnerability (MCP) or get_finding_summary / list_findings (assistant CLI), then generate_remediation_plan and, if you want automation, start_ai_remediation_run followed by get_ai_remediation_run_status/get_ai_remediation_run_logs (run_id or runId). Pass vulnerabilityId (or vulnerability_id) in tool arguments when using kbs chat — there is no separate set_active_finding tool.</flow>
|
|
11
|
-
<flow id="naus-cloud">Naus CI YAML in MCP: call validate_naus_pipeline_yaml before proposing or persisting YAML.
|
|
11
|
+
<flow id="naus-cloud">Naus CI YAML in MCP: call validate_naus_pipeline_yaml or naus_validate_yaml before proposing or persisting YAML. The platform MCP exposes the same assistant functions via the API, including set_pipeline_yaml, trigger_run, naus_pipeline_docs and aspm_docs.</flow>
|
|
12
12
|
<flow id="naus-aspm-local">Naus / ASPM / git on the developer machine (kbs or kubbisec chat; no --extended-context required): naus_local_validate | naus_local_plan | naus_local_run; aspm_local_scan | aspm_local_upload | aspm_local_doctor; github_local_* uses host-first gh/git auth (platform token only as remediation fallback). Missing naus/aspm binaries auto-install @kubbisec/naus and @kubbisec/aspm globally via npm/pnpm (allowlist). Local naus run/plan: default .secrets and .env in cwd, or --env-file / --secret-file; naus_local_run and naus_local_plan accept envFiles/secretFiles arrays. Cloud runners use Env Packs instead. Runner enrollment: naus register / naus start — do not spawn long-lived daemons from MCP chat.</flow>
|
|
13
13
|
<flow id="kubbisec-scan">Hybrid local scan: MCP cannot run Pi/Superpowers on the host. (1) resolve_project_by_repository with repository_url or repositoryUrl (Git URL or org/repo), or project_id/projectId. (2) trigger_kubbisec_scan with profile quick|full|ci (default full), upload (default true), require_scanners/requireScanners optional. (3) get_kubbisec_scan_status with task_id/taskId until status is done, failed, or cancelled; list_kubbisec_scan_tasks or cancel_kubbisec_scan_task as needed. Requires kubbisec watch or kubbisec scan --watch on a developer machine with repo checkout — task stays pending until claimed. Findings upload with source=KUBBISEC_AI; filter via list_vulnerabilities source=KUBBISEC_AI. For immediate local scan without queue, user runs kubbisec scan in terminal (not an MCP tool).</flow>
|
|
14
14
|
</flows>
|
|
@@ -16,7 +16,7 @@ ${mental_map_1.KUBBISEC_PRODUCT_MENTAL_MAP_XML}
|
|
|
16
16
|
<intent-matrix>
|
|
17
17
|
| Intent | Cloud (API/MCP) | Local (host CLI) |
|
|
18
18
|
| Validate YAML | validate_naus_pipeline_yaml | naus_local_validate |
|
|
19
|
-
| Run pipeline | trigger_run
|
|
19
|
+
| Run pipeline | trigger_run | naus_local_run |
|
|
20
20
|
| Dependency graph | — | naus_local_plan |
|
|
21
21
|
| Upload scan report | CI / findings API | aspm_local_upload |
|
|
22
22
|
| ASPM CLI health | — | aspm_local_doctor |
|
|
@@ -24,11 +24,11 @@ ${mental_map_1.KUBBISEC_PRODUCT_MENTAL_MAP_XML}
|
|
|
24
24
|
| Scan status | get_kubbisec_scan_status | stdout / .kubbisec/scan/<runId>/ |
|
|
25
25
|
| Filter AI findings | list_vulnerabilities + source=KUBBISEC_AI | — |
|
|
26
26
|
| MCP auth | hosted OAuth / device login | kubbisec mcp login |
|
|
27
|
-
| Product docs |
|
|
27
|
+
| Product docs | aspm_docs / naus_pipeline_docs (API) | — |
|
|
28
28
|
</intent-matrix>
|
|
29
29
|
|
|
30
30
|
<rules>
|
|
31
|
-
<rule id="superpowers-mcp">MCP agents must NOT invoke Pi/Superpowers skills or spawn kubbisec chat for scan orchestration.
|
|
31
|
+
<rule id="superpowers-mcp">MCP agents must NOT invoke Pi/Superpowers skills or spawn kubbisec chat for scan orchestration. Documentation and pipeline tools are the same as the KubbiSec assistant and run through the API (aspm_docs, naus_pipeline_docs, naus_validate_yaml, trigger_run). Scan = trigger_kubbisec_scan; remediation = start_ai_remediation_run.</rule>
|
|
32
32
|
<rule id="hosted-mcp">Hosted MCP endpoint: ${constants_1.KUBBISEC_HOSTED_MCP_URL} (OAuth2 for cloud IDEs). Local stdio: set KUBBISEC_ORGANIZATION_SLUG (preferred, e.g. minha-empresa) and KUBBISEC_API_KEY, or run kubbisec mcp login for device flow. Legacy KUBBISEC_ORGANIZATION_ID remains supported.</rule>
|
|
33
33
|
</rules>
|
|
34
34
|
</kubbisec-mcp-instructions>`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScanType } from "../enums";
|
|
2
2
|
import { CreateVulnerabilityDto } from "./create-vulnerability.dto";
|
|
3
3
|
export declare class ExecutionContextDto {
|
|
4
4
|
trigger?: string;
|
|
@@ -15,7 +15,8 @@ export declare class ExecutionContextDto {
|
|
|
15
15
|
ciPipelineRunId?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare class CreateReportDto {
|
|
18
|
-
|
|
18
|
+
/** Scanner id or document provider (`TRIVY`, `CodeQL`, `generic-sarif`). Column is varchar(20). */
|
|
19
|
+
source: string;
|
|
19
20
|
scanType: ScanType;
|
|
20
21
|
target: string;
|
|
21
22
|
rawFileName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-report.dto.d.ts","sourceRoot":"","sources":["../../src/dto/create-report.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-report.dto.d.ts","sourceRoot":"","sources":["../../src/dto/create-report.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,mBAAmB;IAG9B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAI3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,eAAe;IAC1B,mGAAmG;IAInG,MAAM,EAAG,MAAM,CAAC;IAGhB,QAAQ,EAAG,QAAQ,CAAC;IAKpB,MAAM,EAAG,MAAM,CAAC;IAKhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAKhC,eAAe,EAAG,sBAAsB,EAAE,CAAC;CAC5C"}
|
|
@@ -90,6 +90,7 @@ __decorate([
|
|
|
90
90
|
__metadata("design:type", String)
|
|
91
91
|
], ExecutionContextDto.prototype, "ciPipelineRunId", void 0);
|
|
92
92
|
class CreateReportDto {
|
|
93
|
+
/** Scanner id or document provider (`TRIVY`, `CodeQL`, `generic-sarif`). Column is varchar(20). */
|
|
93
94
|
source;
|
|
94
95
|
scanType;
|
|
95
96
|
target;
|
|
@@ -101,7 +102,9 @@ class CreateReportDto {
|
|
|
101
102
|
}
|
|
102
103
|
exports.CreateReportDto = CreateReportDto;
|
|
103
104
|
__decorate([
|
|
104
|
-
(0, class_validator_1.
|
|
105
|
+
(0, class_validator_1.IsString)(),
|
|
106
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
107
|
+
(0, class_validator_1.MaxLength)(20),
|
|
105
108
|
__metadata("design:type", String)
|
|
106
109
|
], CreateReportDto.prototype, "source", void 0);
|
|
107
110
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-report.dto.js","sourceRoot":"","sources":["../../src/dto/create-report.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAUyB;AACzB,
|
|
1
|
+
{"version":3,"file":"create-report.dto.js","sourceRoot":"","sources":["../../src/dto/create-report.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAUyB;AACzB,oCAAoC;AACpC,yEAAoE;AAEpE,MAAa,mBAAmB;IAG9B,OAAO,CAAU;IAIjB,SAAS,CAAU;IAInB,MAAM,CAAU;IAIhB,aAAa,CAAU;IAIvB,gBAAgB,CAAU;IAI1B,iBAAiB,CAAU;IAI3B,QAAQ,CAAU;IAIlB,OAAO,CAAU;IAIjB,UAAU,CAAU;IAIpB,WAAW,CAAU;IAIrB,UAAU,CAAU;IAIpB,eAAe,CAAU;CAC1B;AAhDD,kDAgDC;AA7CC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACQ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0DACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;6DACe;AAI1B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8DACgB;AAI3B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;wDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACS;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACc;AAG3B,MAAa,eAAe;IAC1B,mGAAmG;IAInG,MAAM,CAAU;IAGhB,QAAQ,CAAY;IAKpB,MAAM,CAAU;IAKhB,WAAW,CAAU;IAIrB,SAAS,CAAU;IAInB,QAAQ,CAA2B;IAKnC,SAAS,CAAuB;IAKhC,eAAe,CAA4B;CAC5C;AArCD,0CAqCC;AAhCC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,CAAC;;+CACE;AAGhB;IADC,IAAA,wBAAM,EAAC,gBAAQ,CAAC;;iDACG;AAKpB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;+CACC;AAKhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,GAAG,CAAC;;oDACM;AAIrB;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;kDACM;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;iDACsB;AAKnC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC;8BACpB,mBAAmB;kDAAC;AAKhC;IAHC,IAAA,yBAAO,GAAE;IACT,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iDAAsB,CAAC;;wDACQ"}
|
|
@@ -17,7 +17,58 @@ export declare enum ScanType {
|
|
|
17
17
|
WEB = "WEB",
|
|
18
18
|
DEPENDENCIES = "DEPENDENCIES",
|
|
19
19
|
SECRETS = "SECRETS",
|
|
20
|
-
SBOM = "SBOM"
|
|
20
|
+
SBOM = "SBOM",
|
|
21
|
+
/** Category ids accepted alongside the legacy values above. */
|
|
22
|
+
sast = "sast",
|
|
23
|
+
sca = "sca",
|
|
24
|
+
secrets = "secrets",
|
|
25
|
+
dast = "dast",
|
|
26
|
+
iac = "iac",
|
|
27
|
+
container = "container",
|
|
28
|
+
sbom = "sbom",
|
|
29
|
+
api_security = "api_security",
|
|
30
|
+
k8s_manifest = "k8s_manifest",
|
|
31
|
+
k8s_runtime = "k8s_runtime",
|
|
32
|
+
cspm = "cspm",
|
|
33
|
+
cwpp = "cwpp",
|
|
34
|
+
cnapp = "cnapp",
|
|
35
|
+
host_vuln = "host_vuln",
|
|
36
|
+
network_vuln = "network_vuln",
|
|
37
|
+
attack_surface = "attack_surface",
|
|
38
|
+
port_scanning = "port_scanning",
|
|
39
|
+
web_vuln = "web_vuln",
|
|
40
|
+
cve = "cve",
|
|
41
|
+
malware = "malware",
|
|
42
|
+
supply_chain = "supply_chain",
|
|
43
|
+
dependency_confusion = "dependency_confusion",
|
|
44
|
+
typosquatting = "typosquatting",
|
|
45
|
+
license = "license",
|
|
46
|
+
binary = "binary",
|
|
47
|
+
firmware = "firmware",
|
|
48
|
+
mobile = "mobile",
|
|
49
|
+
android = "android",
|
|
50
|
+
ios = "ios",
|
|
51
|
+
infra_compliance = "infra_compliance",
|
|
52
|
+
k8s_compliance = "k8s_compliance",
|
|
53
|
+
docker_compliance = "docker_compliance",
|
|
54
|
+
cloud_compliance = "cloud_compliance",
|
|
55
|
+
policy_as_code = "policy_as_code",
|
|
56
|
+
cicd_security = "cicd_security",
|
|
57
|
+
github_posture = "github_posture",
|
|
58
|
+
gitlab_security = "gitlab_security",
|
|
59
|
+
repository_security = "repository_security",
|
|
60
|
+
artifact_registry = "artifact_registry",
|
|
61
|
+
package_registry = "package_registry",
|
|
62
|
+
pentest = "pentest",
|
|
63
|
+
bug_bounty = "bug_bounty",
|
|
64
|
+
red_team = "red_team",
|
|
65
|
+
bas = "bas",
|
|
66
|
+
threat_model = "threat_model",
|
|
67
|
+
threat_intel = "threat_intel",
|
|
68
|
+
exploit_intel = "exploit_intel",
|
|
69
|
+
epss = "epss",
|
|
70
|
+
llm_security = "llm_security",
|
|
71
|
+
mcp_agent = "mcp_agent"
|
|
21
72
|
}
|
|
22
73
|
export declare enum Severity {
|
|
23
74
|
CRITICAL = "CRITICAL",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC5B;AAED,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,57 @@ var ScanType;
|
|
|
24
24
|
ScanType["DEPENDENCIES"] = "DEPENDENCIES";
|
|
25
25
|
ScanType["SECRETS"] = "SECRETS";
|
|
26
26
|
ScanType["SBOM"] = "SBOM";
|
|
27
|
+
/** Category ids accepted alongside the legacy values above. */
|
|
28
|
+
ScanType["sast"] = "sast";
|
|
29
|
+
ScanType["sca"] = "sca";
|
|
30
|
+
ScanType["secrets"] = "secrets";
|
|
31
|
+
ScanType["dast"] = "dast";
|
|
32
|
+
ScanType["iac"] = "iac";
|
|
33
|
+
ScanType["container"] = "container";
|
|
34
|
+
ScanType["sbom"] = "sbom";
|
|
35
|
+
ScanType["api_security"] = "api_security";
|
|
36
|
+
ScanType["k8s_manifest"] = "k8s_manifest";
|
|
37
|
+
ScanType["k8s_runtime"] = "k8s_runtime";
|
|
38
|
+
ScanType["cspm"] = "cspm";
|
|
39
|
+
ScanType["cwpp"] = "cwpp";
|
|
40
|
+
ScanType["cnapp"] = "cnapp";
|
|
41
|
+
ScanType["host_vuln"] = "host_vuln";
|
|
42
|
+
ScanType["network_vuln"] = "network_vuln";
|
|
43
|
+
ScanType["attack_surface"] = "attack_surface";
|
|
44
|
+
ScanType["port_scanning"] = "port_scanning";
|
|
45
|
+
ScanType["web_vuln"] = "web_vuln";
|
|
46
|
+
ScanType["cve"] = "cve";
|
|
47
|
+
ScanType["malware"] = "malware";
|
|
48
|
+
ScanType["supply_chain"] = "supply_chain";
|
|
49
|
+
ScanType["dependency_confusion"] = "dependency_confusion";
|
|
50
|
+
ScanType["typosquatting"] = "typosquatting";
|
|
51
|
+
ScanType["license"] = "license";
|
|
52
|
+
ScanType["binary"] = "binary";
|
|
53
|
+
ScanType["firmware"] = "firmware";
|
|
54
|
+
ScanType["mobile"] = "mobile";
|
|
55
|
+
ScanType["android"] = "android";
|
|
56
|
+
ScanType["ios"] = "ios";
|
|
57
|
+
ScanType["infra_compliance"] = "infra_compliance";
|
|
58
|
+
ScanType["k8s_compliance"] = "k8s_compliance";
|
|
59
|
+
ScanType["docker_compliance"] = "docker_compliance";
|
|
60
|
+
ScanType["cloud_compliance"] = "cloud_compliance";
|
|
61
|
+
ScanType["policy_as_code"] = "policy_as_code";
|
|
62
|
+
ScanType["cicd_security"] = "cicd_security";
|
|
63
|
+
ScanType["github_posture"] = "github_posture";
|
|
64
|
+
ScanType["gitlab_security"] = "gitlab_security";
|
|
65
|
+
ScanType["repository_security"] = "repository_security";
|
|
66
|
+
ScanType["artifact_registry"] = "artifact_registry";
|
|
67
|
+
ScanType["package_registry"] = "package_registry";
|
|
68
|
+
ScanType["pentest"] = "pentest";
|
|
69
|
+
ScanType["bug_bounty"] = "bug_bounty";
|
|
70
|
+
ScanType["red_team"] = "red_team";
|
|
71
|
+
ScanType["bas"] = "bas";
|
|
72
|
+
ScanType["threat_model"] = "threat_model";
|
|
73
|
+
ScanType["threat_intel"] = "threat_intel";
|
|
74
|
+
ScanType["exploit_intel"] = "exploit_intel";
|
|
75
|
+
ScanType["epss"] = "epss";
|
|
76
|
+
ScanType["llm_security"] = "llm_security";
|
|
77
|
+
ScanType["mcp_agent"] = "mcp_agent";
|
|
27
78
|
})(ScanType || (exports.ScanType = ScanType = {}));
|
|
28
79
|
var Severity;
|
|
29
80
|
(function (Severity) {
|
|
@@ -127,7 +178,7 @@ exports.SOURCE_SCAN_TYPE_MAP = {
|
|
|
127
178
|
[ScanSource.SEMGREP]: ScanType.SAST,
|
|
128
179
|
[ScanSource.NMAP]: ScanType.NETWORK,
|
|
129
180
|
[ScanSource.SKIPFISH]: ScanType.WEB,
|
|
130
|
-
[ScanSource.OSV]: ScanType.
|
|
181
|
+
[ScanSource.OSV]: ScanType.sca,
|
|
131
182
|
[ScanSource.GITLEAKS]: ScanType.SECRETS,
|
|
132
183
|
[ScanSource.SYFT]: ScanType.SBOM,
|
|
133
184
|
[ScanSource.VULNDB]: ScanType.DEPENDENCIES,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { loadAiDocsBundleFromDisk } from "./ai-docs-bundle.loader.js";
|
|
2
2
|
export { ASPM_DOC_FILES, loadAspmDocsBundleFromDisk } from "./aspm-docs-bundle.loader.js";
|
|
3
3
|
export { buildDocSectionIndex, listDocSectionIds, type ParsedDocSection, parseDocBundle, pickDocSection, sectionIdFromHeading, } from "./doc-bundle-utils.js";
|
|
4
|
-
export { KUBBISEC_MCP_ACTION_TOOLS, KUBBISEC_MCP_TOOLS, } from "./mcp-tools-catalog.js";
|
|
4
|
+
export { KUBBISEC_ASSISTANT_PARITY_TOOLS, KUBBISEC_MCP_ACTION_TOOLS, KUBBISEC_MCP_TOOLS, } from "./mcp-tools-catalog.js";
|
|
5
5
|
export { loadNausPipelineDocsBundleFromDisk, NAUS_WEB_DOC_IDS, } from "./naus-pipeline-docs-bundle.loader.js";
|
|
6
6
|
export { NAUS_SCHEMA_OVERVIEW } from "./naus-schema-overview.js";
|
|
7
7
|
export { buildSecurityScannerPlaybookPayload, buildSecurityScannersCatalogPayload, isSecurityScannerId, listPlaybookNausKindAspmSnippets, PLAYBOOK_ASPM_MATRIX_EXAMPLE, type PlaybookTopic, parseSecurityScannerPlaybookArgs, SCANNER_META, type ScannerPlatform, type ScannerPlaybookEntry, SECURITY_SCANNER_IDS, type SecurityScannerId, wrapPlaybookSnippetAsPipelineYaml, } from "./security-scanner-playbooks.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product-docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kCAAkC,EAClC,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,mBAAmB,EACnB,gCAAgC,EAChC,4BAA4B,EAC5B,KAAK,aAAa,EAClB,gCAAgC,EAChC,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,iCAAiC,GAClC,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product-docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kCAAkC,EAClC,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,mBAAmB,EACnB,gCAAgC,EAChC,4BAA4B,EAC5B,KAAK,aAAa,EAClB,gCAAgC,EAChC,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,iCAAiC,GAClC,MAAM,iCAAiC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.wrapPlaybookSnippetAsPipelineYaml = exports.SECURITY_SCANNER_IDS = exports.SCANNER_META = exports.parseSecurityScannerPlaybookArgs = exports.PLAYBOOK_ASPM_MATRIX_EXAMPLE = exports.listPlaybookNausKindAspmSnippets = exports.isSecurityScannerId = exports.buildSecurityScannersCatalogPayload = exports.buildSecurityScannerPlaybookPayload = exports.NAUS_SCHEMA_OVERVIEW = exports.NAUS_WEB_DOC_IDS = exports.loadNausPipelineDocsBundleFromDisk = exports.KUBBISEC_MCP_TOOLS = exports.KUBBISEC_MCP_ACTION_TOOLS = exports.sectionIdFromHeading = exports.pickDocSection = exports.parseDocBundle = exports.listDocSectionIds = exports.buildDocSectionIndex = exports.loadAspmDocsBundleFromDisk = exports.ASPM_DOC_FILES = exports.loadAiDocsBundleFromDisk = void 0;
|
|
3
|
+
exports.wrapPlaybookSnippetAsPipelineYaml = exports.SECURITY_SCANNER_IDS = exports.SCANNER_META = exports.parseSecurityScannerPlaybookArgs = exports.PLAYBOOK_ASPM_MATRIX_EXAMPLE = exports.listPlaybookNausKindAspmSnippets = exports.isSecurityScannerId = exports.buildSecurityScannersCatalogPayload = exports.buildSecurityScannerPlaybookPayload = exports.NAUS_SCHEMA_OVERVIEW = exports.NAUS_WEB_DOC_IDS = exports.loadNausPipelineDocsBundleFromDisk = exports.KUBBISEC_MCP_TOOLS = exports.KUBBISEC_MCP_ACTION_TOOLS = exports.KUBBISEC_ASSISTANT_PARITY_TOOLS = exports.sectionIdFromHeading = exports.pickDocSection = exports.parseDocBundle = exports.listDocSectionIds = exports.buildDocSectionIndex = exports.loadAspmDocsBundleFromDisk = exports.ASPM_DOC_FILES = exports.loadAiDocsBundleFromDisk = void 0;
|
|
4
4
|
var ai_docs_bundle_loader_js_1 = require("./ai-docs-bundle.loader.js");
|
|
5
5
|
Object.defineProperty(exports, "loadAiDocsBundleFromDisk", { enumerable: true, get: function () { return ai_docs_bundle_loader_js_1.loadAiDocsBundleFromDisk; } });
|
|
6
6
|
var aspm_docs_bundle_loader_js_1 = require("./aspm-docs-bundle.loader.js");
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "parseDocBundle", { enumerable: true, get: functi
|
|
|
13
13
|
Object.defineProperty(exports, "pickDocSection", { enumerable: true, get: function () { return doc_bundle_utils_js_1.pickDocSection; } });
|
|
14
14
|
Object.defineProperty(exports, "sectionIdFromHeading", { enumerable: true, get: function () { return doc_bundle_utils_js_1.sectionIdFromHeading; } });
|
|
15
15
|
var mcp_tools_catalog_js_1 = require("./mcp-tools-catalog.js");
|
|
16
|
+
Object.defineProperty(exports, "KUBBISEC_ASSISTANT_PARITY_TOOLS", { enumerable: true, get: function () { return mcp_tools_catalog_js_1.KUBBISEC_ASSISTANT_PARITY_TOOLS; } });
|
|
16
17
|
Object.defineProperty(exports, "KUBBISEC_MCP_ACTION_TOOLS", { enumerable: true, get: function () { return mcp_tools_catalog_js_1.KUBBISEC_MCP_ACTION_TOOLS; } });
|
|
17
18
|
Object.defineProperty(exports, "KUBBISEC_MCP_TOOLS", { enumerable: true, get: function () { return mcp_tools_catalog_js_1.KUBBISEC_MCP_TOOLS; } });
|
|
18
19
|
var naus_pipeline_docs_bundle_loader_js_1 = require("./naus-pipeline-docs-bundle.loader.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product-docs/index.ts"],"names":[],"mappings":";;;AAAA,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,2EAA0F;AAAjF,4HAAA,cAAc,OAAA;AAAE,wIAAA,0BAA0B,OAAA;AACnD,6DAO+B;AAN7B,2HAAA,oBAAoB,OAAA;AACpB,wHAAA,iBAAiB,OAAA;AAEjB,qHAAA,cAAc,OAAA;AACd,qHAAA,cAAc,OAAA;AACd,2HAAA,oBAAoB,OAAA;AAEtB,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product-docs/index.ts"],"names":[],"mappings":";;;AAAA,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,2EAA0F;AAAjF,4HAAA,cAAc,OAAA;AAAE,wIAAA,0BAA0B,OAAA;AACnD,6DAO+B;AAN7B,2HAAA,oBAAoB,OAAA;AACpB,wHAAA,iBAAiB,OAAA;AAEjB,qHAAA,cAAc,OAAA;AACd,qHAAA,cAAc,OAAA;AACd,2HAAA,oBAAoB,OAAA;AAEtB,+DAIgC;AAH9B,uIAAA,+BAA+B,OAAA;AAC/B,iIAAA,yBAAyB,OAAA;AACzB,0HAAA,kBAAkB,OAAA;AAEpB,6FAG+C;AAF7C,yJAAA,kCAAkC,OAAA;AAClC,uIAAA,gBAAgB,OAAA;AAElB,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAC7B,iFAcyC;AAbvC,oJAAA,mCAAmC,OAAA;AACnC,oJAAA,mCAAmC,OAAA;AACnC,oIAAA,mBAAmB,OAAA;AACnB,iJAAA,gCAAgC,OAAA;AAChC,6IAAA,4BAA4B,OAAA;AAE5B,iJAAA,gCAAgC,OAAA;AAChC,6HAAA,YAAY,OAAA;AAGZ,qIAAA,oBAAoB,OAAA;AAEpB,kJAAA,iCAAiC,OAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Tools the platform MCP registers itself (REST). Assistant-parity tools are added from the API catalog. */
|
|
2
2
|
export declare const KUBBISEC_MCP_ACTION_TOOLS: readonly ["resolve_project_by_repository", "list_project_by_repository_candidates", "list_vulnerabilities", "get_vulnerability", "trigger_kubbisec_scan", "get_kubbisec_scan_status", "list_kubbisec_scan_tasks", "cancel_kubbisec_scan_task", "generate_remediation_plan", "generate_issue_draft_for_vulnerability", "start_ai_remediation_run", "get_ai_remediation_run_status", "get_ai_remediation_run_logs", "validate_naus_pipeline_yaml", "list_pipeline_generation_jobs"];
|
|
3
|
-
|
|
3
|
+
/** Same function names as the KubbiSec assistant tool catalog, executed via the API. */
|
|
4
|
+
export declare const KUBBISEC_ASSISTANT_PARITY_TOOLS: readonly ["kubbisec_mcp_knowledge", "aspm_docs", "security_scanners_catalog", "security_scanner_playbook", "kubsec_github_repository", "github_extended_context_policy", "explain_vulnerability", "explain_follow_up", "get_finding_summary", "list_findings", "get_ci_run_status", "get_ci_run_detail", "get_ci_run_logs_excerpt", "pause_ci_job", "resume_ci_job", "replay_run", "list_run_artifacts", "create_pipeline", "naus_pipeline_docs", "naus_schema_overview", "naus_validate_yaml", "kubsec_list_projects", "kubsec_get_project", "get_ci_tree", "get_recent_runs", "get_run_logs_excerpt", "get_pipeline_schedules", "get_pipeline_env_packs", "get_pipeline_env_preview", "update_pipeline_fields", "trigger_run", "cancel_run", "create_pipeline_schedule", "update_pipeline_schedule", "delete_pipeline_schedule", "attach_env_pack", "detach_env_pack", "replace_editor_yaml_range", "set_pipeline_yaml", "set_editor_yaml"];
|
|
5
|
+
export declare const KUBBISEC_MCP_TOOLS: readonly ["resolve_project_by_repository", "list_project_by_repository_candidates", "list_vulnerabilities", "get_vulnerability", "trigger_kubbisec_scan", "get_kubbisec_scan_status", "list_kubbisec_scan_tasks", "cancel_kubbisec_scan_task", "generate_remediation_plan", "generate_issue_draft_for_vulnerability", "start_ai_remediation_run", "get_ai_remediation_run_status", "get_ai_remediation_run_logs", "validate_naus_pipeline_yaml", "list_pipeline_generation_jobs", "kubbisec_mcp_knowledge", "aspm_docs", "security_scanners_catalog", "security_scanner_playbook", "kubsec_github_repository", "github_extended_context_policy", "explain_vulnerability", "explain_follow_up", "get_finding_summary", "list_findings", "get_ci_run_status", "get_ci_run_detail", "get_ci_run_logs_excerpt", "pause_ci_job", "resume_ci_job", "replay_run", "list_run_artifacts", "create_pipeline", "naus_pipeline_docs", "naus_schema_overview", "naus_validate_yaml", "kubsec_list_projects", "kubsec_get_project", "get_ci_tree", "get_recent_runs", "get_run_logs_excerpt", "get_pipeline_schedules", "get_pipeline_env_packs", "get_pipeline_env_preview", "update_pipeline_fields", "trigger_run", "cancel_run", "create_pipeline_schedule", "update_pipeline_schedule", "delete_pipeline_schedule", "attach_env_pack", "detach_env_pack", "replace_editor_yaml_range", "set_pipeline_yaml", "set_editor_yaml"];
|
|
4
6
|
//# sourceMappingURL=mcp-tools-catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tools-catalog.d.ts","sourceRoot":"","sources":["../../src/product-docs/mcp-tools-catalog.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"mcp-tools-catalog.d.ts","sourceRoot":"","sources":["../../src/product-docs/mcp-tools-catalog.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,eAAO,MAAM,yBAAyB,mdAgB5B,CAAC;AAEX,wFAAwF;AACxF,eAAO,MAAM,+BAA+B,+4BAyClC,CAAC;AAEX,eAAO,MAAM,kBAAkB,u1CAGrB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KUBBISEC_MCP_TOOLS = exports.KUBBISEC_MCP_ACTION_TOOLS = void 0;
|
|
4
|
-
/**
|
|
3
|
+
exports.KUBBISEC_MCP_TOOLS = exports.KUBBISEC_ASSISTANT_PARITY_TOOLS = exports.KUBBISEC_MCP_ACTION_TOOLS = void 0;
|
|
4
|
+
/** Tools the platform MCP registers itself (REST). Assistant-parity tools are added from the API catalog. */
|
|
5
5
|
exports.KUBBISEC_MCP_ACTION_TOOLS = [
|
|
6
6
|
"resolve_project_by_repository",
|
|
7
7
|
"list_project_by_repository_candidates",
|
|
@@ -19,5 +19,51 @@ exports.KUBBISEC_MCP_ACTION_TOOLS = [
|
|
|
19
19
|
"validate_naus_pipeline_yaml",
|
|
20
20
|
"list_pipeline_generation_jobs",
|
|
21
21
|
];
|
|
22
|
-
|
|
22
|
+
/** Same function names as the KubbiSec assistant tool catalog, executed via the API. */
|
|
23
|
+
exports.KUBBISEC_ASSISTANT_PARITY_TOOLS = [
|
|
24
|
+
"kubbisec_mcp_knowledge",
|
|
25
|
+
"aspm_docs",
|
|
26
|
+
"security_scanners_catalog",
|
|
27
|
+
"security_scanner_playbook",
|
|
28
|
+
"kubsec_github_repository",
|
|
29
|
+
"github_extended_context_policy",
|
|
30
|
+
"explain_vulnerability",
|
|
31
|
+
"explain_follow_up",
|
|
32
|
+
"get_finding_summary",
|
|
33
|
+
"list_findings",
|
|
34
|
+
"get_ci_run_status",
|
|
35
|
+
"get_ci_run_detail",
|
|
36
|
+
"get_ci_run_logs_excerpt",
|
|
37
|
+
"pause_ci_job",
|
|
38
|
+
"resume_ci_job",
|
|
39
|
+
"replay_run",
|
|
40
|
+
"list_run_artifacts",
|
|
41
|
+
"create_pipeline",
|
|
42
|
+
"naus_pipeline_docs",
|
|
43
|
+
"naus_schema_overview",
|
|
44
|
+
"naus_validate_yaml",
|
|
45
|
+
"kubsec_list_projects",
|
|
46
|
+
"kubsec_get_project",
|
|
47
|
+
"get_ci_tree",
|
|
48
|
+
"get_recent_runs",
|
|
49
|
+
"get_run_logs_excerpt",
|
|
50
|
+
"get_pipeline_schedules",
|
|
51
|
+
"get_pipeline_env_packs",
|
|
52
|
+
"get_pipeline_env_preview",
|
|
53
|
+
"update_pipeline_fields",
|
|
54
|
+
"trigger_run",
|
|
55
|
+
"cancel_run",
|
|
56
|
+
"create_pipeline_schedule",
|
|
57
|
+
"update_pipeline_schedule",
|
|
58
|
+
"delete_pipeline_schedule",
|
|
59
|
+
"attach_env_pack",
|
|
60
|
+
"detach_env_pack",
|
|
61
|
+
"replace_editor_yaml_range",
|
|
62
|
+
"set_pipeline_yaml",
|
|
63
|
+
"set_editor_yaml",
|
|
64
|
+
];
|
|
65
|
+
exports.KUBBISEC_MCP_TOOLS = [
|
|
66
|
+
...exports.KUBBISEC_MCP_ACTION_TOOLS,
|
|
67
|
+
...exports.KUBBISEC_ASSISTANT_PARITY_TOOLS,
|
|
68
|
+
];
|
|
23
69
|
//# sourceMappingURL=mcp-tools-catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tools-catalog.js","sourceRoot":"","sources":["../../src/product-docs/mcp-tools-catalog.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"mcp-tools-catalog.js","sourceRoot":"","sources":["../../src/product-docs/mcp-tools-catalog.ts"],"names":[],"mappings":";;;AAAA,6GAA6G;AAChG,QAAA,yBAAyB,GAAG;IACvC,+BAA+B;IAC/B,uCAAuC;IACvC,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;IACvB,0BAA0B;IAC1B,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,wCAAwC;IACxC,0BAA0B;IAC1B,+BAA+B;IAC/B,6BAA6B;IAC7B,6BAA6B;IAC7B,+BAA+B;CACvB,CAAC;AAEX,wFAAwF;AAC3E,QAAA,+BAA+B,GAAG;IAC7C,wBAAwB;IACxB,WAAW;IACX,2BAA2B;IAC3B,2BAA2B;IAC3B,0BAA0B;IAC1B,gCAAgC;IAChC,uBAAuB;IACvB,mBAAmB;IACnB,qBAAqB;IACrB,eAAe;IACf,mBAAmB;IACnB,mBAAmB;IACnB,yBAAyB;IACzB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,oBAAoB;IACpB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,0BAA0B;IAC1B,wBAAwB;IACxB,aAAa;IACb,YAAY;IACZ,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,iBAAiB;IACjB,iBAAiB;IACjB,2BAA2B;IAC3B,mBAAmB;IACnB,iBAAiB;CACT,CAAC;AAEE,QAAA,kBAAkB,GAAG;IAChC,GAAG,iCAAyB;IAC5B,GAAG,uCAA+B;CAC1B,CAAC"}
|
|
@@ -2,6 +2,7 @@ export * from "./aspm-gate-rules";
|
|
|
2
2
|
export * from "./build-aspm-security-matrix-pipeline-yaml";
|
|
3
3
|
export * from "./build-github-security-workflow-yaml";
|
|
4
4
|
export * from "./github-workflow-action-pins";
|
|
5
|
+
export * from "./report-provider-catalog";
|
|
5
6
|
export * from "./security-tool.types";
|
|
6
7
|
export * from "./security-tool-catalog";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
|
@@ -18,6 +18,7 @@ __exportStar(require("./aspm-gate-rules"), exports);
|
|
|
18
18
|
__exportStar(require("./build-aspm-security-matrix-pipeline-yaml"), exports);
|
|
19
19
|
__exportStar(require("./build-github-security-workflow-yaml"), exports);
|
|
20
20
|
__exportStar(require("./github-workflow-action-pins"), exports);
|
|
21
|
+
__exportStar(require("./report-provider-catalog"), exports);
|
|
21
22
|
__exportStar(require("./security-tool.types"), exports);
|
|
22
23
|
__exportStar(require("./security-tool-catalog"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,6EAA2D;AAC3D,wEAAsD;AACtD,gEAA8C;AAC9C,wDAAsC;AACtC,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,6EAA2D;AAC3D,wEAAsD;AACtD,gEAA8C;AAC9C,4DAA0C;AAC1C,wDAAsC;AACtC,0DAAwC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Stable ingestion categories. Distinct from the Naus CI tool catalog. */
|
|
2
|
+
export declare const REPORT_CATEGORY_IDS: readonly ["sast", "sca", "secrets", "dast", "iac", "container", "sbom", "api_security", "k8s_manifest", "k8s_runtime", "cspm", "cwpp", "cnapp", "host_vuln", "network_vuln", "attack_surface", "port_scanning", "web_vuln", "cve", "malware", "supply_chain", "dependency_confusion", "typosquatting", "license", "binary", "firmware", "mobile", "android", "ios", "infra_compliance", "k8s_compliance", "docker_compliance", "cloud_compliance", "policy_as_code", "cicd_security", "github_posture", "gitlab_security", "repository_security", "artifact_registry", "package_registry", "pentest", "bug_bounty", "red_team", "bas", "threat_model", "threat_intel", "exploit_intel", "epss", "llm_security", "mcp_agent"];
|
|
3
|
+
export type ReportCategoryId = (typeof REPORT_CATEGORY_IDS)[number];
|
|
4
|
+
/** Legacy aliases stored on scan reports before category ids existed. */
|
|
5
|
+
export type ReportProviderCategory = ReportCategoryId | "network" | "web";
|
|
6
|
+
export type ReportProviderCatalogEntry = {
|
|
7
|
+
provider: string;
|
|
8
|
+
categories: readonly ReportProviderCategory[];
|
|
9
|
+
formats: readonly string[];
|
|
10
|
+
};
|
|
11
|
+
export declare const REPORT_PROVIDER_CATALOG: readonly ReportProviderCatalogEntry[];
|
|
12
|
+
export declare function isReportCategoryId(value: string): value is ReportCategoryId;
|
|
13
|
+
/** Legacy families keep the historical scan type strings (`container` → CONTAINER, `network` → NETWORK). */
|
|
14
|
+
export declare function scanTypeForReportCategory(category: string): string;
|
|
15
|
+
//# sourceMappingURL=report-provider-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-provider-catalog.d.ts","sourceRoot":"","sources":["../../src/security/report-provider-catalog.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,8rBAmDtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,SAAS,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,0BAA0B,EAmGxE,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,4GAA4G;AAC5G,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBlE"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.REPORT_PROVIDER_CATALOG = exports.REPORT_CATEGORY_IDS = void 0;
|
|
4
|
+
exports.isReportCategoryId = isReportCategoryId;
|
|
5
|
+
exports.scanTypeForReportCategory = scanTypeForReportCategory;
|
|
6
|
+
/** Stable ingestion categories. Distinct from the Naus CI tool catalog. */
|
|
7
|
+
exports.REPORT_CATEGORY_IDS = [
|
|
8
|
+
"sast",
|
|
9
|
+
"sca",
|
|
10
|
+
"secrets",
|
|
11
|
+
"dast",
|
|
12
|
+
"iac",
|
|
13
|
+
"container",
|
|
14
|
+
"sbom",
|
|
15
|
+
"api_security",
|
|
16
|
+
"k8s_manifest",
|
|
17
|
+
"k8s_runtime",
|
|
18
|
+
"cspm",
|
|
19
|
+
"cwpp",
|
|
20
|
+
"cnapp",
|
|
21
|
+
"host_vuln",
|
|
22
|
+
"network_vuln",
|
|
23
|
+
"attack_surface",
|
|
24
|
+
"port_scanning",
|
|
25
|
+
"web_vuln",
|
|
26
|
+
"cve",
|
|
27
|
+
"malware",
|
|
28
|
+
"supply_chain",
|
|
29
|
+
"dependency_confusion",
|
|
30
|
+
"typosquatting",
|
|
31
|
+
"license",
|
|
32
|
+
"binary",
|
|
33
|
+
"firmware",
|
|
34
|
+
"mobile",
|
|
35
|
+
"android",
|
|
36
|
+
"ios",
|
|
37
|
+
"infra_compliance",
|
|
38
|
+
"k8s_compliance",
|
|
39
|
+
"docker_compliance",
|
|
40
|
+
"cloud_compliance",
|
|
41
|
+
"policy_as_code",
|
|
42
|
+
"cicd_security",
|
|
43
|
+
"github_posture",
|
|
44
|
+
"gitlab_security",
|
|
45
|
+
"repository_security",
|
|
46
|
+
"artifact_registry",
|
|
47
|
+
"package_registry",
|
|
48
|
+
"pentest",
|
|
49
|
+
"bug_bounty",
|
|
50
|
+
"red_team",
|
|
51
|
+
"bas",
|
|
52
|
+
"threat_model",
|
|
53
|
+
"threat_intel",
|
|
54
|
+
"exploit_intel",
|
|
55
|
+
"epss",
|
|
56
|
+
"llm_security",
|
|
57
|
+
"mcp_agent",
|
|
58
|
+
];
|
|
59
|
+
exports.REPORT_PROVIDER_CATALOG = [
|
|
60
|
+
{
|
|
61
|
+
provider: "trivy",
|
|
62
|
+
categories: ["sca", "container", "iac", "secrets"],
|
|
63
|
+
formats: ["trivy-json", "sarif", "cyclonedx", "spdx"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
provider: "semgrep",
|
|
67
|
+
categories: ["sast", "secrets"],
|
|
68
|
+
formats: ["semgrep-json", "sarif"],
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
provider: "syft",
|
|
72
|
+
categories: ["sbom"],
|
|
73
|
+
formats: ["syft-json", "cyclonedx", "spdx"],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
provider: "gitleaks",
|
|
77
|
+
categories: ["secrets"],
|
|
78
|
+
formats: ["gitleaks-json", "sarif"],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
provider: "osv",
|
|
82
|
+
categories: ["sca"],
|
|
83
|
+
formats: ["osv-json"],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
provider: "sonar",
|
|
87
|
+
categories: ["sast"],
|
|
88
|
+
formats: ["sonar-json"],
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
provider: "nmap",
|
|
92
|
+
categories: ["port_scanning", "network"],
|
|
93
|
+
formats: ["nmap-xml"],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
provider: "skipfish",
|
|
97
|
+
categories: ["dast", "web"],
|
|
98
|
+
formats: ["skipfish-json"],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
provider: "generic-sarif",
|
|
102
|
+
categories: ["sast", "secrets", "iac"],
|
|
103
|
+
formats: ["sarif"],
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
provider: "generic-cyclonedx",
|
|
107
|
+
categories: ["sbom", "sca", "container"],
|
|
108
|
+
formats: ["cyclonedx"],
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
provider: "generic-spdx",
|
|
112
|
+
categories: ["sbom", "sca"],
|
|
113
|
+
formats: ["spdx"],
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
provider: "generic-gitlab",
|
|
117
|
+
categories: ["sast", "sca", "container", "secrets", "dast", "iac"],
|
|
118
|
+
formats: ["gitlab-security"],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
provider: "generic-ocsf",
|
|
122
|
+
categories: ["cspm", "cnapp", "host_vuln", "cloud_compliance", "k8s_runtime", "container"],
|
|
123
|
+
formats: ["ocsf"],
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
provider: "generic-asff",
|
|
127
|
+
categories: ["cspm", "host_vuln", "container"],
|
|
128
|
+
formats: ["asff"],
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
provider: "generic-csaf",
|
|
132
|
+
categories: ["cve", "sca"],
|
|
133
|
+
formats: ["csaf"],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
provider: "generic-openvex",
|
|
137
|
+
categories: ["sca", "cve"],
|
|
138
|
+
formats: ["openvex"],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
provider: "generic-osv",
|
|
142
|
+
categories: ["sca", "cve"],
|
|
143
|
+
formats: ["osv"],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
provider: "generic-epss",
|
|
147
|
+
categories: ["epss"],
|
|
148
|
+
formats: ["epss"],
|
|
149
|
+
},
|
|
150
|
+
{ provider: "nuclei", categories: ["dast", "network_vuln", "sast"], formats: ["nuclei-json"] },
|
|
151
|
+
{ provider: "zap", categories: ["dast", "web"], formats: ["zap-json", "zap-xml"] },
|
|
152
|
+
{ provider: "prowler", categories: ["cspm", "k8s_compliance"], formats: ["prowler-json"] },
|
|
153
|
+
{ provider: "nessus", categories: ["host_vuln"], formats: ["nessus-json", "nessus-xml"] },
|
|
154
|
+
{ provider: "mobsf", categories: ["mobile", "android", "ios"], formats: ["mobsf-json"] },
|
|
155
|
+
{ provider: "burp", categories: ["dast", "web"], formats: ["burp-json", "burp-xml"] },
|
|
156
|
+
{ provider: "qualys", categories: ["host_vuln"], formats: ["qualys-json", "qualys-xml"] },
|
|
157
|
+
{ provider: "rapid7", categories: ["host_vuln"], formats: ["rapid7-json", "rapid7-xml"] },
|
|
158
|
+
];
|
|
159
|
+
const REPORT_CATEGORY_ID_SET = new Set(exports.REPORT_CATEGORY_IDS);
|
|
160
|
+
function isReportCategoryId(value) {
|
|
161
|
+
return REPORT_CATEGORY_ID_SET.has(value);
|
|
162
|
+
}
|
|
163
|
+
/** Legacy families keep the historical scan type strings (`container` → CONTAINER, `network` → NETWORK). */
|
|
164
|
+
function scanTypeForReportCategory(category) {
|
|
165
|
+
switch (category) {
|
|
166
|
+
case "container":
|
|
167
|
+
return "CONTAINER";
|
|
168
|
+
case "sast":
|
|
169
|
+
return "SAST";
|
|
170
|
+
case "secrets":
|
|
171
|
+
return "SECRETS";
|
|
172
|
+
case "sbom":
|
|
173
|
+
return "SBOM";
|
|
174
|
+
case "network":
|
|
175
|
+
case "network_vuln":
|
|
176
|
+
case "port_scanning":
|
|
177
|
+
return "NETWORK";
|
|
178
|
+
case "web":
|
|
179
|
+
case "web_vuln":
|
|
180
|
+
return "WEB";
|
|
181
|
+
default:
|
|
182
|
+
return isReportCategoryId(category) ? category : "SAST";
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=report-provider-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-provider-catalog.js","sourceRoot":"","sources":["../../src/security/report-provider-catalog.ts"],"names":[],"mappings":"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"}
|