Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1507 commits
Select commit Hold shift + click to select a range
98ee060
pushing 1k limit
Oct 30, 2025
c1ce450
defined v8 src macro
Zia-Rashid Oct 30, 2025
c419e2f
no clue
Oct 30, 2025
4e81df2
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Oct 30, 2025
a773e58
fuck you
Oct 31, 2025
52e30ba
removed dynamic path resolution in ripgrep
Zia-Rashid Oct 31, 2025
fe33069
I hate kam
Oct 31, 2025
38caf0b
I hate kam
Oct 31, 2025
d672a07
we are stupid
Oct 31, 2025
4ef3078
id fix
Oct 31, 2025
1976ad6
push
Oct 31, 2025
64cb86e
modified tree prompt
Zia-Rashid Oct 31, 2025
c27e48e
modified tree prompt
Zia-Rashid Oct 31, 2025
6addf91
aleksi is shzio
Oct 31, 2025
244b0a9
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Oct 31, 2025
d8de582
pushing god
Oct 31, 2025
6e19a00
pushing god
Oct 31, 2025
0cec86a
pushing god
Oct 31, 2025
2a444ca
modified tree prompt
Zia-Rashid Oct 31, 2025
1c3cc3f
allegedly fixed web search
Zia-Rashid Nov 1, 2025
66d7ba6
Added 'testing' prompt to reviwer_of_code
Zia-Rashid Nov 1, 2025
f035da8
changed regressions file type
Zia-Rashid Nov 2, 2025
461aa2c
changed where the websearch testing prompt resides. modified tree pro…
Zia-Rashid Nov 2, 2025
0a4c084
Finished root_manager prompt
Zia-Rashid Nov 2, 2025
3a62416
move web to common tools
Nov 2, 2025
4a54728
pushing updated tool calls
Nov 2, 2025
32611bd
addded proper program builder prompt
Nov 2, 2025
b229955
updated templates and regression d8 flags
hl4x Nov 2, 2025
9dd4e96
updated test template engine
hl4x Nov 2, 2025
1fa4740
saving wtf
Nov 2, 2025
fd09a6e
updated templates and move engine selection to after lifter is initia…
hl4x Nov 2, 2025
e7a2bb9
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Nov 2, 2025
0c6fa44
regressions with updated flags
hl4x Nov 2, 2025
900daf1
update template.json
hl4x Nov 3, 2025
bf07b65
pushing updated web search
Nov 3, 2025
6aab54f
ear
Nov 3, 2025
6360996
filename change
Zia-Rashid Nov 3, 2025
e5645a8
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
29efdca
add george foreman prompt back
hl4x Nov 3, 2025
7f4b3ea
spelling issues
Nov 3, 2025
0e86429
adding files
Nov 3, 2025
dc767a7
vrag tool calls
Nov 3, 2025
87a711b
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
59ba4f8
pushing code
Nov 3, 2025
c0d6c16
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Nov 3, 2025
763f3b0
fixes
Nov 3, 2025
0d94858
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
a31218c
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
034e4d3
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
649ba36
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
7e14706
web search updates, testing prompt
Zia-Rashid Nov 3, 2025
1cf7c7b
saving fixes and repriceing
Nov 3, 2025
b533345
add program template execution tool call
hl4x Nov 3, 2025
b3d0508
pushing local
Nov 3, 2025
4581e9f
local sync
Nov 3, 2025
8c16348
small refactor to program template execution
hl4x Nov 3, 2025
db0838f
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Nov 3, 2025
ae30c77
update build_program_template
hl4x Nov 3, 2025
e7d69dc
code updates
Nov 3, 2025
1d1138a
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Nov 3, 2025
3ef0107
prompt addition
Nov 3, 2025
2828dbb
make sure chromadb imports
hl4x Nov 3, 2025
6853a18
docs for how to run fog
hl4x Nov 3, 2025
3480404
local nealry working
Nov 4, 2025
bae1d7c
help
Nov 4, 2025
0828a91
pushing my live
Nov 4, 2025
fd7e3a9
rag data
Nov 4, 2025
f0f8b46
logging
Nov 4, 2025
cb0d155
added datetime time stamping to agentic tasks.
Zia-Rashid Nov 4, 2025
ace99fd
removed some logs
Zia-Rashid Nov 4, 2025
0d572b8
changed timestamping
Zia-Rashid Nov 4, 2025
b5ade56
modified python package imports
Zia-Rashid Nov 4, 2025
76344b9
modified get_knowledge_doc tool prompt
Zia-Rashid Nov 4, 2025
9b8762c
beefed up EBG, cannot confirm if it works
Zia-Rashid Nov 4, 2025
9b7d3a3
modified swift interaction tools for more verbose output and more str…
Zia-Rashid Nov 4, 2025
2815dc3
modified imports
Zia-Rashid Nov 4, 2025
d2e605f
stubbed ebg tools
Zia-Rashid Nov 4, 2025
5a9fb3b
stubbed ebg
Zia-Rashid Nov 4, 2025
2404fe6
pydantic warning ignore
Zia-Rashid Nov 4, 2025
9c1d1e3
putting ebg on pause
Zia-Rashid Nov 4, 2025
e466617
modify ripgrep tool args to account for paths
Zia-Rashid Nov 4, 2025
cb0a758
successful run log
Zia-Rashid Nov 4, 2025
fa484f0
removed some logs
Zia-Rashid Nov 4, 2025
c922cca
updated README with agentic workflow and descriptions
Zia-Rashid Nov 4, 2025
470430e
removing init_rag_db
Nov 5, 2025
82e9484
remove init/fixed merge conflits
Nov 5, 2025
9274a2c
compiler agent should basically work + pushing local
hl4x Nov 5, 2025
bb6216d
pushing local
hl4x Nov 5, 2025
7aee237
small change to compile_program_template
hl4x Nov 6, 2025
9b56157
pushing local
hl4x Nov 7, 2025
eaee73a
pushing ragdb stuff
hl4x Nov 7, 2025
965bbe2
pushing local
hl4x Nov 9, 2025
da391d0
separate removing program templates and program template weights
hl4x Nov 11, 2025
dee532f
update remove program template and pushing local
hl4x Nov 11, 2025
397cd33
pushing local
hl4x Nov 11, 2025
cf71902
edits
Nov 11, 2025
96aa3d4
update george foreman prompt
hl4x Nov 11, 2025
4360d07
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Nov 11, 2025
7f51b92
da aleski goat
Nov 11, 2025
c2c6245
Merge branch 'agent' of https://github.com/VRIG-Ritsec/fuzzillai into…
Nov 11, 2025
bda3380
small update
hl4x Nov 11, 2025
f95db12
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Nov 11, 2025
66d5171
gods work
Nov 11, 2025
b8e52df
Merge branch 'agent' of https://github.com/VRIG-Ritsec/fuzzillai into…
Nov 11, 2025
aee76b3
pushing local
Nov 12, 2025
d94b932
add tool call for removing old generated js programs that failed to e…
hl4x Nov 12, 2025
217d2bb
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Nov 12, 2025
341b9ef
update D8_COMMON_FLAGS
hl4x Nov 12, 2025
caecbe5
update D8_COMMON_FLAGS
hl4x Nov 12, 2025
762bbca
saving the tool cll edit for regex to diff
hl4x Nov 12, 2025
4823e40
pushing local
hl4x Nov 12, 2025
2258073
regex to diff
hl4x Nov 12, 2025
099b4af
pushing edits
Nov 12, 2025
321702e
pushing stable
Nov 12, 2025
951deef
pushing setup simple
Nov 14, 2025
f884450
fixed merge
Nov 14, 2025
2a833e2
fixed some simple warnings
Nov 14, 2025
d3df464
removed logs
Nov 14, 2025
592e647
done
Nov 14, 2025
a5f5d99
done
Nov 14, 2025
eeadd45
ending code
Nov 14, 2025
ffe8935
pushing complie tool
Nov 14, 2025
6c12679
removing another delt
Nov 14, 2025
a28bb08
fixing issue with deep seek
Nov 14, 2025
49744b6
start EBG and push chromium issues scraper
hl4x Nov 19, 2025
adbb3ce
Began ebg root manager prompt - needs review
Zia-Rashid Nov 19, 2025
b0802f6
script-check
oleglazari Nov 19, 2025
be9438d
added signal extraction
oleglazari Nov 19, 2025
cd6d081
fzil
oleglazari Nov 19, 2025
ea9ab25
fzil 2
oleglazari Nov 19, 2025
ce852f9
added dir
oleglazari Nov 19, 2025
14f68bd
got rid of sig9
oleglazari Nov 19, 2025
affa543
start EBG_tools
hl4x Nov 20, 2025
68bfe6f
include new EBG tools for db_analyzer
hl4x Nov 20, 2025
61a7d86
woke nonsense
Zia-Rashid Nov 21, 2025
24b7d37
ebg body + prompt
Zia-Rashid Nov 21, 2025
dc1fd08
ebg final touches?
Zia-Rashid Nov 21, 2025
ecab2ab
pushing local
hl4x Nov 21, 2025
3b903f1
new promtps
Zia-Rashid Nov 21, 2025
0bc8bd8
adding updated struccutred ebg
Dudcom Nov 21, 2025
d4c7484
pushing
Dudcom Nov 21, 2025
9a6b95e
pushing
Dudcom Nov 21, 2025
c7c493d
local primary prompt
Dudcom Nov 21, 2025
ced6115
updated prompts
Zia-Rashid Nov 21, 2025
a282bc7
platue done
Dudcom Nov 21, 2025
b0b087a
Built upon prompts
Zia-Rashid Nov 21, 2025
766b9b2
Built upon prompts
Zia-Rashid Nov 21, 2025
3c69e7d
update program templates and tools for EBG
hl4x Nov 21, 2025
10316b5
ebg run script
hl4x Nov 21, 2025
d7df9db
remove corpus validator
hl4x Nov 21, 2025
a065605
pushing local
hl4x Nov 21, 2025
38d3cf8
Built upon prompts
Zia-Rashid Nov 21, 2025
5a36e89
fixed db
Nov 21, 2025
cbb7c07
asdjflkas
Nov 21, 2025
a879aa0
update models and schema to match optimize.sql
hl4x Nov 25, 2025
ac85893
pushing start of refactor for db
hl4x Nov 25, 2025
51cce7d
pull all execution values
hl4x Nov 25, 2025
8b47c04
pushing local
hl4x Nov 25, 2025
5d710eb
quick fixes
hl4x Nov 26, 2025
d3582e6
pushing local
hl4x Nov 27, 2025
3ab9ef9
getting closer to working db, still need to verify functions and add …
hl4x Nov 27, 2025
7678824
syncing works, at least mostly
hl4x Nov 28, 2025
5d580e7
add crash event listenger, still can't pull mutation name
hl4x Nov 28, 2025
7e80464
scripts for extracting crashes
hl4x Nov 29, 2025
e287a15
pushing local, refctor runtimeweightedlist init, mutation name still …
hl4x Nov 29, 2025
e0957dd
mutation working, fuzzer never left corpusgen
hl4x Nov 29, 2025
a59702f
fix casing
hl4x Nov 29, 2025
a6b3b0f
remove extra logging
hl4x Dec 1, 2025
8b238ba
small fix
hl4x Dec 1, 2025
1e3ee93
update program hashing and ignore duplicate program hashes
hl4x Dec 1, 2025
1894e55
add separate mutation statistics, update program to track all mutator…
hl4x Dec 1, 2025
7fc8964
have storage use databasepool isntead of direc connection, fix mutato…
hl4x Dec 1, 2025
6ebf1b4
pushing local
hl4x Dec 1, 2025
1bafbf8
deadlock mitigatin
hl4x Dec 1, 2025
d8e25fc
map input mutator name
hl4x Dec 1, 2025
74a2014
fix execution tracking, update fuzzer stats script
hl4x Dec 1, 2025
fa03539
don't always flush seen program hashes, check for timeout before cras…
hl4x Dec 3, 2025
115da22
add updated input muator names to db
hl4x Dec 3, 2025
2cb1cba
increase timeoute in dockerfile
hl4x Dec 3, 2025
734e24c
increase max mem limit for containers :)
hl4x Dec 3, 2025
ce4cd11
DB Tool Calls (#46)
oleglazari Dec 3, 2025
ffa4ba7
changes to stop script
hl4x Dec 3, 2025
4c8d0aa
changed from chat to reasoner
oleglazari Dec 3, 2025
cad1962
pushing local
hl4x Dec 3, 2025
130e0b0
pushing local
hl4x Dec 4, 2025
d96e49e
update feedback nexus eval + push local
hl4x Dec 4, 2025
9142eeb
push patches to agents
hl4x Dec 4, 2025
681ed12
remove old smolagent-fork
hl4x Dec 4, 2025
43cf18a
pushing local
hl4x Dec 4, 2025
f958963
Update to root manager version prompt
Zia-Rashid Dec 5, 2025
b623524
flags
Dec 5, 2025
1017f83
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Dec 5, 2025
56a9438
fuck the prompts
Dec 5, 2025
dd21ca1
fleshing out debugger
Zia-Rashid Dec 5, 2025
743a99a
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Zia-Rashid Dec 5, 2025
3d7d638
updated tool calls for db
Dec 5, 2025
e5cd80e
xMerge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Dec 5, 2025
0122624
Finished base debugger prompt. Stage 3A-3C need review and updating
Zia-Rashid Dec 5, 2025
3bb643b
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Zia-Rashid Dec 5, 2025
16cf872
this is suffering
Dec 5, 2025
52bfcb9
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Dec 5, 2025
8a6d67b
updated ebugger
Dec 5, 2025
607f21d
Start of JS Generator for variant and plateau
chase1k Dec 5, 2025
113b24a
divided and updated debugger prompts
Zia-Rashid Dec 5, 2025
d3a8019
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Zia-Rashid Dec 5, 2025
56bb6dd
adding all systems / code bases
Dec 5, 2025
d6d67dc
removing old code
Dec 5, 2025
18f5259
segregated JSGenerator
Zia-Rashid Dec 5, 2025
a09faf2
segregated JSGenerator
Zia-Rashid Dec 5, 2025
4af1576
added proper mutation weighting with EWMA (#48)
oleglazari Dec 5, 2025
f9d12ad
pushing local
hl4x Dec 5, 2025
050e8f1
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Dec 5, 2025
76d27d2
Runtime weightfix (#49)
oleglazari Dec 5, 2025
9f43368
in memory hashmap representing CFG as well as Call Graph. Currently s…
Zia-Rashid Dec 5, 2025
e4bf098
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Zia-Rashid Dec 5, 2025
d32825b
updated v8search prompt with cfg and cg usage
Zia-Rashid Dec 5, 2025
8c31c0d
merge program table into fuzzer and rename
hl4x Dec 5, 2025
3d8c7d8
hyper param tuning for alpha beta vals (#50)
oleglazari Dec 7, 2025
c336e49
alpha beta and mu scaling (readability)
oleglazari Dec 8, 2025
970ad00
reward function tuning
oleglazari Dec 8, 2025
bf58b8b
pushing local
hl4x Dec 8, 2025
c857053
server-dev updates
Dec 31, 2025
c5b1378
finger crossed
Dec 31, 2025
7362795
Swift Linting (#51)
oleglazari Jan 4, 2026
97de871
refactored reward values for proper scaling
oleglazari Jan 13, 2026
be3061f
File system cleanup
Zia-Rashid Jan 23, 2026
03790c6
remove shizo async
Jan 25, 2026
16e7eba
backend update and fixes
Jan 28, 2026
fe96ec4
new proper rag-embeddings
Feb 1, 2026
d38cac4
adding uitls
Feb 1, 2026
89b2a8e
saving fog tool call location revert to orginal
Feb 1, 2026
84bdf7b
Ika Core Update
Feb 16, 2026
d68b996
local changes to make shiz work
Zia-Rashid Mar 6, 2026
0a3c276
local changes to make shiz work
Zia-Rashid Mar 10, 2026
e51d950
local changes to make shiz work
Zia-Rashid Mar 10, 2026
0b2fb15
pain and suffering makes my day
Mar 12, 2026
b5357f9
optimizations to the agentic workflow - force rerunning d8 upon extra…
Zia-Rashid Mar 12, 2026
e11d5fc
I am sory
Mar 15, 2026
c42fb66
I hate life
Mar 16, 2026
64a26e0
paths
Mar 16, 2026
1e298ac
v8 zip
Dudcom Mar 16, 2026
72e4d47
zip of vembdding
Dudcom Mar 16, 2026
83ddc1b
v8 source rag
Dudcom Mar 16, 2026
73e391e
src rag
Dudcom Mar 16, 2026
0c464fc
meta data
Mar 16, 2026
506da81
added smaller chunked v8 src rag
Dudcom Mar 19, 2026
e4756b7
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Dudcom Mar 19, 2026
159941a
successful runs of plateau and variant analysis. vanal pigeon holes t…
Zia-Rashid Mar 26, 2026
3ef928f
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
Zia-Rashid Mar 26, 2026
0a02806
fixes
Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions .dockerignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ __pycache__/
*.pyo
*.pyd
.Python
build/
dist/
*.egg-info/
.vscode/
Expand All @@ -19,5 +18,6 @@ dist/
*.swo
*~
.DS_Store
.build/
Package.resolved
Corpus/
*.md
!README.md
Empty file modified .env
100644 → 100755
Empty file.
27 changes: 27 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: lint

on:
workflow_dispatch: # Manual trigger from GitHub UI
push:
branches: ['**']
paths:
- '**.swift'
- '.swiftlint.yml'
- '.github/workflows/lint.yml'
pull_request:
branches: [main]
paths:
- '**.swift'
- '.swiftlint.yml'
- '.github/workflows/lint.yml'

jobs:
swiftlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: SwiftLint
uses: norio-nomura/action-swiftlint@3.2.1
with:
args: --reporter github-actions-logging --lenient
7 changes: 4 additions & 3 deletions .github/workflows/swift.yml
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: build_test

on:
workflow_dispatch: # Manual trigger from GitHub UI
push:
branches: [ main ]
branches: ['**']
pull_request:
branches: [ main ]

Expand Down Expand Up @@ -40,8 +41,8 @@ jobs:
tar xzf swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz
mv swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04 /opt/swift
rm swift-${SWIFT_VERSION}-RELEASE-ubuntu22.04.tar.gz
export PATH="/opt/swift/usr/bin:${PATH}"
- uses: actions/checkout@v2
echo "/opt/swift/usr/bin" >> $GITHUB_PATH
- uses: actions/checkout@v4
- name: Build
run: swift build -c ${{ matrix.kind }} -v
- name: Install protobuf
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ generated_templates/
ProgramTemplates.swift
ProgramTemplateWeights.swift
fog_logs/

ebg_logs/
Sources/Agentic_System/agent_memory/
.gemini/
crashes/
folder*/
# custom GCE configuration
Cloud/GCE/config.sh

Expand All @@ -26,3 +30,5 @@ package-lock.json

# V8 build directory for testing
v8_build_test/
.__pycache__/*
Sources/Agentic_System/RAG/data_sources/knowlage_docs/chromium_issues/chromium_issues_from_tracker.json
Empty file modified .gitmodules
100644 → 100755
Empty file.
50 changes: 50 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# SwiftLint Configuration for Fuzzilli
# https://github.com/realm/SwiftLint

excluded:
- .build
- .venv
- v8
- v8_patch
- Targets
- Package.swift
- "**/*.pb.swift"
- "**/*Test*"

disabled_rules:
- trailing_whitespace
- line_length
- file_length
- type_body_length
- function_body_length
- cyclomatic_complexity
- identifier_name
- large_tuple
- nesting
- force_cast
- force_try
- force_unwrapping
- todo
- opening_brace
- trailing_comma

opt_in_rules:
- empty_count
- empty_string
- fatal_error_message
- first_where
- overridden_super_call
- redundant_nil_coalescing
- sorted_first_last
- yoda_condition
- contains_over_first_not_nil

function_parameter_count:
warning: 8
error: 10

type_name:
min_length: 2
max_length: 50

reporter: "github-actions-logging"
Empty file modified Cloud/VRIG/Dockerfile
100644 → 100755
Empty file.
46 changes: 21 additions & 25 deletions Cloud/VRIG/Dockerfile.distributed
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Stage 1: Build Fuzzilli
FROM docker.io/swift:latest
FROM docker.io/swift:latest AS builder

ENV DEBIAN_FRONTEND=noninteractive
ENV SHELL=bash
Expand All @@ -8,18 +8,18 @@ RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install nodejs

RUN useradd -m builder
WORKDIR /home/builder
WORKDIR /home/builder/fuzzillai

COPY Package.swift Package.resolved ./
RUN swift package resolve

ADD .. fuzzillai
COPY Sources ./Sources
COPY Tests ./Tests
COPY Tools ./Tools

# build Fuzzilli
RUN cd fuzzillai && \
# Temporarily remove test target to avoid build issues
sed -i '/\.testTarget(name: "FuzzilliTests"/,/),$/d' Package.swift && \
swift build -c release --product FuzzilliCli && \
# Verify the executable was created
ls -la .build/release/ && \
find .build -name "FuzzilliCli" -type f -executable
#RUN swift build
# for perf
RUN swift build -c release -Xswiftc -g

#####################
# Stage 2: Runtime
Expand All @@ -29,30 +29,26 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV SHELL=bash

RUN apt-get -y update && apt-get -y upgrade

RUN useradd -m app

WORKDIR /home/app

# Copy Fuzzilli executable
COPY --from=0 /home/builder/fuzzillai/.build/release/FuzzilliCli FuzzilliCli
COPY --from=builder /home/builder/fuzzillai/.build/release/FuzzilliCli FuzzilliCli

# Create directory for V8 build (will be mounted from host)
RUN mkdir -p ./fuzzbuild

RUN mkdir -p ./Corpus

# Environment variables for distributed fuzzing
ENV POSTGRES_URL=postgresql://fuzzilli:fuzzilli123@postgres-master:5432/fuzzilli_master
ENV FUZZER_INSTANCE_NAME=fuzzer-default
ENV TIMEOUT=2500
ENV TIMEOUT=3500
ENV MIN_MUTATIONS_PER_SAMPLE=25
ENV DEBUG_LOGGING=false

# Default command for distributed fuzzing
# Single master database mode - all workers connect directly to master
CMD ./FuzzilliCli --profile=v8debug --engine=multi --resume --corpus=postgresql \
--postgres-url="${POSTGRES_URL}" \
--timeout="${TIMEOUT}" \
--minMutationsPerSample="${MIN_MUTATIONS_PER_SAMPLE}" \
--postgres-logging ./fuzzbuild/d8
ENV DEBUG_LOGGING=true

# Environment variable for extra FuzzilliCli args (e.g. --disablePostgresSync)
ENV FUZZILLI_EXTRA_ARGS=""

COPY Cloud/VRIG/entrypoint-distributed.sh /home/app/entrypoint.sh
RUN chmod +x /home/app/entrypoint.sh
ENTRYPOINT ["/home/app/entrypoint.sh"]
3 changes: 2 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ let package = Package(
),
.package(url: "https://github.com/vapor/postgres-nio.git", from: "1.20.0"),
.package(url: "https://github.com/vapor/postgres-kit.git", from: "2.9.0"),
.package(url: "https://github.com/apple/swift-crypto.git", from: "3.0.0"),
],
targets: [
.target(name: "libsocket",
Expand All @@ -51,6 +52,7 @@ let package = Package(
.product(name: "Collections", package: "swift-collections"),
.product(name: "PostgresNIO", package: "postgres-nio"),
.product(name: "PostgresKit", package: "postgres-kit"),
.product(name: "Crypto", package: "swift-crypto"),
"libsocket",
"libreprl",
"libcoverage"],
Expand All @@ -61,7 +63,6 @@ let package = Package(
"Protobuf/README.md",
"Protobuf/gen_programproto.py"],
resources: [
// The ast.proto file is required by the node.js parser
.copy("Protobuf/ast.proto"),
.copy("Compiler/Parser")]),

Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ The basic steps for running the fuzzilAI fuzzer is:
1. `docker build -t fuzzillai -f Cloud/VRIG/Dockerfile .`
2. `docker run fuzzillai:latest`

### PostgreSQL Generated Corpus Sync

The PostgreSQL sync path supports three modes through `FuzzilliCli`:

* `--postgresSyncMode=generated`: the default. Each fuzzer polls its own generated-seed inbox every 15 minutes, imports any queued programs into its in-memory runtime corpus, and clears the pulled rows from PostgreSQL.
* `--postgresSyncMode=shared`: legacy behavior. The fuzzer pulls from the shared `program` corpus table.
* `--postgresSyncMode=push`: disables all PostgreSQL pull behavior and only pushes local findings.

Agent-generated seeds are no longer inserted directly into the shared corpus table. They are queued in `generated_program_queue` for a specific target fuzzer and consumed by that fuzzer's next generated-corpus sync cycle.

### Hacking

Check out [main.swift](Sources/FuzzilliCli/main.swift) to see a usage example of the Fuzzilli library and play with the various configuration options. Next, take a look at [Fuzzer.swift](Sources/Fuzzilli/Fuzzer.swift) for the highlevel fuzzing logic. From there dive into any part that seems interesting.
Expand Down
12 changes: 3 additions & 9 deletions Scripts/clear-db.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,10 @@ run_query_silent() {
# Function to get table row counts
get_table_counts() {
echo -e "${CYAN}Current database statistics:${NC}"
run_query "
run_query_silent "
SELECT
'main' as table_name, COUNT(*) as row_count FROM main
UNION ALL
SELECT 'fuzzer', COUNT(*) FROM fuzzer
UNION ALL
SELECT 'program', COUNT(*) FROM program
UNION ALL
SELECT 'execution', COUNT(*) FROM execution
Expand All @@ -70,7 +68,7 @@ get_table_counts() {
SELECT 'crash_analysis', COUNT(*) FROM crash_analysis
UNION ALL
SELECT 'fuzzer_statistics', COALESCE((SELECT COUNT(*) FROM fuzzer_statistics), 0);
" | grep -v "row_count" | grep -v "^$" | grep -v "^-" | while read -r line; do
" 2>/dev/null | grep -v "row_count" | grep -v "^$" | grep -v "^-" | grep -v "ERROR" | while read -r line; do
if [ -n "$line" ]; then
echo " $line"
fi
Expand Down Expand Up @@ -99,8 +97,7 @@ main() {
echo -e "${YELLOW}WARNING: This will delete ALL data from the database!${NC}"
echo -e "${YELLOW}The following will be cleared:${NC}"
echo " - All fuzzer instances (main table)"
echo " - All corpus programs (fuzzer table)"
echo " - All executed programs (program table)"
echo " - All corpus programs (program table)"
echo " - All execution records (execution table)"
echo " - All coverage details (coverage_detail table)"
echo " - All feedback vector details (feedback_vector_detail table)"
Expand Down Expand Up @@ -146,9 +143,6 @@ main() {
echo -e "${CYAN}Clearing program...${NC}"
run_query_silent "TRUNCATE TABLE program CASCADE;"

echo -e "${CYAN}Clearing fuzzer (corpus)...${NC}"
run_query_silent "TRUNCATE TABLE fuzzer CASCADE;"

echo -e "${CYAN}Clearing fuzzer_statistics...${NC}"
run_query_silent "TRUNCATE TABLE fuzzer_statistics CASCADE;"

Expand Down
8 changes: 8 additions & 0 deletions Scripts/crash_repro.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
function* f0() {
function F4() {
}
function F8() {
if (!new.target) { throw ''; }
try { this(F4); } catch (e) {}
}
}
75 changes: 75 additions & 0 deletions Scripts/dump_checkpoint_uids.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/usr/bin/env python3

import argparse
import json
import os
import sqlite3
import sys
from pathlib import Path

_agentic_root = Path(__file__).resolve().parents[1] / "Sources" / "Agentic_System"
if str(_agentic_root) not in sys.path:
sys.path.insert(0, str(_agentic_root))

_ikacore_src = _agentic_root / "IkaCore" / "src"
if _ikacore_src.exists() and str(_ikacore_src) not in sys.path:
sys.path.insert(0, str(_ikacore_src))


def get_default_db_path(namespace: str) -> str:
override = os.getenv("IKA_CHECKPOINT_DB_PATH", "").strip()
if override:
return override
root_raw = os.getenv("IKA_CHECKPOINT_DIR", "").strip()
if root_raw:
root = Path(root_raw).expanduser()
else:
root = _agentic_root / "runtime_data" / "ika_snapshots"
root.mkdir(parents=True, exist_ok=True)
return str(root / f"{namespace}.db")


def dump_uids(db_path: str, verbose: bool = False) -> None:
if not Path(db_path).exists():
print(f"DB not found: {db_path}", file=sys.stderr)
sys.exit(1)
with sqlite3.connect(db_path) as conn:
conn.row_factory = sqlite3.Row
rows = conn.execute(
"SELECT uid, scope, created_at FROM checkpoints ORDER BY created_at"
).fetchall()
for row in rows:
line = f"{row['uid']}\t{row['scope']}\t{row['created_at']}"
if verbose:
print(line)
else:
print(row["uid"])
if verbose and rows:
print(f"\nTotal: {len(rows)} checkpoint(s)")


def main():
parser = argparse.ArgumentParser(description="Dump checkpoint UIDs from IkaCore checkpoint DB")
parser.add_argument(
"db",
nargs="?",
default=None,
help="DB path or namespace (fog, ebg_crash, ebg_plateau). Default: fog",
)
parser.add_argument(
"-v", "--verbose",
action="store_true",
help="Show scope and created_at",
)
args = parser.parse_args()
if args.db is None:
args.db = "fog"
if args.db.endswith(".db") or "/" in args.db or "\\" in args.db:
db_path = Path(args.db).expanduser().resolve()
else:
db_path = get_default_db_path(args.db)
dump_uids(str(db_path), verbose=args.verbose)


if __name__ == "__main__":
main()
Loading
Loading