Skip to content

mxoizzz/ARCE

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ ARCE β€” Autonomous Remediation & Compliance Engine

An autonomous DevSecOps agent powered by IBM Bob that detects, remediates, and governs software supply chain vulnerabilities β€” end-to-end, without human intervention.

Quick Start Live Demo PR Bob Report


"Other tools detect vulnerabilities. ARCE detects, verifies, patches, tests, self-corrects, verifies the live application, and submits a governed PR β€” autonomously, with a compliance-ready audit trail. The human stays in control. The agent handles the engineering toil."


🎯 What It Does

ARCE is a closed-loop, autonomous remediation pipeline that transforms a CVE detection into a governed, human-reviewable Pull Request β€” in minutes, not days. It orchestrates IBM Bob through a custom compliance-remediator mode with two MCP servers to execute 9 steps autonomously:

Step Action What Happens
1 Detect pip-audit scans dependencies and flags pyyaml==5.3.1 with CVE-2020-14343
2 Verify Reachability AST-based static analysis confirms yaml.load() is imported AND called β€” not just listed as a dependency
3 Patch Upgrades pyyaml to latest stable version in requirements.txt
4 Test (FAIL) Runs pytest β†’ TypeError: load() missing 1 required positional argument: 'Loader'
5 Self-Correct Bob reads the error, reasons about the breaking API change, and fixes yaml.load(f) β†’ yaml.safe_load(f)
6 Test (PASS) Runs pytest again β†’ all 3 tests pass βœ…
7 E2E Verify Starts Flask app, uses Playwright to verify localhost:5000 and /api/health respond correctly
8 Generate Audit Trail Produces audit.md β€” a compliance-ready document with CVE details, patch diff, test results, and agent reasoning
9 Create Governed PR Submits a GitHub Pull Request with the audit trail as the PR body

The self-correction at steps 4–6 is the killer feature. Bob doesn't just blindly patch β€” it upgrades, discovers the upgrade broke tests, reads the error message, reasons about the fix, and applies it. This is agentic reasoning, not scripted automation.


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     ARCE Full Stack                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Frontend (React 19 + TanStack Start)            β”‚       β”‚
β”‚  β”‚  - Marketing site (/)                             β”‚       β”‚
β”‚  β”‚  - Live Dashboard (/dashboard)                    β”‚       β”‚
β”‚  β”‚  - Documentation (/docs)                          β”‚       β”‚
β”‚  β”‚  Port: 5173                                       β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                   β”‚                                           β”‚
β”‚                   β”‚ HTTP REST API (CORS enabled)             β”‚
β”‚                   β–Ό                                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Backend (FastAPI)                               β”‚       β”‚
β”‚  β”‚  - 12 REST endpoints                             β”‚       β”‚
β”‚  β”‚  - Data transformers                             β”‚       β”‚
β”‚  β”‚  - Type-safe responses                           β”‚       β”‚
β”‚  β”‚  Port: 8000                                      β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                   β”‚                                           β”‚
β”‚                   β”‚ File I/O                                  β”‚
β”‚                   β–Ό                                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  Data Layer (runs/ directory)                    β”‚       β”‚
β”‚  β”‚  runs/{run_id}/                                  β”‚       β”‚
β”‚  β”‚    β”œβ”€ run.json (structured data)                 β”‚       β”‚
β”‚  β”‚    β”œβ”€ audit.md (markdown report)                 β”‚       β”‚
β”‚  β”‚    └─ sbom.json (bill of materials)              β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                   β”‚                                           β”‚
β”‚                   β”‚ MCP Tools                                 β”‚
β”‚                   β”‚                                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”‚
β”‚  β”‚  ARCE Pipeline (Bob + MCP Server)                β”‚       β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚       β”‚
β”‚  β”‚  β”‚ MCP Server 1: arce-tools (FastMCP)        β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - check_reachability (AST analysis)       β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - run_tests (pytest subprocess)           β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - generate_audit_trail (audit.md)         β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - create_governed_pr (gh CLI)             β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - start/end_pipeline_run (run tracking)   β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - evaluate_policy (severity gating)       β”‚  β”‚       β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚       β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚       β”‚
β”‚  β”‚  β”‚ MCP Server 2: Playwright                  β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - browser_navigate, browser_snapshot      β”‚  β”‚       β”‚
β”‚  β”‚  β”‚ - browser_screenshot (E2E verification)   β”‚  β”‚       β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β”‚
β”‚                                                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pipeline Flow

  1. Detect β†’ pip-audit scans dependencies
  2. Verify Reachability β†’ AST analysis confirms usage
  3. Evaluate Policy β†’ Severity-based gating
  4. Patch β†’ Upgrade to latest stable version
  5. Test β†’ Run pytest (may fail)
  6. Self-Correct β†’ Bob fixes breaking changes
  7. Re-test β†’ Verify fix works
  8. E2E Verify β†’ Playwright checks live app
  9. Generate Audit β†’ Create compliance trail
  10. Create PR β†’ Submit governed pull request
  11. Dashboard β†’ View results in real-time

πŸ’» Tech Stack

Component Tool Cost
Frontend React 19 + TanStack Start + Vite 7 Free
Backend API FastAPI + Uvicorn Free
Detection pip-audit (backed by OSV.dev) Free
Agentic Core IBM Bob β€” custom mode Provided
MCP Server 1 FastMCP (Python) β€” remediation tools Free
MCP Server 2 @playwright/mcp β€” E2E browser verification Free
Testing pytest Free
Static Analysis Python ast module Built-in
PR Creation GitHub CLI (gh) Free
UI Components shadcn/ui + Tailwind CSS v4 Free

Total cost: $0 β€” Every component is free or open-source.


🎬 Demo

🌐 Live Dashboard (React + FastAPI)

Frontend: Modern React dashboard with real-time metrics Backend: FastAPI REST API serving live remediation data View Legacy Streamlit Dashboard β†’

πŸ“‹ Governed Pull Request

View the Governed PR on GitHub β†’

PR #2: Security: Patch CVE-2020-14343 β€” created autonomously by ARCE with full audit trail

πŸ“Š IBM Bob Report

View the exported IBM Bob task report β†’


πŸš€ Quick Start

One-Command Setup

# Windows
.\start-servers.ps1

# Linux/Mac
chmod +x start-servers.sh
./start-servers.sh

That's it! This single command:

  • βœ… Installs all dependencies (backend + frontend)
  • βœ… Starts FastAPI backend on http://localhost:8000
  • βœ… Starts React frontend on http://localhost:5173
  • βœ… Configures CORS for local development

Access Points

Prerequisites

  • Python 3.10+
  • Bun (or Node.js 18+) β€” npm install -g bun
  • Git + GitHub CLI (gh) β€” winget install GitHub.cli
  • IBM Bob (provided by hackathon)

Manual Setup (if needed)

# Backend
pip install -r arce/requirements-api.txt
python arce/api_server.py

# Frontend (in new terminal)
cd Frontend
bun install
bun dev

2. Verify the Vulnerability Exists

.\venv\Scripts\pip-audit.exe --format json -r demo-app/requirements.txt

Should flag pyyaml==5.3.1 with CVE-2020-14343 (arbitrary code execution via unsafe YAML deserialization).

3. Configure Bob IDE

  1. Open Bob IDE β†’ Settings β†’ MCP Servers
  2. Add arce-tools and playwright servers (see MCP Configuration Guide)
  3. Verify both servers show βœ… Connected

4. Trigger the ARCE Pipeline

Scenario A: PyYAML Unsafe Deserialization (CVE-2020-14343)

  1. Switch to ARCE Compliance Remediator mode in Bob IDE
  2. Paste the pip-audit output and prompt:
I have scanned the demo-app directory with pip-audit and found vulnerabilities.
Here is the output: <paste CVE JSON>
Please execute the full remediation pipeline on the demo-app/ directory.
  1. Watch Bob autonomously execute all 9 steps πŸš€

Scenario B: Jinja2 Template Injection (CVE-2024-22195)

  1. Verify the vulnerability exists:
.\venv\Scripts\pip-audit.exe --format json -r demo-app-jinja/requirements.txt

Should flag jinja2==3.1.2 with CVE-2024-22195 (attribute injection via xmlattr filter).

  1. Switch to ARCE Compliance Remediator mode in Bob IDE
  2. Paste the pip-audit output and prompt:
I have scanned the demo-app-jinja directory with pip-audit and found vulnerabilities.
Here is the output: <paste CVE JSON>
Please execute the full remediation pipeline on the demo-app-jinja/ directory.
Remember to use project_dir="demo-app-jinja" when calling run_tests.
  1. Watch Bob autonomously detect the jinja2 vulnerability, upgrade to the latest version, and verify the fix through the attribute injection test πŸš€

5. View the Results

Live Dashboard (already running at http://localhost:5173):

  • Real-time KPIs (security score, open critical CVEs, auto-patched count)
  • Repository status with severity breakdown
  • Activity feed showing recent events
  • Pull request details with AI reasoning trace
  • Audit reports with download links

Check the Fix:

type demo-app\app.py          # yaml.load(f) β†’ yaml.safe_load(f) βœ…
type demo-app\requirements.txt # pyyaml upgraded βœ…
type audit.md                  # Full compliance document βœ…

Legacy Streamlit Dashboard (optional):

cd dashboard
streamlit run streamlit_app.py

🎨 Frontend-Backend Integration

Modern React Dashboard

The ARCE dashboard is a production-ready React application with:

Frontend Features:

  • ⚑ React 19 with TanStack Start for SSR
  • 🎨 Tailwind CSS v4 with custom design tokens
  • 🧩 shadcn/ui components for consistent UI
  • πŸ“Š Real-time metrics from live remediation runs
  • πŸ”„ Smart fallback to mock data when backend unavailable
  • πŸ“± Responsive design for desktop and mobile

Backend API (FastAPI):

  • πŸš€ 12 REST endpoints serving dashboard data
  • πŸ”„ Data transformers converting run records to frontend types
  • πŸ”’ CORS configured for secure local development
  • πŸ“ Type-safe responses matching frontend contracts
  • πŸ“Š Aggregated metrics (KPIs, repositories, activity feed)
  • πŸ“₯ File downloads for audit trails and SBOMs

Key Endpoints:

  • GET /api/kpis - Dashboard KPI metrics
  • GET /api/repositories - Repository status list
  • GET /api/activity - Activity feed events
  • GET /api/pull-requests/open - Latest open PR
  • GET /api/runs - All run records
  • GET /api/audits/{run_id}/markdown - Download audit trail

Data Flow:

MCP Pipeline β†’ runs/{run_id}/run.json β†’ FastAPI β†’ React Dashboard

See BACKEND-INTEGRATION.md for complete API documentation.


πŸ“ Project Structure

ARCE/
β”œβ”€β”€ Frontend/                   # πŸ†• React Dashboard (TanStack Start + Vite)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/             #   File-based routing (/, /dashboard, /docs)
β”‚   β”‚   β”œβ”€β”€ components/         #   UI components + shadcn primitives
β”‚   β”‚   β”œβ”€β”€ lib/api.ts          #   Backend adapter (wired to FastAPI)
β”‚   β”‚   └── data/types.ts       #   TypeScript type definitions
β”‚   β”œβ”€β”€ .env.local              #   API base URL configuration
β”‚   └── package.json            #   Frontend dependencies
β”‚
β”œβ”€β”€ arce/                       # Backend & MCP Server
β”‚   β”œβ”€β”€ api_server.py           # πŸ†• FastAPI REST API (12 endpoints)
β”‚   β”œβ”€β”€ requirements-api.txt    # πŸ†• Backend dependencies
β”‚   β”œβ”€β”€ mcp_server.py           #   FastMCP server with remediation tools
β”‚   β”œβ”€β”€ run_io.py               #   Run record I/O operations
β”‚   β”œβ”€β”€ policy/                 #   Policy engine for severity-based gating
β”‚   └── schemas/                #   JSON schemas for run records
β”‚
β”œβ”€β”€ runs/                       # πŸ†• Run artifacts (created by pipeline)
β”‚   └── {run_id}/               #   Each run gets its own directory
β”‚       β”œβ”€β”€ run.json            #   Structured run record
β”‚       β”œβ”€β”€ audit.md            #   Compliance audit trail
β”‚       └── sbom.json           #   Software bill of materials
β”‚
β”œβ”€β”€ demo-app/                   # Target application with known vulnerability
β”‚   β”œβ”€β”€ app.py                  #   Flask app with vulnerable yaml.load()
β”‚   β”œβ”€β”€ config.yaml             #   App configuration
β”‚   β”œβ”€β”€ requirements.txt        #   pyyaml==5.3.1 β†’ CVE-2020-14343
β”‚   └── tests/                  #   pytest test suite
β”‚
β”œβ”€β”€ demo-app-jinja/             # Second demo scenario (Jinja2 CVE)
β”‚   β”œβ”€β”€ app.py                  #   Flask app with vulnerable xmlattr filter
β”‚   β”œβ”€β”€ requirements.txt        #   jinja2==3.1.2 β†’ CVE-2024-22195
β”‚   └── tests/                  #   pytest test suite
β”‚
β”œβ”€β”€ dashboard/                  # Legacy Streamlit Dashboard
β”‚   β”œβ”€β”€ streamlit_app.py        #   SOC-style dashboard
β”‚   └── requirements.txt        #   streamlit + plotly dependencies
β”‚
β”œβ”€β”€ .bob/                       # IBM Bob configuration
β”‚   β”œβ”€β”€ mcp.json                #   MCP server registration
β”‚   └── custom_modes.yaml       #   compliance-remediator mode definition
β”‚
β”œβ”€β”€ start-servers.ps1           # πŸ†• One-command startup (Windows)
β”œβ”€β”€ start-servers.sh            # πŸ†• One-command startup (Linux/Mac)
β”œβ”€β”€ test_integration.py         # πŸ†• Backend integration tests
β”œβ”€β”€ BACKEND-INTEGRATION.md      # πŸ†• API documentation (372 lines)
β”œβ”€β”€ FRONTEND-BACKEND-SETUP.md   # πŸ†• Setup guide (344 lines)
β”œβ”€β”€ INTEGRATION-SUMMARY.md      # πŸ†• Integration overview (390 lines)
β”œβ”€β”€ audit.md                    #   Generated audit trail
β”œβ”€β”€ cve_output.json             #   pip-audit scan output
β”œβ”€β”€ setup-mcp.ps1               #   MCP setup script
└── MCP-CONFIGURATION-GUIDE.md  #   MCP configuration reference

πŸ”„ Resetting for a Fresh Demo Run

git checkout main
git reset --hard origin/main
.\venv\Scripts\pip.exe install "pyyaml==5.3.1" --force-reinstall

This restores app.py to the vulnerable yaml.load() and pins pyyaml back to 5.3.1.


πŸ” How the MCP Tools Work

Tool 1: check_reachability(package_name, source_dir)

Uses Python's ast module to parse every .py file and walk the AST looking for:

  • import <package> or from <package> import ... statements
  • Function calls like <package>.load(), <package>.dump(), etc.

Returns "reachable" (imported + called), "imported-but-unused", or "not-imported".

Why it matters: Prevents patching code that doesn't even use the vulnerable package β€” this is the Contextual Reasoning criterion.

Tool 2: run_tests(test_dir)

Executes pytest via subprocess and returns structured JSON with pass/fail status, stdout, stderr, and return code. Bob reads this to reason about test failures.

Tool 3: generate_audit_trail(cve_id, reachability_verdict, patch_diff, test_results, e2e_results)

Produces a compliance-ready markdown document with:

  • CVE details and reachability verdict
  • Patch diff
  • Test results (before and after self-correction)
  • E2E verification evidence
  • Agent reasoning trace (with triple-fallback: Bob export β†’ task logs β†’ tool I/O)

Tool 4: create_governed_pr(branch_name, commit_message, pr_title)

Creates a Git branch, commits all changes, pushes, and opens a GitHub PR with audit.md as the PR body β€” all via git and gh CLI.


πŸ› οΈ Troubleshooting

Problem Fix
pytest not found Use .\venv\Scripts\pytest.exe or activate venv first
MCP server not connecting Check .bob/mcp.json paths; see MCP Configuration Guide
gh not recognized winget install GitHub.cli β†’ gh auth login
Playwright fails Run npx playwright install to download browsers
Tests fail on fresh clone Ensure you're in demo-app/ dir when running pytest
pyyaml version wrong pip install "pyyaml==5.3.1" --force-reinstall

πŸ“– Detailed troubleshooting: MCP Configuration Guide Β· MCP Server Troubleshooting


πŸ† Hackathon Alignment

Criterion How ARCE Addresses It
Application of Tech Bob is the central orchestrator via custom mode + 2 MCP servers. Every step runs through Bob.
Originality Closed-loop autonomy with self-correction. Detects β†’ Remediates β†’ Tests β†’ Self-corrects β†’ Verifies β†’ Governs.
Business Value Reduces mean-time-to-remediate from days to minutes. Governance-ready audit trail for CISO/compliance teams.
Contextual Reasoning AST-based reachability analysis β€” checks if the vulnerable package is actually imported and called before patching.
Knowledge Transfer Streamlit governance dashboard + audit.md serve as knowledge transfer artifacts.

Built with ❀️ for the IBM Bob AI Agent Hackathon 2026
Total cost: $0 Β· Fully autonomous Β· Compliance-ready

About

ARCE: Autonomous Remediation & Compliance Engine

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages