Cybersecurity Audit Report
Run ID: 69cc79cd3e7fb09ff16a23e62026-04-01Infrastructure
PantheraHive BOS
BOS Dashboard

Cybersecurity Audit Report: Analysis and Visualization

Client: [Client Company Name]

Date: October 26, 2023

Report Version: 1.0


1. Executive Summary

This Cybersecurity Audit Report presents a comprehensive analysis of [Client Company Name]'s current security posture, identifying critical vulnerabilities, assessing associated risks, evaluating compliance against key regulatory frameworks (SOC 2, GDPR, HIPAA), and providing actionable remediation recommendations.

Our audit revealed a Moderate overall security posture with several critical and high-severity vulnerabilities requiring immediate attention. Key findings include significant gaps in patch management, weak access controls, and certain areas of non-compliance with data protection regulations. The most pressing risks revolve around potential data breaches, ransomware attacks, and reputational damage.

Key Findings at a Glance:

Addressing the identified issues proactively will significantly enhance [Client Company Name]'s security resilience, reduce the likelihood of successful attacks, and strengthen its compliance standing.


2. Introduction

This report details the findings from a comprehensive cybersecurity audit conducted for [Client Company Name] between [Start Date] and [End Date]. The primary objective of this audit was to:

Scope of Audit:

The audit encompassed:

Methodology:

Our audit employed a multi-faceted approach, combining:


3. Vulnerability Assessment

This section details the identified technical vulnerabilities, categorized by severity, along with technical insights and affected assets.

3.1. Vulnerability Severity Breakdown

The audit identified a total of 68 vulnerabilities. The distribution by severity is as follows:

| Severity | Count | Percentage |

| :--------- | :---- | :--------- |

| Critical | 5 | 7.4% |

| High | 15 | 22.1% |

| Medium | 28 | 41.2% |

| Low | 20 | 29.4% |

Visualization: Vulnerability Severity Distribution

text • 270 chars
[Imagine a 3x3 or 5x5 Risk Matrix here, with Likelihood on X-axis and Impact on Y-axis.
- Red zone (Critical): RISK-01, RISK-02
- Orange zone (High): RISK-03, RISK-04
- Yellow zone (Medium): RISK-05
- Green zone (Low): Other minor risks
Title: "Risk Assessment Matrix"]
Sandboxed live preview

Step 1: Collect Data Requirements for Cybersecurity Audit Report

This document outlines the comprehensive data and design requirements necessary to generate a professional and actionable Cybersecurity Audit Report. This foundational step ensures that all critical information is identified and structured appropriately, paving the way for a thorough vulnerability assessment, accurate risk scoring, robust compliance verification, and clear remediation recommendations.


1.0 Executive Summary & General Audit Information Requirements

To provide a high-level overview and contextualize the audit, the following information is required:

  • Client Information:

* Client Name, Industry, Primary Business Contact.

* Organization Size (e.g., employee count, revenue range).

  • Audit Scope:

* Specific systems, networks, applications, and organizational units included in the audit.

* Systems explicitly excluded from the audit.

* Geographical scope (if applicable).

  • Audit Period:

* Start and End Dates of the audit activities.

  • Audit Team:

* Names and roles of key audit personnel.

  • Executive Summary Narrative:

* High-level objectives of the audit.

* Key findings summary (e.g., number of critical vulnerabilities, overall risk posture, compliance status highlights).

* Overall conclusion and strategic recommendations.


2.0 Core Data Requirements for Report Content

This section details the specific data points needed for each major component of the Cybersecurity Audit Report.

2.1 Vulnerability Assessment Data

Data related to identified security weaknesses and their characteristics.

  • Source Data:

* Network & Host Scans (e.g., Nessus, Qualys, OpenVAS outputs)

* Web Application Scans (e.g., Acunetix, Burp Suite Enterprise, OWASP ZAP outputs)

* Manual Penetration Test Findings (e.g., specific exploit details, custom script results)

* Code Review Findings (e.g., static/dynamic analysis tool outputs, manual review notes)

* Configuration Reviews (e.g., CIS Benchmarks, custom hardening guides)

  • Required Data Points per Vulnerability:

* Vulnerability ID/Name: Unique identifier and common name.

* Description: Detailed explanation of the vulnerability, its technical nature, and potential impact.

* Severity: Categorization based on CVSS score (e.g., Critical, High, Medium, Low, Informational).

* CVSS Score (v2/v3.x): Base, Temporal, and Environmental scores, if available.

* Affected Asset(s): IP Address, Hostname, FQDN, Application Name, System Role, Asset Owner.

* Location/Path: Specific file path, URL, port, or configuration setting.

* Discovery Date: When the vulnerability was first identified.

* Evidence: Screenshots, log snippets, command outputs, code snippets demonstrating the vulnerability.

* Exploitability: Ease of exploitation (e.g., publicly available exploit, complex manual exploitation).

* Impact: Potential consequences if exploited (e.g., data breach, system downtime, unauthorized access).

2.2 Risk Scoring Data

Data used to assess and quantify the business impact of identified vulnerabilities and threats.

  • Source Data:

* Asset Inventory & Classification (e.g., CMDB, business impact analysis)

* Threat Intelligence Feeds

* Existing Security Control Documentation

* Business Process Documentation

  • Required Data Points per Risk:

* Risk ID: Unique identifier.

* Associated Vulnerability/Threat: Link to specific vulnerability or general threat type.

* Asset Criticality: Business value of the affected asset (e.g., High, Medium, Low based on revenue, reputation, operational impact).

* Threat Source/Type: e.g., external attacker, insider threat, malware, human error.

* Likelihood of Exploitation: Probability of the threat occurring (e.g., High, Medium, Low).

* Business Impact: Quantified or qualitative impact if the risk materializes (e.g., financial loss, reputational damage, regulatory fines, operational disruption).

* Existing Controls: Description of current security measures in place to mitigate the risk.

* Control Effectiveness: Assessment of how well existing controls mitigate the risk (e.g., High, Medium, Low).

* Residual Risk Score: Calculated score (e.g., Likelihood x Impact - Control Effectiveness).

* Risk Rating: Final qualitative rating (e.g., Critical, High, Medium, Low).

2.3 Compliance Checklist Data (SOC2/GDPR/HIPAA)

Data demonstrating adherence to selected regulatory and industry frameworks.

  • Source Data:

* Organizational Policies and Procedures

* System Configuration Documentation

* Access Control Lists (ACLs) and User Inventories

* Security Awareness Training Records

* Incident Response Plans

* Third-Party Attestations (e.g., penetration test reports, previous audit reports)

* Interviews with key personnel

  • Required Data Points per Control/Requirement:

* Regulation/Framework: e.g., SOC2 Trust Service Criteria (Security, Availability, Processing Integrity, Confidentiality, Privacy), GDPR Article, HIPAA Security Rule Standard/Implementation Specification.

* Requirement ID/Description: Specific clause or control statement.

* Current Status: Assessment of compliance (e.g., Fully Compliant, Partially Compliant, Non-Compliant, Not Applicable).

* Evidence of Compliance: Specific documents, system configurations, screenshots, interview notes, or other artifacts demonstrating adherence.

* Gaps Identified: Description of any deficiencies or areas of non-compliance.

* Remediation Status: If a gap was previously identified, current status of remediation efforts.

2.4 Remediation Recommendations Data

Actionable steps to address identified vulnerabilities, risks, and compliance gaps.

  • Source Data:

* Industry Best Practices (e.g., NIST, CIS Controls, OWASP Top 10)

* Vendor

Insight: Significant gaps exist in the Security and Confidentiality criteria, primarily due to insufficient access controls, incident response testing, and data encryption practices.

5.2. GDPR (General Data Protection Regulation) Compliance Assessment

GDPR governs the

gemini Output

Cybersecurity Audit Report

Date: October 26, 2023

Prepared For: [Client Organization Name]

Prepared By: PantheraHive Security Team

Version: 1.0


Executive Summary

This report presents the findings of a comprehensive cybersecurity audit conducted for [Client Organization Name] between [Start Date] and [End Date]. The primary objective of this audit was to assess the current security posture, identify vulnerabilities, evaluate risks, and determine compliance with key regulatory frameworks including SOC 2 Type 2, GDPR, and HIPAA.

Our assessment revealed several areas of strength, particularly in [e.g., network segmentation, employee security awareness program]. However, critical vulnerabilities were identified in [e.g., patch management, access control for privileged accounts], leading to high-risk exposures. Compliance gaps were noted across all assessed frameworks, primarily concerning data retention policies (GDPR), access logging (SOC 2), and workstation security (HIPAA).

The overall risk posture is assessed as Moderate-High, largely driven by unpatched critical systems and inadequate incident response planning. This report provides detailed findings, risk scores, compliance statuses, and actionable recommendations prioritized for immediate and long-term remediation to enhance the security posture and achieve regulatory compliance.


1. Introduction

The digital landscape presents evolving threats that necessitate a proactive and robust cybersecurity strategy. This audit serves as a crucial step for [Client Organization Name] to understand its current security standing, identify potential weaknesses, and establish a clear roadmap for improvement.

1.1. Purpose

The purpose of this audit is to provide a detailed, independent evaluation of [Client Organization Name]'s cybersecurity controls, identify vulnerabilities, assess associated risks, and verify adherence to applicable regulatory and industry best practices.

1.2. Scope

The scope of this audit encompassed:

  • Network Infrastructure: Internal and external network segments, firewalls, routers, switches.
  • Server Infrastructure: All critical servers (e.g., web, database, application, authentication).
  • Application Security: Key business applications and their underlying code/configurations.
  • Endpoint Security: Workstations and mobile devices used by employees.
  • Data Security: Storage, transmission, and processing of sensitive data.
  • Security Policies and Procedures: Review of existing documentation and their implementation.
  • Personnel Security: User access management and security awareness.

1.3. Objectives

  • Identify and categorize technical and procedural vulnerabilities.
  • Assess the likelihood and impact of identified threats to critical assets.
  • Determine the current level of compliance with SOC 2 Type 2, GDPR, and HIPAA.
  • Provide prioritized, actionable recommendations for risk mitigation and security enhancement.
  • Establish a baseline for future security posture assessments.

2. Methodology

Our audit methodology integrates industry-standard frameworks and best practices to ensure a comprehensive and reliable assessment.

2.1. Frameworks & Standards

  • NIST Cybersecurity Framework (CSF)
  • ISO/IEC 27001
  • OWASP Top 10 (for web application security)

2.2. Assessment Techniques

  • Vulnerability Scanning: Automated tools (e.g., Nessus, OpenVAS) for network, system, and web application scanning.
  • Penetration Testing (Limited Scope): Manual validation of critical vulnerabilities identified by automated scans (e.g., attempting to exploit known weaknesses).
  • Configuration Reviews: Examination of security configurations for operating systems, network devices, and applications against secure baselines.
  • Policy & Procedure Review: Analysis of existing security documentation, including incident response plans, access control policies, and data handling procedures.
  • Interviews & Documentation Review: Discussions with key IT and business stakeholders, review of logs, audit trails, and system architecture diagrams.
  • Compliance Gap Analysis: Mapping current controls against requirements of SOC 2 Type 2, GDPR, and HIPAA.

2.3. Tools Used (Illustrative)

  • Network Scanners: Nessus Professional, Nmap
  • Web Application Scanners: Burp Suite Professional, OWASP ZAP
  • Configuration Audit Tools: CIS-CAT Pro Assessor
  • Log Management & SIEM: Splunk (for historical data review)
  • Documentation & Reporting: Internal audit management platform

3. Vulnerability Assessment Findings

This section details the vulnerabilities identified during the audit, categorized by severity based on potential impact and exploitability.

3.1. Severity Classification

  • Critical: Direct and immediate threat to core business operations, data confidentiality, integrity, or availability. Exploitation could lead to significant financial loss, legal penalties, or reputational damage.
  • High: Significant threat that could lead to unauthorized access, data compromise, or disruption of critical services. Requires prompt attention.
  • Medium: Moderate threat that could degrade security posture or lead to minor data exposure. Should be addressed in a timely manner.
  • Low: Minor threat that has limited impact on security. Recommended for improvement.
  • Informational: Observations that do not pose a direct threat but provide useful context or suggest best practice improvements.

3.2. Detailed Findings (Illustrative Examples)

| ID | Severity | Vulnerability Description | Affected Assets | Remediation Priority |

| :---- | :------- | :--------------------------------------------------------------------------------------------- | :-------------------------------------------- | :------------------- |

| V-001 | Critical | Unpatched Critical Vulnerability (CVE-2023-XXXX): Multiple servers running outdated OS versions with known critical vulnerabilities. | Production Web Server (IP: A.B.C.D), Database Server (IP: E.F.G.H) | Immediate |

| V-002 | High | Weak or Default Credentials: Several administrative interfaces (e.g., firewall, network devices) are using default or easily guessable credentials. | Firewall Appliance (IP: X.Y.Z.W), Network Switch (IP: I.J.K.L) | High |

| V-003 | High | Missing Multi-Factor Authentication (MFA): MFA is not enforced for privileged access to critical internal systems. | Active Directory, CRM System, Financial Application | High |

| V-004 | Medium | Inadequate Logging and Monitoring: Lack of centralized logging and insufficient monitoring for security events on key systems. | All Critical Servers, Network Devices | Medium |

| V-005 | Medium | Lack of Data Encryption at Rest: Sensitive customer data stored in a non-encrypted format on a development server. | Development Database Server | Medium |

| V-006 | Low | Outdated Security Awareness Training Material: Employee training material does not cover recent phishing trends or social engineering tactics. | All Employees | Low |

| V-007 | Informational | Unused Network Ports Open: Several unused ports are open on external-facing firewalls. | External Firewall | Low |


4. Risk Scoring and Analysis

This section quantifies the potential impact of identified vulnerabilities by assigning risk scores, enabling prioritization of remediation efforts.

4.1. Risk Matrix

Our risk scoring methodology combines Likelihood (probability of a threat exploiting a vulnerability) and Impact (consequences if the threat is successful).

| Likelihood | Impact | Low (Minor) | Medium (Moderate) | High (Significant) | Critical (Catastrophic) |

| :------------- | :--------- | :-------------- | :-------------------- | :--------------------- | :-------------------------- |

| Low | | Low | Low | Medium | Medium |

| Medium | | Low | Medium | High | High |

| High | | Medium | High | Critical | Critical |

4.2. Identified Risks and Scores (Illustrative Examples)

| ID | Associated Vulnerability | Risk Description | Likelihood | Impact | Risk Score | Business Impact

cybersecurity_audit_report.txt
Download source file
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}