Share
## https://sploitus.com/exploit?id=2C0B8572-E143-5F19-89F5-502C0CDC6873
# Doperationtool

Doperationtool is a local security operations desktop tool built using Go and Wails. It is designed for daily tasks such as organizing vulnerability templates, batch processing of Nuclei/POCs, managing dddd fingerprints, and integrating with external capabilities. This tool consolidates common file organization, template validation, deduplication, conversion, fingerprint auditing, and POC categorization into a single local desktop application, reducing the need to frequently switch between scripts, editors, and file managers.

## Features Overview

### YAML and POC Handling

- Batch loading, previewing, editing, and saving YAML/yml files.
- Validating, deduplicating, categorizing, collecting, and automatically repairing Nuclei templates.
- Converting external POCs into YAML outputs usable in projects.
- Supports three-stage processing: source directory, buffer, and target directory, allowing for previewing before saving.

### dddd Finger Management

- Auditing the relationships between `common/config/finger.yaml`, `workflow.yaml`, and `common/config/pocs`.
- Identifying issues such as fingerprints without POCs, POCs without fingerprints, workflows that cannot be called, empty POCs, and incomplete POCs.
- Displaying audit issues based on risk priority, and supporting operations like locating files and copying object names.

### External Capability Integration

- Scanning external fingerprint directories to generate dddd fingerprints for previewing.
- Scanning external POC directories, categorizing them by dddd fingerprints, and retaining and marking duplicate items.
- Strictly comparing the audited `date_finger`/`date_poc` directories with the target dddd project.
- One-click integration of new capabilities by writing to `finger.yaml`, `workflow.yaml`, and `common/config/pocs`. Backups are generated before writing to avoid overwriting existing POCs.

### Technology Stack

- Go
- Wails
- Vite
- Native JavaScript/CSS

## Development

```bash
wails dev
```

Wails will open a desktop window and provide a local debugging interface. Modifications to front-end code can be hot-reloaded using Vite. Modifications to Go bindings require re-generation or restarting the corresponding processes.

## Building

```bash
wails build
```

Common cross-platform commands:

```bash
wails build -platform windows/amd64
wails build -platform darwin/amd64,darwin/arm64
wails build -platform linux/amd64
```

Build outputs are located in `build/bin/`.

## Testing

```bash
go test ./...
```

Front-end production build verification:

```bash
cd frontend
npm.cmd run build
```

In non-Windows shells, you can also use:

```bash
npm run build
```

## Directory Structure

```
Doperationtool/
โ”œโ”€โ”€ main.go                         # Wails entry point
โ”œโ”€โ”€ app.go                          # Backend App structure and base binding
โ”œโ”€โ”€ external_capability.go          # Integrating external fingerprint/POC audit results into dddd
โ”œโ”€โ”€ external_poc_catalog.go         # Categorizing external POCs by dddd fingerprints
โ”œโ”€โ”€ fingerprint_audit.go            # Auditing fingerprint, workflow, and POC relationships
โ”œโ”€โ”€ fingerprint_import.go           # Importing external fingerprints for previewing and use
โ”œโ”€โ”€ nuclei*.go                      # Validating, deduplicating, categorizing, collecting, and repairing Nuclei templates
โ”œโ”€โ”€ pocconvert.go                   # Converting POCs
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ src/main.js                 # Front-end UI, module routing, and event binding
โ”‚   โ”œโ”€โ”€ src/style.css               # Application style sheets
โ”‚   โ””โ”€โ”€ wailsjs/                    # Automatically generated front-end bindings
โ”œโ”€โ”€ build/                          # Build configuration and output directory
โ””โ”€โ”€ wails.json                      # Wails project configuration
```

## Usage Guidelines

- Before performing write-like operations on the target dddd project, complete previewing and manual auditing.
- Capability integration will automatically back up the modified `finger.yaml` and `workflow.yaml` files.
- When writing external POCs to `common/config/pocs`, avoid overwriting existing files with the same name to prevent covering existing capabilities.

## Repository

GitHub: [AJings3c/Doperationtool](https://github.com/AJings3c/Doperationtool)