Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
adb7ffd
fix: upgrade rimraf from 2.6.3 to 2.7.1
snyk-bot Apr 6, 2025
c4508f0
fix: upgrade vscode-languageserver-types from 3.13.0 to 3.17.5
snyk-bot Apr 7, 2025
a35d514
fix: upgrade typescript from 4.1.2 to 4.9.5
snyk-bot Apr 8, 2025
c943f0f
fix: upgrade babel-eslint from 10.0.2 to 10.1.0
snyk-bot Apr 8, 2025
8e89e04
fix: Dockerfile to reduce vulnerabilities
snyk-bot Apr 11, 2025
4932193
Merge pull request #6 from ivan09069/snyk-fix-70acb237d731941f474745c…
ivan09069 Apr 12, 2025
61c5e89
Merge pull request #1 from ivan09069/snyk-upgrade-49e8c9ea699077c6e80…
ivan09069 Apr 12, 2025
1eb3f12
Merge pull request #2 from ivan09069/snyk-upgrade-3a220a9b0e2743d09b6…
ivan09069 Apr 12, 2025
eb6b050
Merge pull request #3 from ivan09069/snyk-upgrade-37ca9d492f58679a348…
ivan09069 Apr 12, 2025
eb129d4
Merge pull request #5 from ivan09069/snyk-upgrade-279457ff3d6f7ffe67d…
ivan09069 Apr 12, 2025
e707954
fix: upgrade oniguruma from 7.0.0 to 7.2.3
snyk-bot Apr 16, 2025
9801e49
fix: packages/sandpack-core/package.json to reduce vulnerabilities
snyk-bot May 8, 2025
315eb56
fix: standalone-packages/sse-loading-screen/package.json & standalone…
snyk-bot May 8, 2025
5db5297
fix: packages/components/package.json to reduce vulnerabilities
snyk-bot May 8, 2025
a7a22f2
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot May 9, 2025
e68b022
fix: packages/notifications/package.json to reduce vulnerabilities
snyk-bot May 9, 2025
134c220
fix: packages/common/package.json to reduce vulnerabilities
snyk-bot May 10, 2025
3f58107
fix: packages/vue3-browser-compiler/package.json to reduce vulnerabil…
snyk-bot May 16, 2025
18050b7
fix: packages/sandbox-hooks/package.json to reduce vulnerabilities
snyk-bot Jun 5, 2025
4d655d4
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Jun 6, 2025
cc66d9b
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Jun 13, 2025
015fdfe
fix: standalone-packages/vscode-extensions/package.json & standalone-…
snyk-bot Jun 15, 2025
162b270
fix: packages/browser-eslint-rules/package.json to reduce vulnerabili…
snyk-bot Jun 15, 2025
2b12696
fix: packages/app/src/app/overmind/effects/vscode/LinterWorker/packag…
snyk-bot Jun 18, 2025
7673192
Merge pull request #24 from ivan09069/snyk-fix-aa7fe123721bf59647e89f…
ivan09069 Jul 19, 2025
7a97ca8
Merge pull request #23 from ivan09069/snyk-fix-8f1751a7cdb59419956c3e…
ivan09069 Jul 19, 2025
bf28ac2
Merge pull request #22 from ivan09069/snyk-fix-1c1159a9f29ae6ffac317a…
ivan09069 Jul 19, 2025
57be5a1
Merge pull request #21 from ivan09069/snyk-fix-e048bee2205ae39f195453…
ivan09069 Jul 19, 2025
7be10f8
Merge pull request #20 from ivan09069/snyk-fix-c1b7abd941657e01376618…
ivan09069 Jul 19, 2025
10ff53c
Merge pull request #19 from ivan09069/snyk-fix-a848a701329c8722ebda4f…
ivan09069 Jul 19, 2025
30e7f1d
Merge pull request #18 from ivan09069/snyk-fix-a82a94f235d0d5b49ed05f…
ivan09069 Jul 19, 2025
b544223
Merge pull request #17 from ivan09069/snyk-fix-e11d799994a062983e2d69…
ivan09069 Jul 19, 2025
e321923
Merge pull request #16 from ivan09069/snyk-fix-ae13fb207d5b740b552cc2…
ivan09069 Jul 19, 2025
114655b
Merge pull request #15 from ivan09069/snyk-fix-52036337fe590bb6e3fb3f…
ivan09069 Jul 19, 2025
b48b5c9
Merge pull request #14 from ivan09069/snyk-fix-d58d2971eeab14d9dc1c4b…
ivan09069 Jul 19, 2025
b5bf91c
Merge pull request #13 from ivan09069/snyk-fix-bab8bd84cc4f77efcc9b19…
ivan09069 Jul 19, 2025
67e0b4e
Merge pull request #12 from ivan09069/snyk-fix-9021a58cbbf9a00d5c6298…
ivan09069 Jul 19, 2025
54f1efc
Merge pull request #10 from ivan09069/snyk-upgrade-15c21e2486d83a2b37…
ivan09069 Jul 19, 2025
17706eb
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Jul 25, 2025
f20008f
fix: upgrade gsap from 3.12.2 to 3.13.0
snyk-bot Jul 31, 2025
15c6077
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Aug 8, 2025
679926f
Merge pull request #27 from ivan09069/snyk-fix-bf46fa5e9a02b765506efd…
ivan09069 Aug 14, 2025
31ec302
Merge pull request #26 from ivan09069/snyk-upgrade-4b0fcc3f771af4c0ce…
ivan09069 Aug 14, 2025
e0e47ce
fix: Dockerfile to reduce vulnerabilities
snyk-bot Aug 15, 2025
d9e04be
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Aug 29, 2025
bd4814a
fix: docker/Dockerfile.prod to reduce vulnerabilities
snyk-bot Sep 11, 2025
a103472
Merge pull request #30 from ivan09069/snyk-fix-ea54d450856f51544106ab…
ivan09069 Sep 11, 2025
5cdaca1
feat: upgrade vscode-oniguruma from 1.3.1 to 2.0.1
snyk-bot Sep 24, 2025
592f720
Merge pull request #31 from ivan09069/snyk-upgrade-db4fe3e1727b7959d0…
ivan09069 Sep 25, 2025
b964d13
Merge pull request #29 from ivan09069/snyk-fix-616186a17d61bb68976fdb…
ivan09069 Sep 25, 2025
508c3d5
Merge pull request #28 from ivan09069/snyk-fix-58103f433d460cf24be97c…
ivan09069 Sep 25, 2025
64d0ba1
Merge pull request #25 from ivan09069/snyk-fix-017824405a3ae86d134758…
ivan09069 Sep 25, 2025
2260624
feat: upgrade preact from 8.5.3 to 10.27.1
snyk-bot Sep 25, 2025
edab658
feat: upgrade socket.io-client from 2.5.0 to 4.8.1
snyk-bot Sep 25, 2025
e112d65
fix: packages/app/package.json to reduce vulnerabilities
snyk-bot Sep 26, 2025
d62975b
Merge pull request #36 from ivan09069/snyk-fix-f46b5f4175c3abbc44d478…
ivan09069 Sep 26, 2025
a2860ce
Merge pull request #35 from ivan09069/snyk-upgrade-594b070766a6e4c246…
ivan09069 Sep 26, 2025
a9fdbcd
Merge pull request #34 from ivan09069/snyk-upgrade-3b1bf8ab2adcfe40c3…
ivan09069 Sep 26, 2025
b8ca2b6
feat: upgrade rimraf from 4.4.1 to 6.0.1
snyk-bot Sep 28, 2025
5929ff2
fix: packages/executors/package.json to reduce vulnerabilities
snyk-bot Sep 29, 2025
1413ed0
fix: docker/Dockerfile.test to reduce vulnerabilities
snyk-bot Sep 30, 2025
adfaf24
Merge pull request #39 from ivan09069/snyk-fix-079110d0c24f893d3f0230…
ivan09069 Sep 30, 2025
2b6cc57
Set up CI with Azure Pipelines
ivan09069 Sep 30, 2025
995d782
Merge pull request #38 from ivan09069/snyk-fix-c0e871b0c1b5fb86b4d214…
ivan09069 Sep 30, 2025
8c1a796
Initial plan
Copilot Sep 30, 2025
da844e9
Add Accuracy Gate CI workflow and supporting scripts
Copilot Sep 30, 2025
df069e2
Initial plan
Copilot Oct 1, 2025
a880761
Add branch protection support to prevent deleting protected branches
Copilot Oct 1, 2025
f8eba0c
Initial plan
Copilot Oct 1, 2025
f0cef25
Merge pull request #40 from ivan09069/copilot/fix-63361b52-b6ed-47f9-…
ivan09069 Oct 1, 2025
402a7b0
Merge pull request #37 from ivan09069/snyk-upgrade-5b5f26daa0c08188d1…
ivan09069 Oct 1, 2025
38adc6f
Initial plan
Copilot Oct 1, 2025
dadb65d
Implement comprehensive security improvements and autonomous monitoring
Copilot Oct 1, 2025
699a48d
Extract duplicate view tabs into constants to follow DRY principle
Copilot Oct 1, 2025
40210d1
Add comprehensive security implementation summary
Copilot Oct 1, 2025
5359941
Add security architecture documentation and visual overview
Copilot Oct 1, 2025
2cb6fae
Add final security completion report
Copilot Oct 1, 2025
bd0c2f0
Merge pull request #43 from ivan09069/copilot/fix-c08554e1-7823-4863-…
ivan09069 Oct 1, 2025
9df57ec
Merge pull request #42 from ivan09069/copilot/fix-1a779fd9-484c-470f-…
ivan09069 Oct 1, 2025
0865e95
Merge pull request #41 from ivan09069/copilot/fix-468a4f67-2815-4ef2-…
ivan09069 Oct 1, 2025
72a213d
Add Dependabot configuration
ivan09069 Oct 2, 2025
7b47394
Add renovate.json configuration file
ivan09069 Oct 2, 2025
6ddd9ac
Create .mergify.yml file with automatic merge rules
ivan09069 Oct 2, 2025
fa5f7a2
fix: docker/Dockerfile.prod to reduce vulnerabilities
snyk-bot Oct 11, 2025
f5a2144
Merge pull request #44 from ivan09069/snyk-fix-4eafef74e296e1b51e8588…
ivan09069 Oct 11, 2025
bb39d18
feat: upgrade typescript from 2.8.3 to 5.9.2
snyk-bot Oct 15, 2025
e48ce42
feat: upgrade @types/node from 7.0.65 to 24.5.2
snyk-bot Oct 15, 2025
f8b88a8
Merge pull request #46 from ivan09069/snyk-upgrade-220714b964be124af4…
ivan09069 Oct 21, 2025
5086a3a
Merge pull request #45 from ivan09069/snyk-upgrade-a502c9baef7d1526c2…
ivan09069 Oct 21, 2025
f2f0d1b
Merge branch 'codesandbox:main' into main
ivan09069 Oct 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
FROM node:16-bullseye

RUN apt update -y && apt install -y zstd
# Update packages and install security updates
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends zstd && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
commit-message:
prefix: "deps"
include: "scope"
17 changes: 17 additions & 0 deletions .github/workflows/accuracy-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Accuracy Gate
on: [pull_request]
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20', cache: 'npm' }
- name: Verify
run: |
chmod +x scripts/*.sh || true
./scripts/verify.sh
- uses: actions/upload-artifact@v4
if: always()
with: { name: logs, path: logs }
155 changes: 155 additions & 0 deletions .github/workflows/security-audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
name: Security Audit

on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
schedule:
# Run weekly on Monday at 00:00 UTC
- cron: '0 0 * * 1'
workflow_dispatch:

jobs:
dependency-audit:
name: Dependency Vulnerability Scan
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile
continue-on-error: true

- name: Run yarn audit
run: |
yarn audit --json > audit-report.json || true
echo "## Dependency Audit Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
yarn audit || true
continue-on-error: true

- name: Count vulnerabilities
run: |
CRITICAL=$(cat audit-report.json | grep -c '"severity":"critical"' || echo "0")
HIGH=$(cat audit-report.json | grep -c '"severity":"high"' || echo "0")
MODERATE=$(cat audit-report.json | grep -c '"severity":"moderate"' || echo "0")
LOW=$(cat audit-report.json | grep -c '"severity":"low"' || echo "0")

echo "### Vulnerability Summary" >> $GITHUB_STEP_SUMMARY
echo "- 🔴 Critical: $CRITICAL" >> $GITHUB_STEP_SUMMARY
echo "- 🟠 High: $HIGH" >> $GITHUB_STEP_SUMMARY
echo "- 🟡 Moderate: $MODERATE" >> $GITHUB_STEP_SUMMARY
echo "- 🟢 Low: $LOW" >> $GITHUB_STEP_SUMMARY

if [ "$CRITICAL" -gt "0" ] || [ "$HIGH" -gt "10" ]; then
echo "⚠️ **Warning**: Critical or high severity vulnerabilities detected!" >> $GITHUB_STEP_SUMMARY
fi
continue-on-error: true

- name: Upload audit report
uses: actions/upload-artifact@v3
with:
name: security-audit-report
path: audit-report.json
if: always()

code-security-scan:
name: Code Security Analysis
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Check for dangerous patterns
run: |
echo "## Code Security Scan" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# Check for eval usage
EVAL_COUNT=$(grep -r "eval(" packages/ --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" 2>/dev/null | grep -v "\.min\.js" | grep -v "node_modules" | wc -l || echo "0")
echo "- Direct eval() calls found: $EVAL_COUNT" >> $GITHUB_STEP_SUMMARY

# Check for dangerouslySetInnerHTML
DANGEROUS_HTML=$(grep -r "dangerouslySetInnerHTML" packages/ --include="*.tsx" --include="*.jsx" 2>/dev/null | wc -l || echo "0")
echo "- dangerouslySetInnerHTML usage: $DANGEROUS_HTML" >> $GITHUB_STEP_SUMMARY

# Check for hardcoded secrets patterns
SECRET_PATTERNS=$(grep -rE "(password|secret|key|token)\s*=\s*['\"][^'\"]{8,}" packages/ --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" 2>/dev/null | grep -v "node_modules" | grep -v "test" | wc -l || echo "0")
echo "- Potential hardcoded secrets: $SECRET_PATTERNS" >> $GITHUB_STEP_SUMMARY

if [ "$EVAL_COUNT" -gt "20" ] || [ "$DANGEROUS_HTML" -gt "10" ]; then
echo "⚠️ **Warning**: High usage of potentially dangerous patterns detected!" >> $GITHUB_STEP_SUMMARY
fi
continue-on-error: true

docker-security-scan:
name: Docker Security Scan
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Check Dockerfile security
run: |
echo "## Docker Security Scan" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# Check for outdated base images
for dockerfile in $(find . -name "Dockerfile"); do
echo "### $dockerfile" >> $GITHUB_STEP_SUMMARY

# Extract base image
BASE_IMAGE=$(grep "^FROM" "$dockerfile" | head -1 | awk '{print $2}')
echo "- Base Image: \`$BASE_IMAGE\`" >> $GITHUB_STEP_SUMMARY

# Check for apt/yum update
if grep -q "apt.*update\|yum.*update" "$dockerfile"; then
echo " ✅ Package manager update found" >> $GITHUB_STEP_SUMMARY
else
echo " ⚠️ No package manager update found" >> $GITHUB_STEP_SUMMARY
fi

# Check for cleanup
if grep -q "rm -rf.*apt\|yum clean" "$dockerfile"; then
echo " ✅ Cleanup commands found" >> $GITHUB_STEP_SUMMARY
else
echo " ⚠️ No cleanup commands found" >> $GITHUB_STEP_SUMMARY
fi

echo "" >> $GITHUB_STEP_SUMMARY
done
continue-on-error: true

security-report:
name: Generate Security Report
runs-on: ubuntu-latest
needs: [dependency-audit, code-security-scan, docker-security-scan]
if: always()

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Create security summary
run: |
echo "# 🔒 Security Audit Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Date**: $(date -u +"%Y-%m-%d %H:%M:%S UTC")" >> $GITHUB_STEP_SUMMARY
echo "**Branch**: ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
echo "**Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "For detailed security information, see [SECURITY_AUDIT.md](./SECURITY_AUDIT.md)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "---" >> $GITHUB_STEP_SUMMARY
echo "💡 **Tip**: Run \`yarn audit\` locally to see detailed vulnerability information." >> $GITHUB_STEP_SUMMARY
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,11 @@ standalone-packages/monaco-editor-core
.next
.cache-loader

packages/app/static/js/env-config.js
packages/app/static/js/env-config.js
# Security
audit-report.json
security-report.json
*.env.local
*.env.production
secrets.json
.secrets
17 changes: 17 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
pull_request_rules:
- name: automatic merge on CI success
conditions:
- "status-success=CI"
- "label!=do-not-merge"
- "author!=dependabot[bot]"
- "#approved-reviews-by>=1"
actions:
merge:
method: squash
- name: assign reviewers
conditions:
- "label=needs-review"
actions:
request_reviews:
users:
- ivan09069
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nginx:1.25.3-alpine
FROM nginx:1.29.1-alpine

WORKDIR /var/www/codesandbox
COPY www ./
Loading