Skip to content

Commit 05a968e

Browse files
romanchaa997Audityzer BotjhunterstudioclaudeClaude Agent
authored
feat: safe-improvements → main — Render deployment, CI/CD fixes, workflows (#153)
* 🔥 NUCLEAR: Complete elimination of ALL submodules - Removed 5 submodules: Airdrop, frontend, my-vue-app, stream-drip-bot, uniswap-dapp-starter - Deleted .gitmodules file completely - Removed all submodule entries from git index - Eliminated .git/modules directory - Added hardened netlify.toml to prevent submodule issues - Repository now completely clean of ALL submodule references Fixes deployment error: 'No url found for submodule path my-vue-app' * fix: update netlify config with PNPM_FLAGS to resolve lockfile issues * fix: PostCSS config for ESM project * fix: install @tailwindcss/postcss package for Tailwind v4 PostCSS integration * CoD Signed-off-by: Igor <romanchaa997@gmail.com> * Update issue templates * feat: deploy enhanced Audityzer platform with comprehensive enterprise features 🚀 MAJOR PLATFORM ENHANCEMENT DEPLOYMENT Core Platform Enhancements: • Enhanced Audityzer Core Platform with SOC integration • Advanced Business Intelligence platform with analytics • Comprehensive web platform with mobile responsiveness • Enterprise-grade testing infrastructure implementation 🔒 Security Operations Center (SOC): • Real-time security monitoring and incident response • Threat intelligence integration and analysis • Access control management and audit trails • Security events dashboard and analytics 📊 Business Intelligence & Analytics: • Executive dashboards (CEO/CISO specific views) • KPI management and performance metrics • Advanced reporting and data visualization • Real-time analytics and insights engine 🧪 Testing Infrastructure: • Comprehensive automated testing suite (unit, integration, e2e) • Performance and security testing frameworks • Accessibility testing and mobile responsiveness validation • CI/CD pipeline integration with quality gates 🔧 CI/CD Platform Integrations: • GitHub Actions, GitLab CI, Jenkins, CircleCI plugins • Automated security scanning in development workflows • Enhanced reporting formats (SARIF, JUnit, HTML) • Real-time pipeline monitoring and notifications 📱 Mobile Application: • React Native cross-platform mobile app • Offline capability and data synchronization • Biometric authentication and push notifications • Mobile-optimized security scanning interface ⚡ Performance & Security Optimizations: • Database query optimization and indexing • API performance monitoring and caching • Enhanced authentication and authorization • Security hardening and compliance monitoring 🎨 Enhanced User Experience: • Mobile-responsive design across all platforms • Accessibility improvements (WCAG compliance) • Advanced customization and theming system • Improved navigation and user interface 📈 Advanced Analytics & ML: • AI-powered vulnerability classification • Predictive security analytics • Performance monitoring dashboards • Real-time threat detection algorithms 🔗 Integration Capabilities: • Enhanced API endpoints and webhooks • Third-party security tool integrations • Blockchain and DeFi analysis modules • Smart contract security assessment tools 📚 Documentation & Training: • Comprehensive testing implementation guides • Performance and security audit documentation • Code quality standards and best practices • Training materials and user guides This deployment represents a complete transformation of the Audityzer platform into an enterprise-grade security analysis solution with comprehensive SOC capabilities, advanced BI analytics, robust testing infrastructure, and enhanced user experience across web and mobile platforms. * feat: risk engine core scaffolding (base.py) Agent A deliverable: Risk engine foundation - Severity enum for risk classification - Rule class for defining security rules - RiskAssessment dataclass for results - RiskCalculator abstract base class - WebApplicationRiskCalculator implementation - Default security rules (SQL injection, XSS, auth bypass, encryption) - JSON serialization support Target: Dec 11, 10 AM (#31) Signed-off-by: Igor <romanchaa997@gmail.com> * Create CNAME * feat: Add security headers workflow (HSTS, CSP, X-Frame-Options) (#37) Signed-off-by: Igor <romanchaa997@gmail.com> * 🧬 feat: Neural Mesh Orchestration - Bio-inspired Harmonic 6-domain Architecture (#38) This workflow orchestrates a bio-inspired harmonic multi-domain synergy architecture, activating six domains in a synchronized pattern. It includes phases for domain activation, cross-domain linking, API gateway deployment, metric generation, synchronized deployment, health checks, and committing results. Signed-off-by: Igor <romanchaa997@gmail.com> * Add S3 backup for build artifacts in CI/CD workflow (#39) Added a backup step to store build artifacts in S3 and clean up old backups. Signed-off-by: Igor <romanchaa997@gmail.com> * docs: Add comprehensive Domain Deployment & Configuration Runbook (#40) This runbook documents the complete deployment and configuration process for three Unstoppable Domains, detailing each phase from DNSSEC configuration to GitHub Pages deployment, including monitoring and troubleshooting guidelines. Signed-off-by: Igor <romanchaa997@gmail.com> * Create EXECUTION_SUMMARY.md for productization roadmap (#58) Added a comprehensive execution summary for the productization roadmap, detailing project plans, key documents, next steps, and timelines for three SaaS products. Signed-off-by: Igor <romanchaa997@gmail.com> * Add productization roadmap for 2025 (#57) This document outlines the productization strategy for three flagship SaaS offerings: Audityzer, heatmap-saas-api, and workspace-security-suite, detailing their missions, pricing strategies, product features, and go-to-market plans. Signed-off-by: Igor <romanchaa997@gmail.com> * feat: add Railway deployment configuration Add railway.toml and railway.json for Railway platform deployment. Configures Dockerfile-based build with health checks, restart policy, and port 3000 matching the docker-compose setup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve merge conflicts in Dockerfile and docker-compose.yml Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add CI/CD automation workflows (ci-fast, security-scan, deploy-railway, monitor-health) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: production K8s manifests + DOCR CI/CD pipeline - Updated deployment with DOCR image refs (registry.digitalocean.com/auditorsec/) - imagePullSecrets for DOCR auth - cert-manager TLS via letsencrypt-prod ClusterIssuer - Ingress for k8s.audityzer.com with nginx rate-limiting - ArgoCD Application manifest for GitOps auto-sync - DO block storage PVC for reports - GitHub Actions workflow: build-push-docr.yml - Builds Audityzer + MCP images - Pushes to DOCR with SHA tags - Auto-updates k8s/deployment.yaml image tags * ci: one-shot workflow to add k8s.audityzer.com DNS record * fix: update Dockerfile npm ci flag for compatibility Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use pnpm in Dockerfile to match project lockfile npm ci was failing because package-lock.json was out of sync. Switch builder stage to pnpm (matching pnpm-lock.yaml) and update .dockerignore to include stale package-lock.json instead of pnpm-lock.yaml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: copy scripts before pnpm install for postinstall hook The postinstall script references scripts/fix-dependencies.js which wasn't available during pnpm install. Copy scripts/ directory before install and remove --prod flag so devDependencies are available for the build step. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: increase DOCR build timeout to 40min * feat: add Telegram bots, Railway, IoT/OPA env vars to .env.example Signed-off-by: Igor <romanchaa997@gmail.com> * feat(security): add NIS2 + GDPR compliance checker for Web3/dApp deployments Signed-off-by: Igor <romanchaa997@gmail.com> * feat(security): add PQC readiness scanner - NIST FIPS 203/204/205 migration support Signed-off-by: Igor <romanchaa997@gmail.com> * feat(agents): add parallel AI agent pipeline - VulnScan/Compliance/PQC/Report Signed-off-by: Igor <romanchaa997@gmail.com> * feat(agents): add IoT seismic anomaly detector - Z-score+IQR, Richter estimate Signed-off-by: Igor <romanchaa997@gmail.com> * docs: add REVENUE_MODEL.md - freemium SaaS tiers, ARR targets, EU grant strategy Signed-off-by: Igor <romanchaa997@gmail.com> * ci(gitops): add full deploy pipeline - security gate, tests, Railway, HF Space, Telegram notify Signed-off-by: Igor <romanchaa997@gmail.com> * Change builder to Nixpacks and update build command Signed-off-by: Igor <romanchaa997@gmail.com> * ci: optimize Docker build with buildx cache layer * perf: optimize Dockerfile - skip browser downloads, prod-only deps in final stage Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: Dockerfile skip vite build - Node.js server runs source directly The app has no frontend build step - bin/audityzer.js imports .js source files directly. Removed the multi-stage builder (which ran vite build requiring index.html) and replaced with a single-stage image that copies source and installs prod deps only. Also fixed railway.toml/json to use the actual entry point (bin/audityzer.js start) instead of dist/cli.js. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: start.sh shebang and line endings for Docker exec Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: create app directories in Dockerfile before switching to non-root user Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: copy server.js to Docker image and update start command The Docker container failed to start because server.js wasn't copied into the image and start.sh was trying to run bin/audityzer.js instead. Also guards static file middleware against missing public/ and build/client/ directories in the container environment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add express to dependencies, install all deps in Dockerfile Docker container crashes because express and body-parser are imported by server.js but were missing from package.json dependencies. Also changed Dockerfile from --prod install to full install since dependency categorization is unreliable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: fix DOCR workflow - remove branch-protected commit step * feat: add /health endpoint for K8s probes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * ci: add sync-parallel-tasks workflow for GitHub Actions registration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore(deps-dev): bump happy-dom (#123) Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom). Updates `happy-dom` from 17.5.6 to 20.8.9 - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](capricorn86/happy-dom@v17.5.6...v20.8.9) --- updated-dependencies: - dependency-name: happy-dom dependency-version: 20.8.9 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the npm_and_yarn group across 2 directories with 3 updates (#122) Bumps the npm_and_yarn group with 2 updates in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom) and [brace-expansion](https://github.com/juliangruber/brace-expansion). Bumps the npm_and_yarn group with 2 updates in the /mobile-app directory: [brace-expansion](https://github.com/juliangruber/brace-expansion) and [yaml](https://github.com/eemeli/yaml). Updates `happy-dom` from 17.5.6 to 20.8.9 - [Release notes](https://github.com/capricorn86/happy-dom/releases) - [Commits](capricorn86/happy-dom@v17.5.6...v20.8.9) Updates `brace-expansion` from 1.1.11 to 1.1.13 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.13) Updates `brace-expansion` from 1.1.11 to 1.1.13 - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.13) Updates `yaml` from 2.8.0 to 2.8.3 - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](eemeli/yaml@v2.8.0...v2.8.3) --- updated-dependencies: - dependency-name: happy-dom dependency-version: 20.8.9 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: brace-expansion dependency-version: 1.1.13 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: brace-expansion dependency-version: 1.1.13 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: yaml dependency-version: 2.8.3 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump aiohttp (#110) --- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.13.3 dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add Ecosystem Partners documentation for Audityzer (#95) This document lists all consortium partners, their roles, contact information, and contributions for the Audityzer Turbine Inspection Form v0.1 project. Signed-off-by: Igor <romanchaa997@gmail.com> * docs: Add detailed field validation schema with type specs and error handling (#94) This document outlines validation rules and constraints for the Audityzer Turbine Inspection Form, including field types, requirements, and error handling. Signed-off-by: Igor <romanchaa997@gmail.com> * docs: Add comprehensive system integration guide with partner APIs and protocols (#93) This document provides detailed specifications for integrating the Audityzer Turbine Inspection Form with various partner systems, covering architecture, protocols, data formats, security, error handling, and testing. Signed-off-by: Igor <romanchaa997@gmail.com> * docs: Add comprehensive implementation roadmap with 18-month deployment strategy (#92) This document outlines the technical implementation roadmap for deploying the Audityzer Turbine Inspection Form v0.1, covering phases from infrastructure setup to operational deployment. Signed-off-by: Igor <romanchaa997@gmail.com> * Add workflow_dispatch to CodeQL workflow Signed-off-by: Igor <romanchaa997@gmail.com> * fix: remove "type": "module" to fix CommonJS require() compatibility Removed 'type' field from package.json Signed-off-by: Igor <romanchaa997@gmail.com> * fix: convert firebase.js ESM imports to CommonJS require() (#149) Updated import statements to use CommonJS require syntax. Signed-off-by: Igor <romanchaa997@gmail.com> * fix: convert report-service.js ESM imports to CommonJS require() (#150) Signed-off-by: Igor <romanchaa997@gmail.com> * fix: remove .default from reportService require in src/index.js (#151) Signed-off-by: Igor <romanchaa997@gmail.com> * fix: correct src/index.js require syntax (remove stray dot) Signed-off-by: Igor <romanchaa997@gmail.com> * fix: make firebase.js resilient - catch missing firebase package Updated Firebase service integration to check for environment variables and local config. Added error handling for Firebase initialization. Signed-off-by: Igor <romanchaa997@gmail.com> * fix: make report-service.js resilient - handle missing firebase package Lazy-load Firebase Firestore and Storage modules to handle cases where they may not be available. Added warnings for local saving and skipped uploads when Firebase is not available. Signed-off-by: Igor <romanchaa997@gmail.com> * fix: convert server.js ESM imports to CommonJS require() (#152) Refactor server.js to use CommonJS syntax and improve error handling for file serving. Added environment variable loading and structured API endpoints for reports. Signed-off-by: Igor <romanchaa997@gmail.com> * Add badges for live demo, health, and deployment Signed-off-by: Igor <romanchaa997@gmail.com> * Add Kubernetes deployment for Audityzer application This deployment file sets up the Audityzer application on Kubernetes, including its namespace, config map, secrets, deployment, service, ingress, horizontal pod autoscaler, and network policy. Signed-off-by: Igor <romanchaa997@gmail.com> * Add outreach templates for DeFi/Web3 protocols Added outreach templates for DeFi/Web3 protocols including LinkedIn DMs, Telegram messages, emails, and a target protocol list. Signed-off-by: Igor <romanchaa997@gmail.com> * fix: P0 - railway startCommand use node server.js instead of non-existent bin handler (#154) Signed-off-by: Igor <romanchaa997@gmail.com> * Remove personal email from outreach-templates.md (#155) Updated email address to a placeholder in outreach templates. Signed-off-by: Igor <romanchaa997@gmail.com> * Revise README for improved clarity and information Updated README.md to enhance project description and features. Signed-off-by: Igor <romanchaa997@gmail.com> * Add workflow to merge main into safe-improvements Signed-off-by: Igor <romanchaa997@gmail.com> * Add workflow to resolve PR conflicts with main Signed-off-by: Igor <romanchaa997@gmail.com> * resolve: fix railway.toml merge conflict - keep NIXPACKS config (#157) Signed-off-by: Igor <romanchaa997@gmail.com> * resolve: remove package-lock.json (pnpm project uses pnpm-lock.yaml) Signed-off-by: Igor <romanchaa997@gmail.com> * feat: add main.py FastAPI — /audit + /report + /health endpoints (BRAVE1 TRL4) (#161) Implement AuditorSEC API with audit and report endpoints. Signed-off-by: Igor <romanchaa997@gmail.com> * feat: add report.py — PDF generation + MinIO presigned URL (BRAVE1 TRL4) (#162) Implement PDF generation and upload to MinIO. Signed-off-by: Igor <romanchaa997@gmail.com> * feat: update requirements.txt — add FastAPI + OpenAI + ReportLab + MinIO stack (#163) Added various dependencies for web framework, AI, PDF generation, object storage, HTTP client, and utilities. Signed-off-by: Igor <romanchaa997@gmail.com> * feat: update docker-compose.yml — full AuditorSEC stack: API + MinIO + Prometheus + Grafana (#164) Updated docker-compose version and modified service configurations, including health checks and environment variables for various services. Signed-off-by: Igor <romanchaa997@gmail.com> * docs: add BRAVE1_TRL4_demo.md — TRL 4 proof artifact for BRAVE1 Tier 4b application (#166) Added TRL 4 proof of concept documentation for AuditorSEC/Audityzer project, detailing technology readiness, system architecture, KPIs, live demo, defense applications, repository structure, letters of intent, next milestones, and submission links. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(netlify): add GIT_SUBMODULE_STRATEGY=none to bypass broken gitlinks on Netlify init Signed-off-by: Igor <romanchaa997@gmail.com> * fix(conflict): sync netlify.toml with main — CSP img-src + full headers (#186) Signed-off-by: Igor <romanchaa997@gmail.com> * feat(workflow): Optimism Chain Security Scanner — Stream D Sprint 260h microtask (#187) * feat(ci): add optimism-scan.yml — weekly Slither + Foundry fork scan for Optimism chain This workflow automates the security scanning of Solidity contracts on the Optimism chain using Slither and Foundry. It includes scheduled scans, manual triggers, and summarizes results. Signed-off-by: Igor <romanchaa997@gmail.com> * feat(workflow): complete Optimism Chain Security Scanner — Stream D Sprint 260h Updated the Optimism security scan workflow to include a new RPC_URL environment variable, install specific Slither version, and adjust scan report handling. Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * fix(api): address cubic-dev-ai P1/P2 — async handlers, input validation, route versioning (#176) Refactor audit and report endpoints for improved security and performance. Update input validation and error handling. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(report): require explicit MinIO secrets + html.escape for ReportLab Paragraphs (#177) Refactor PDF report generation to improve security by requiring explicit MinIO credentials and escaping HTML. Update styles and upload process. Signed-off-by: Igor <romanchaa997@gmail.com> * Add SECRETS_SETUP.md for environment configuration (#183) Document setup instructions for secrets and environment variables used in AuditorSEC. Signed-off-by: Igor <romanchaa997@gmail.com> * docs(test): add API_TEST_RESULTS.md — e2e validation for /audit /report /health + P1/P2 fix verification (#182) Added comprehensive end-to-end test results for AuditorSEC API, including health check, audit, and report endpoints with validation statuses. Signed-off-by: Igor <romanchaa997@gmail.com> * docs(gtm): add COMPETITIVE_MATRIX.md — Web3 audit tool comparison + B… (#181) * docs(gtm): add COMPETITIVE_MATRIX.md — Web3 audit tool comparison + BRICS market gaps + pricing Added a comprehensive competitive matrix for AuditorSEC, detailing market positioning, features compared to competitors, market gap analysis, differentiation summary, pricing strategy, market size estimate, and go-to-market priorities. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(gtm): convert BRAVE1 market figures to USD — resolve cubic P2 review (#185) Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * docs(plan): add AUDITOR_SEC_WEEK_PLAN.md — Sprint 260h daily schedule… (#180) * docs(plan): add AUDITOR_SEC_WEEK_PLAN.md — Sprint 260h daily schedule + PR merge order Added a detailed week plan for Sprint 260h, including daily goals, schedules, blockers, metrics, and PR merge order. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(plan): remove bypass-protection wording + clarify sprint day labels — resolve cubic P1/P2 (#184) Updated the daily schedule to clarify sprint days and merge procedures. Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * docs(readme): add AuditorSEC hero section — TRL4 positioning, badges, quick start API (#179) Added detailed information about AuditorSEC, including features, quick start instructions, and relevant badges. Signed-off-by: Igor <romanchaa997@gmail.com> * Create GTM strategy document for AuditorSEC (#174) Added comprehensive Go-To-Market strategy document outlining competitive analysis, customer segments, channel strategy, and launch timeline. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(api): unify comment — merge async blocking fix into safe-improvements Signed-off-by: Igor <romanchaa997@gmail.com> * fix: replace pnpm/action-setup@v4 with npm install — fix startup failures (#168) Replaced pnpm action setup with npm install command for consistency across jobs. Signed-off-by: Igor <romanchaa997@gmail.com> * chore(deps): bump aiohttp (#165) --- updated-dependencies: - dependency-name: aiohttp dependency-version: 3.13.4 dependency-type: direct:production dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump the npm_and_yarn group across 3 directories with 9 updates (#160) Bumps the npm_and_yarn group with 6 updates in the / directory: | Package | From | To | | --- | --- | --- | | [axios](https://github.com/axios/axios) | `1.9.0` | `1.15.0` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.3.5` | `6.4.2` | | [@eslint/plugin-kit](https://github.com/eslint/rewrite/tree/HEAD/packages/plugin-kit) | `0.3.3` | `0.3.5` | | [js-yaml](https://github.com/nodeca/js-yaml) | `3.14.1` | `3.14.2` | | [lodash](https://github.com/lodash/lodash) | `4.17.21` | `4.18.1` | | [tar-fs](https://github.com/mafintosh/tar-fs) | `2.1.2` | `2.1.4` | Bumps the npm_and_yarn group with 1 update in the /SolidStartApp directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Bumps the npm_and_yarn group with 2 updates in the /mobile-app directory: [axios](https://github.com/axios/axios) and [js-yaml](https://github.com/nodeca/js-yaml). Updates `axios` from 1.9.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) Updates `vite` from 6.3.5 to 6.4.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `@eslint/plugin-kit` from 0.3.3 to 0.3.5 - [Release notes](https://github.com/eslint/rewrite/releases) - [Changelog](https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md) - [Commits](https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.5/packages/plugin-kit) Updates `form-data` from 4.0.2 to 4.0.5 - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.2...v4.0.5) Updates `js-yaml` from 3.14.1 to 3.14.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) Updates `lodash` from 4.17.21 to 4.18.1 - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.18.1) Updates `tar-fs` from 2.1.2 to 2.1.4 - [Commits](mafintosh/tar-fs@v2.1.2...v2.1.4) Updates `vite` from 6.3.5 to 6.4.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `axios` from 1.9.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) Updates `@eslint/plugin-kit` from 0.3.3 to 0.3.5 - [Release notes](https://github.com/eslint/rewrite/releases) - [Changelog](https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md) - [Commits](https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.5/packages/plugin-kit) Updates `form-data` from 4.0.2 to 4.0.5 - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.2...v4.0.5) Updates `js-yaml` from 3.14.1 to 3.14.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) Updates `lodash` from 4.17.21 to 4.18.1 - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.18.1) Updates `tar-fs` from 2.1.2 to 2.1.4 - [Commits](mafintosh/tar-fs@v2.1.2...v2.1.4) Updates `axios` from 1.9.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) Updates `form-data` from 4.0.2 to 4.0.5 - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.2...v4.0.5) Updates `js-yaml` from 3.14.1 to 3.14.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) Updates `tar-fs` from 2.1.2 to 2.1.4 - [Commits](mafintosh/tar-fs@v2.1.2...v2.1.4) Updates `vite` from 6.3.5 to 6.4.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `@eslint/plugin-kit` from 0.3.3 to 0.3.5 - [Release notes](https://github.com/eslint/rewrite/releases) - [Changelog](https://github.com/eslint/rewrite/blob/main/packages/plugin-kit/CHANGELOG.md) - [Commits](https://github.com/eslint/rewrite/commits/plugin-kit-v0.3.5/packages/plugin-kit) Updates `lodash` from 4.17.21 to 4.18.1 - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.18.1) Updates `vite` from 5.4.19 to 8.0.8 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `esbuild` from 0.21.5 to 0.25.4 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.21.5...v0.25.4) Updates `vite` from 5.4.19 to 8.0.8 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `esbuild` from 0.21.5 to 0.25.4 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.21.5...v0.25.4) Updates `seroval` from 1.2.1 to 1.5.2 - [Release notes](https://github.com/lxsmnsyc/seroval/releases) - [Commits](https://github.com/lxsmnsyc/seroval/commits) Updates `vite` from 5.4.19 to 8.0.8 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite) Updates `esbuild` from 0.21.5 to 0.25.4 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md) - [Commits](evanw/esbuild@v0.21.5...v0.25.4) Updates `axios` from 1.10.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) Updates `js-yaml` from 3.14.1 to 3.14.2 - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@3.14.1...3.14.2) Updates `axios` from 1.10.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) Updates `axios` from 1.10.0 to 1.15.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.9.0...v1.15.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 6.4.2 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: "@eslint/plugin-kit" dependency-version: 0.3.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: form-data dependency-version: 4.0.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: lodash dependency-version: 4.18.1 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: tar-fs dependency-version: 2.1.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 6.4.2 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: "@eslint/plugin-kit" dependency-version: 0.3.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: form-data dependency-version: 4.0.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: lodash dependency-version: 4.18.1 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: tar-fs dependency-version: 2.1.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: form-data dependency-version: 4.0.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: tar-fs dependency-version: 2.1.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 6.4.2 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: "@eslint/plugin-kit" dependency-version: 0.3.5 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: lodash dependency-version: 4.18.1 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 8.0.8 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: esbuild dependency-version: 0.25.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 8.0.8 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: esbuild dependency-version: 0.25.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: seroval dependency-version: 1.5.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: vite dependency-version: 8.0.8 dependency-type: direct:development dependency-group: npm_and_yarn - dependency-name: esbuild dependency-version: 0.25.4 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: js-yaml dependency-version: 3.14.2 dependency-type: indirect dependency-group: npm_and_yarn - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn - dependency-name: axios dependency-version: 1.15.0 dependency-type: direct:production dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove submodules option from checkout step (#172) * Remove submodules option from checkout step No .gitmodules file exists in repo. Remove 'submodules: recursive' from security-scan.yml to prevent checkout failures. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(workflow): remove empty with: block in foundry-fuzz checkout step (#190) Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * Change pnpm setup to global installation (#171) * Change pnpm setup to global installation Replace pnpm/action-setup@v4 (blocked action) with 'npm install -g pnpm@9' to fix CI startup failures in deploy-railway workflow. Signed-off-by: Igor <romanchaa997@gmail.com> * fix(workflow): fix YAML indentation for run key in Setup pnpm step (#191) Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * Refactor sync-parallel-tasks workflow conditions (#169) * Refactor sync-parallel-tasks workflow conditions Signed-off-by: Igor <romanchaa997@gmail.com> * fix(workflow): remove restrictive if condition from sync-issues job Removed condition to update issues based on health status. Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> * feat(auditorSEC): add SSO attack surface, TTAP model, RaaS findings, … (#200) * feat(auditorSEC): add SSO attack surface, TTAP model, RaaS findings, Human Stories, Anti-TheCom Academy, talent pipeline Added detailed sections on AuditorSEC modules, risk scoring, and talent pipeline for cybersecurity education. Signed-off-by: Igor <romanchaa997@gmail.com> * Update README.md Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> * docs(adr): add ADR-0001 Perplexity Threads as SoT [UHIP-2A P0] Documented the use of Perplexity threads as the source of truth for architecture decisions and operational runbooks, outlining the identifier model, rules, consequences, and action plan. Signed-off-by: Igor <romanchaa997@gmail.com> * feat(infra): add perplexity-sot.yaml registry [UHIP-2A ADR-0001] Added Perplexity Source of Truth Registry configuration for UHIP Infra. Signed-off-by: Igor <romanchaa997@gmail.com> * docs(readme): add Perplexity SoT + Views section [UHIP-2A ADR-0001] Added documentation for Perplexity Source of Truth including identifier model, examples, and audit command. Signed-off-by: Igor <romanchaa997@gmail.com> * ci: add Diia.City compliance monitor workflow [UHIP-2A] This workflow monitors compliance for the Diia.City portal, checking its availability, running a compliance scan, and notifying via Telegram.Weekly compliance checker for Diia.City Q2 2026 deadline (10.07.2026). Integrates Audityzer scan + Telegram alerts + ClickUp task creation. Monitors: auditorsec.com, Diia portal status, risk scores. Secrets required: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, CLICKUP_API_TOKEN, CLICKUP_LIST_ID Signed-off-by: Igor <romanchaa997@gmail.com> * ci: add n8n workflow for UptimeRobot -> Telegram + ClickUp [UHIP-2A] This workflow integrates UptimeRobot alerts with Telegram and ClickUp, sending notifications for downtime and creating tasks for incidents. Signed-off-by: Igor <romanchaa997@gmail.com> * ci: add SSL Origin CA expiry monitor workflow (#211) This workflow checks the SSL expiry dates for auditorsec.com and audityzer.com, sending alerts via Telegram if the expiry is critical. It runs on a schedule and can also be triggered manually. Signed-off-by: Igor <romanchaa997@gmail.com> * ci: add audityzer.io DNS fix workflow (NXDOMAIN -> GitHub Pages) (#212) Signed-off-by: Igor <romanchaa997@gmail.com> * Add GitHub Secrets & Workflows Setup Guide Added a comprehensive setup guide for GitHub Secrets and workflows, including steps for configuring Telegram bot, Cloudflare API tokens, and deploying n8n for monitoring. Signed-off-by: Igor <romanchaa997@gmail.com> * Refactor audityzer.io DNS workflow for clarity Updated the workflow to improve readability and error handling for DNS management of audityzer.io. Added dry run summary and enhanced verification steps. Signed-off-by: Igor <romanchaa997@gmail.com> * Update README with infrastructure status and actions Added infrastructure status and immediate actions for site fixes. Signed-off-by: Igor <romanchaa997@gmail.com> * feat: Add Google AI Studio apps integration hub Integrated 40+ Google AI Studio apps into the main landing page: - AuditorSEC Defense Suite (5 apps) - Audityzer Security Tools (6 apps) - Specialized Solutions (6 apps) Organized into categorized sections with interactive cards. Each app has direct launch link to AI Studio public interface. Apps include: - Security audit tools - Web3 testing platforms - AI-powered fraud detection - Government compliance frameworks - Post-quantum cryptography tools Signed-off-by: Igor <romanchaa997@gmail.com> * feat(site): add Team, Pilot Case Study & Theory of Change sections for GCIP2 compliance Added team section and pilot case study to index.html, detailing team members and their roles, as well as pilot project outcomes. Signed-off-by: Igor <romanchaa997@gmail.com> * Add interactive features for app search and filters Signed-off-by: Igor <romanchaa997@gmail.com> * feat(automation): add LinkedIn auto-publish workflow with 12-post content plan (Mon/Wed/Fri) (#213) Signed-off-by: Igor <romanchaa997@gmail.com> * fix(security): add permissions:contents:read to social-publish workflow Add permissions section for content access. Signed-off-by: Igor <romanchaa997@gmail.com> * Refactor README.md for improved clarity and structure Removed redundant lines and adjusted formatting for clarity. Signed-off-by: Igor <romanchaa997@gmail.com> * Refactor package.json by removing tests and adding CI Removed several test scripts and resolutions, and added a new CI script. Signed-off-by: Igor <romanchaa997@gmail.com> --------- Signed-off-by: Igor <romanchaa997@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Audityzer Bot <audityzer@example.com> Co-authored-by: DeepAgent <deepagent@abacus.ai> Co-authored-by: Claude Code <claude@anthropic.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Claude Agent <claude-agent@anthropic.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
1 parent b0a606f commit 05a968e

181 files changed

Lines changed: 30530 additions & 6530 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.abacus.donotdelete

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

.dockerignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@ node_modules
66
build
77
dist
88
*.env
9+
*.env*
910
*.DS_Store
1011
*.pem
1112
npm-debug.log
1213
tests
14+
test
1315
.vscode
1416
examples
1517
*.md
16-
pnpm-lock.yaml
18+
package-lock.json
1719
coverage
20+
.github
21+
.husky
22+
docs

.env.example

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,54 @@ DATADOG_API_KEY=your_datadog_api_key
5252
CI=false
5353
MOCK_MODE=false
5454
TARGET_URL=http://localhost:5000
55+
56+
# ============================================
57+
# AuditorSEC Bot Ecosystem — Telegram Tokens
58+
# ============================================
59+
60+
# Core Bots (get from @BotFather)
61+
BOT_TOKEN_AUDITYZER=YOUR_AUDITYZERBOT_TOKEN
62+
BOT_TOKEN_OPS=YOUR_OPS_BOT_TOKEN
63+
BOT_TOKEN_DEVSECOPS=YOUR_DEVSECOPS_BOT_TOKEN
64+
BOT_TOKEN_CICD=YOUR_CICD_BOT_TOKEN
65+
BOT_TOKEN_YOUTUBE=YOUR_YOUTUBE_BOT_TOKEN
66+
67+
# Telegram Alert Channel (where critical alerts are sent)
68+
ALERT_CHANNEL_ID=-100XXXXXXXXXX
69+
70+
# Webhook Security
71+
WEBHOOK_SECRET=changeme_32chars_minimum_random
72+
DEPLOYMENT_URL=https://YOUR-PROJECT.up.railway.app
73+
74+
# ============================================
75+
# Railway Deployment
76+
# ============================================
77+
RAILWAY_TOKEN=YOUR_RAILWAY_TOKEN
78+
RAILWAY_PROJECT_ID=YOUR_PROJECT_ID
79+
RAILWAY_SERVICE_ID=YOUR_SERVICE_ID
80+
RAILWAY_HEALTH_URL=https://YOUR-PROJECT.up.railway.app/health
81+
82+
# ============================================
83+
# Integrations
84+
# ============================================
85+
MONDAY_WEBHOOK_SECRET=your_monday_secret
86+
GITHUB_WEBHOOK_SECRET=your_github_webhook_secret
87+
GRAFANA_WEBHOOK_SECRET=your_grafana_secret
88+
89+
# ClickUp & Notion
90+
CLICKUP_API_KEY=your_clickup_api_key
91+
NOTION_API_KEY=your_notion_api_key
92+
NOTION_DATABASE_ID=your_notion_database_id
93+
94+
# ============================================
95+
# Policy Engine & IoT
96+
# ============================================
97+
OPA_URL=http://localhost:8181
98+
NATS_URL=nats://localhost:4222
99+
MQTT_BROKER_URL=mqtt://localhost:1883
100+
PQC_CHECKS_ENABLED=true
101+
102+
# ============================================
103+
# Logging
104+
# ============================================
105+
LOG_LEVEL=INFO

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
name: Bug report
33
about: Create a report to help us improve Audityzer
4-
title: '[BUG] '
4+
title: "[BUG] "
55
labels: bug
66
assignees: ''
7+
78
---
89

910
## Bug Description

.github/ISSUE_TEMPLATE/custom.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Custom issue template
3+
about: Describe this issue template's purpose here.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
name: Feature request
33
about: Suggest an idea for Audityzer
4-
title: '[FEATURE] '
4+
title: "[FEATURE] "
55
labels: enhancement
66
assignees: ''
7+
78
---
89

910
## Feature Description

.github/SECRETS_SETUP.md

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
# AuditorSEC — Secrets & Environment Variables Setup
2+
# Sprint 260h | 2026-04-19
3+
# Required for full API functionality (audit + report endpoints)
4+
5+
## ⚠️ Critical: Do NOT commit secrets to git
6+
All secrets must be set via Railway dashboard, GitHub Secrets, or `.env` (gitignored).
7+
8+
---
9+
10+
## 1. Railway Production Secrets
11+
12+
Navigate to: [Railway Dashboard](https://railway.com/project/5480689f-0092-402c-8b9e-0d003872183f)
13+
14+
Service: **Audityzer** → Tab: **Variables**
15+
16+
### Required Variables
17+
18+
```bash
19+
# OpenAI (required for /api/v1/audit)
20+
OPENAI_API_KEY=sk-proj-...
21+
22+
# MinIO (required for /api/v1/report PDF upload)
23+
MINIO_ENDPOINT=minio:9000
24+
MINIO_ACCESS_KEY=audityzer-access
25+
MINIO_SECRET_KEY=audityzer-secret-32chars-minimum
26+
MINIO_SECURE=false
27+
MINIO_BUCKET=audit-reports
28+
29+
# App config
30+
NODE_ENV=production
31+
PORT=3000
32+
```
33+
34+
### Optional (monitoring)
35+
```bash
36+
# Grafana / Prometheus
37+
GRAFANA_ADMIN_USER=admin
38+
GRAFANA_ADMIN_PASSWORD=your-strong-password
39+
40+
# Telegram alerts
41+
TELEGRAM_BOT_TOKEN=...
42+
TELEGRAM_CHAT_ID=...
43+
```
44+
45+
---
46+
47+
## 2. GitHub Actions Secrets
48+
49+
Navigate to: **Settings****Secrets and variables****Actions****New repository secret**
50+
51+
### Required for `optimism-scan.yml` (PR #178)
52+
```bash
53+
OPTIMISM_RPC_URL=https://mainnet.optimism.io
54+
# Or use Alchemy/Infura for better reliability:
55+
# OPTIMISM_RPC_URL=https://opt-mainnet.g.alchemy.com/v2/YOUR_KEY
56+
```
57+
58+
### Required for CI/CD pipelines
59+
```bash
60+
# Railway deployment
61+
RAILWAY_TOKEN=your-railway-token
62+
63+
# Docker registry (if using DOCR)
64+
DOCR_TOKEN=your-digitalocean-token
65+
66+
# S3 backup (optional)
67+
AWS_ACCESS_KEY_ID=...
68+
AWS_SECRET_ACCESS_KEY=...
69+
AWS_S3_BUCKET=audityzer-backups
70+
```
71+
72+
### Required for security scans
73+
```bash
74+
# Slither / Foundry (Ethereum node)
75+
ETH_RPC_URL=https://mainnet.infura.io/v3/YOUR_KEY
76+
```
77+
78+
---
79+
80+
## 3. Local Development (.env)
81+
82+
Create `.env` in project root (already in `.gitignore`):
83+
84+
```bash
85+
# Copy from .env.example and fill in:
86+
cp .env.example .env
87+
88+
# Edit .env:
89+
OPENAI_API_KEY=sk-proj-...
90+
MINIO_ENDPOINT=localhost:9000
91+
MINIO_ACCESS_KEY=minioadmin
92+
MINIO_SECRET_KEY=minioadmin123
93+
MINIO_SECURE=false
94+
MINIO_BUCKET=audit-reports
95+
OPTIMISM_RPC_URL=https://mainnet.optimism.io
96+
NODE_ENV=development
97+
PORT=3000
98+
```
99+
100+
---
101+
102+
## 4. Docker Compose (local stack)
103+
104+
Start full local stack:
105+
```bash
106+
# Start MinIO + FastAPI + Prometheus + Grafana
107+
docker compose up -d
108+
109+
# Verify MinIO is running
110+
curl http://localhost:9000/minio/health/live
111+
112+
# Verify API is running
113+
curl http://localhost:3000/health
114+
```
115+
116+
MinIO console: http://localhost:9001 (login: minioadmin / minioadmin)
117+
118+
---
119+
120+
## 5. Trigger Optimism Scan Manually
121+
122+
After adding `OPTIMISM_RPC_URL` to GitHub Secrets:
123+
124+
1. Go to **Actions** tab
125+
2. Find **"Optimism Chain Security Scan"** workflow (PR #178)
126+
3. Click **"Run workflow"**
127+
4. Select `scan_depth: quick` for initial test
128+
5. Check results in **"optimism-scan-N"** artifact
129+
130+
---
131+
132+
## 6. Verify Full Stack
133+
134+
```bash
135+
# 1. Health check
136+
curl https://audityzer-production-5112.up.railway.app/health
137+
# Expected: {"status":"ok","version":"1.1.3","service":"AuditorSEC"}
138+
139+
# 2. Audit endpoint (after OPENAI_API_KEY set)
140+
curl -X POST https://audityzer-production-5112.up.railway.app/api/v1/audit \
141+
-H "Content-Type: application/json" \
142+
-d '{"project_name":"Verify","log_text":"transfer(0x1,0x2,1000)"}'
143+
144+
# 3. Report endpoint (after MINIO_* set)
145+
curl -X POST https://audityzer-production-5112.up.railway.app/api/v1/report \
146+
-H "Content-Type: application/json" \
147+
-d '{"project_name":"Verify","log_text":"No issues found."}'
148+
# Expected: {"report_url": "http://minio.../reports/..._audit.pdf?...", ...}
149+
```
150+
151+
---
152+
153+
## 7. Security Notes
154+
155+
- Never use default MinIO credentials (`minioadmin`) in production
156+
- Rotate `OPENAI_API_KEY` every 90 days
157+
- Enable Railway private networking for MinIO (disable public endpoint)
158+
- Use `MINIO_SECURE=true` with TLS in production
159+
- `MINIO_SECRET_KEY` must be at least 8 characters (MinIO requirement)
160+
161+
---
162+
163+
*AuditorSEC / Audityzer | Sprint 260h | 2026-04-19*

0 commit comments

Comments
 (0)