Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1377 commits
Select commit Hold shift + click to select a range
609554d
modified file structure, fixed grammatical errors
Oct 23, 2025
ac8d928
modified tools
Oct 23, 2025
e98caed
added tools for lifting/compiling JS/FuzzIL programs and small change…
hl4x Oct 24, 2025
2db3a36
fix name
hl4x Oct 24, 2025
0f5ec64
updated rg and fzf desc
Oct 24, 2025
ab66bd7
Merge aleksi
Oct 24, 2025
a741625
more updates
Oct 24, 2025
78c6cea
applied tools and subagents to agents
Oct 24, 2025
9094e79
filled rag_tools. Not targeted and imports don't wokr:
Zia-Rashid Oct 24, 2025
7d5c022
things
Zia-Rashid Oct 28, 2025
54c88ec
added a way to start agent isolated, haven't testsed
Zia-Rashid Oct 28, 2025
e63525d
fixed immediate build issues
Zia-Rashid Oct 28, 2025
06971e8
stfu
Zia-Rashid Oct 28, 2025
07958c1
debug msg
Zia-Rashid Oct 28, 2025
b461fd9
Reordered argument checks
Zia-Rashid Oct 28, 2025
16adb82
started run script. Need to add multi-arg passing
Zia-Rashid Oct 28, 2025
51c00f3
changed /bin/python to .venv/python
Zia-Rashid Oct 28, 2025
e67734e
path
Zia-Rashid Oct 28, 2025
23b0872
path
Zia-Rashid Oct 28, 2025
ed556bd
path
Zia-Rashid Oct 28, 2025
f45995c
vrag
Oct 28, 2025
acd4d4f
knowlage_base
Oct 28, 2025
d3744cc
tools
Zia-Rashid Oct 28, 2025
467ec3f
vrag and tools
Zia-Rashid Oct 28, 2025
83cd1a4
redefined d8 flags. many FoG and EBG tools have crossover, still have…
Zia-Rashid Oct 28, 2025
308ca82
made a venv
Zia-Rashid Oct 28, 2025
8ccb4e5
.venv
Zia-Rashid Oct 28, 2025
fcb2432
push working cfg
Oct 28, 2025
8d2d91a
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Oct 28, 2025
8cec3d7
some woke python bs
Oct 28, 2025
04e1e53
capture stdout,stderr from d8 to file
hl4x Oct 29, 2025
0075dae
some logging, litellm wrapping, dependency fix
Zia-Rashid Oct 29, 2025
5e8c1d4
apples
Zia-Rashid Oct 29, 2025
a87ff3c
path issue
Zia-Rashid Oct 29, 2025
7ec103d
path issue
Zia-Rashid Oct 29, 2025
29cb3b5
capture stdout,stderr from run_command
hl4x Oct 29, 2025
7ba8f0c
added simple picker
Oct 29, 2025
abc5658
:wMerge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai in…
Oct 29, 2025
65ab66e
added simple picker
Oct 29, 2025
8ca1102
imports
Zia-Rashid Oct 29, 2025
c4e3463
peanut butter
Zia-Rashid Oct 29, 2025
12b87de
updated cfgbuilder path
Zia-Rashid Oct 29, 2025
5ac2f88
updated tool version
Zia-Rashid Oct 29, 2025
97fbb9f
updated tool version
Zia-Rashid Oct 29, 2025
0d01fd1
fix label
hl4x Oct 29, 2025
e8e85e4
small fixes
hl4x Oct 29, 2025
cf575de
updated tool args to match reqs
Zia-Rashid Oct 29, 2025
cb2ae95
apples
Zia-Rashid Oct 29, 2025
8e5a652
a
Zia-Rashid Oct 29, 2025
89fbee0
remove pychache and update gitignore
hl4x Oct 29, 2025
1506929
remove .venv
hl4x Oct 29, 2025
3cb46ec
start requirements.txt
hl4x Oct 29, 2025
920be5a
pushing
Oct 29, 2025
85e0d35
working requirments
Oct 29, 2025
8ef9a21
fu
Zia-Rashid Oct 29, 2025
15bdd21
frag
Zia-Rashid Oct 29, 2025
6a7c376
pushing fixed
Oct 29, 2025
ceae58a
Resolve merge conflicts and simplify rises-the-fog.py
Oct 29, 2025
6ce24f6
regreissions folder
Oct 29, 2025
f677872
tool update
Zia-Rashid Oct 29, 2025
8bd14d2
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Zia-Rashid Oct 29, 2025
72f1bcc
json maker
Oct 29, 2025
c80add0
rge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into a…
Oct 29, 2025
4900cc5
import issue
Zia-Rashid Oct 29, 2025
5366c30
idk what this issue is
Zia-Rashid Oct 29, 2025
c087c85
file load issue. Added to requirementst.xt
Zia-Rashid Oct 29, 2025
bb1df2e
removed sys prompt from agent inits
Zia-Rashid Oct 29, 2025
5b68721
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Zia-Rashid Oct 29, 2025
a36afe7
removed sys prompt from agent inits
Zia-Rashid Oct 29, 2025
310450a
fixed typo in agent name
Zia-Rashid Oct 29, 2025
6412563
changing import
Zia-Rashid Oct 29, 2025
aab428c
changing import
Zia-Rashid Oct 29, 2025
3c61c2c
changing import
Zia-Rashid Oct 29, 2025
3230d10
changing import
Zia-Rashid Oct 29, 2025
6138221
changing path to fog_logs
Zia-Rashid Oct 29, 2025
9693215
changing path to fog_logs
Zia-Rashid Oct 29, 2025
30c761a
changing path to ebg
Zia-Rashid Oct 29, 2025
8801025
fixed dependencies in ebg
Zia-Rashid Oct 29, 2025
90352e6
fixed dependencies in ebg
Zia-Rashid Oct 29, 2025
310bc80
fixed dependencies in ebg
Zia-Rashid Oct 29, 2025
30c69bb
fixed dependencies in ebg
Zia-Rashid Oct 29, 2025
21fc53c
pushing a mistake
Dudcom Oct 29, 2025
635d6c3
regression.json
Dudcom Oct 29, 2025
c2754bb
Remove large regressions.json from repo and ignore it
Dudcom Oct 29, 2025
4117f39
templates json
hl4x Oct 29, 2025
892e78f
whoops
hl4x Oct 29, 2025
be4fe67
small changes
hl4x Oct 29, 2025
6eadf83
pycache lol
hl4x Oct 29, 2025
77e1127
revert previous commit
hl4x Oct 29, 2025
2007eec
pushing tool calls
Oct 29, 2025
3bbffdc
Merge remote 'origin/agent': accept theirs for renamed files
Oct 29, 2025
254a46f
pushing cur
Oct 29, 2025
e3b764b
ignore regressions
hl4x Oct 29, 2025
632ae74
pick selection prompt
hl4x Oct 29, 2025
419a892
rag
Oct 29, 2025
1be71f5
fixing too calls
Oct 29, 2025
f472698
fixing too calls
Oct 29, 2025
da55d57
pushign working
Oct 29, 2025
49708ec
log
hl4x Oct 29, 2025
e0b8450
logging working
Oct 29, 2025
b3c78d1
trying cope
Oct 29, 2025
0fd4037
regression final
Oct 29, 2025
a8c2430
pushing my current env
Oct 30, 2025
8c64de1
comment out web_search, should use internal openai one?
hl4x Oct 30, 2025
59ec275
push to rag_tools
Oct 30, 2025
1a8fcb0
web search
hl4x Oct 30, 2025
a725329
push pick_section
Oct 30, 2025
7d84497
pushing curr
Oct 30, 2025
4dafae3
working pick_seciton
Oct 30, 2025
91044f3
get v8 path from env
hl4x Oct 30, 2025
79e1b81
pushing updated fixed pathing
Oct 30, 2025
0a99e2e
small pick selection update
hl4x Oct 30, 2025
a641b93
puhsing smolagent fork
Oct 30, 2025
30cf7a5
Merge branch 'agent' of github.com:VRIG-RITSEC/fuzzillai into agent
hl4x Oct 30, 2025
1ad1091
fixing format string
Oct 30, 2025
af03c2d
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Oct 30, 2025
e4d315a
update pick selector prompt
hl4x Oct 30, 2025
7dc435f
update steps
Oct 30, 2025
4125a07
pushing read
Oct 30, 2025
db6752d
updated v8_search prompt
hl4x Oct 30, 2025
8d8d3a6
small change to root_manager prompt
hl4x Oct 30, 2025
a91e860
updates
Oct 30, 2025
3173a99
pushing prompt fix
Oct 30, 2025
700ae91
update rag db id
hl4x Oct 30, 2025
d7dcc7e
saveing
Oct 30, 2025
8c92c31
Merge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into…
Oct 30, 2025
e5e0ee3
move env variables to common_tools
hl4x Oct 30, 2025
292ba5e
update v8 search
hl4x Oct 30, 2025
4d28d48
fuck me
Oct 30, 2025
03ee288
erge branch 'agent' of https://github.com/VRIG-RITSEC/fuzzillai into …
Oct 30, 2025
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
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.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ Package.resolved
.*.sw?
.swiftpm
/Corpus
.venv
*pycache*
Sources/Agentic_System/keys.cfg
regressions*.json
*.fzil
generated_templates/
ProgramTemplates.swift
ProgramTemplateWeights.swift
fog_logs/

# custom GCE configuration
Cloud/GCE/config.sh
Expand Down
1 change: 1 addition & 0 deletions Sources/Agentic_System/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Sources/Agentic_System/regressions.json
61 changes: 61 additions & 0 deletions Sources/Agentic_System/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
### How to run FoG
1. Install the `requirements.txt`, make sure you're in a venv
2. export the required environment variables
- `V8_PATH` => points to V8 src directory
- `D8_PATH` => points to the d8 binary
- `FUZZILLI_TOOL_BIN` => points to the FuzzILTool binary, typically under .build in Fuzzilli's root
- `FUZZILLI_PATH` => points to Fuzzilli's root directory, where you land after cloning and cd'ing into the repo
3. Put your OpenAI key into a `keys.cfg` in Sources/Agentic_System
4. Replace the smolagents site-packaged located in `.venv/lib/python3.12/site-packages` or similar with the provided fork of smolagents<br>
You can simply remove the existing smolagents in site-packages and move + rename the fork as `smolagents`
5. run `python3 rises-the-fog.py (--debug)`

### Technical flow
#### The first multi agent system is implemented and starts by initializing a root manager whose goal is to actually orchestrate the creation of program templates. It starts by selecting a "code region" that it determines to be interesting; this is done by querying a RAG DB (json file) that contains over 8000 regression tests, their FuzzIL form, and execution data via trace flags. We instruct the system to select a code region by using the execution data. On top of that, the system has access to a vector RAG DB with: V8 docs, JS MDM docs, C++ docs, and various research papers that it can query to gather more information. The vectorization library we use is META’s FAISS -"Facebook AI Similarity Search". After this is done it will select a code region such as: "Keyed array element access & elements-kind transitions (KeyedStoreIC/KeyedLoadIC, ElementsTransition, GrowElements/CopyElements, and Array builtin fast paths)".


#### From there we run a code analysis agent whose goal is to actually figure out what the code region looks like in the V8 code base and give back an in depth analysis of the code region - functions / files that are deemed "interesting". We give the V8 search agent, who is responsible for querying and searching through the source code, a variety of tools like ripgrep, fuzzyfinder, and sed in order to read files. This agent will create a run-time RAG in order to store interesting code chunks. We use tool calls that create controlled, structured json in order to create the runtime RAG that gets used between agents. After V8 search completes and generates a list of relevant database entries linked to the initial code region, the code analysis stage compiles a comprehensive summary of the codebase and its functions. It then sends a detailed explanation - along with supporting code snippets - to the verification agent. Once the response is verified, the finalized version is returned to the root manager.


#### From here our system will define a task to literally create swift program templates. This will be sent to an agentic ‘program template builder’, which itself has a RAG json filled with program templates, their FuzzIL equivalence, and JS which we got by dumping runtime info via a Fuzzilli patch. This stage also has a verification agent, and if all goes well, we have tools to ensure compilation and test that target code paths are being hit, namely by looking at d8 trace output.

```
>> Start Initializaiton
-> PickSection -> FoG -> CodeAnalyzer: Reviewer_of_Code, V8_Search -> FoG
-> ProgramBuilder: Corpus_Generator, Runtime_Analyzer, Corpus_Validator, DB_Analyzer, George_Foreman, Compiler
>> End Initialization []
```

- PickSection: chooses a component of V8 that targets/interfaces with JIT.
- FoG : Init root agent (similar to an IPC).
- CodeAnalyzer: Manager agent to Reviewer_of_Code and V8_Search. Makes overall decisions regarding target.
- Reviewer_of_Code: references design docs, whitepapers, and regressions regarding the selected V8
component, build context, and select a region of code within that component to target.
- V8_Search: Uses tools to analyze source code and pull entire functions and files related to the target
and contextual functions related to those selected functions. The agents tend to target places with
DCHECKS as this is an indicator of where state can be potentially corrupt.
- ProgramBuilder: Manages construction of program templates that target the code paths found by CodeAnalyzer.
- Corpus_Generator:
- Corpus_Validator:
- Runtime_Analyzer:
- Corpus_Validator:
- Compiler:
- George Foreman: Verification agent used to validate that results and
trajectory of other agents are inline with their goals.


```
The below is wrong for now btw

FatherOfGeorge (L0 Manager)
├── CodeAnalyzer (L1 Manager)
│ ├── RetrieverOfCode (L2 Worker) → GeorgeForeman
│ └── V8Search (L2 Worker)
└── ProgramBuilder (L1 Manager)
└── GeorgeForeman (L1 Manager)
├── CorpusGenerator (L2 Worker)
├── RuntimeAnalyzer (L2 Manager)
│ └── CodeAnalyzer (L3 Worker)
├── CorpusValidator (L2 Worker)
└── DBAnalyzer (L2 Worker)
```
14 changes: 14 additions & 0 deletions Sources/Agentic_System/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import importlib.util
import sys
from pathlib import Path

_module_dir = Path(__file__).parent
_module_path = _module_dir / "rises-the-fog.py"

if str(_module_dir) not in sys.path:
sys.path.insert(0, str(_module_dir))

_spec = importlib.util.spec_from_file_location("rises_the_fog", _module_path)
rises_the_fog = importlib.util.module_from_spec(_spec)
_spec.loader.exec_module(rises_the_fog)

Loading
Loading