Skip to content

Commit b1f035e

Browse files
taruntarun
authored andcommitted
2 parents 8b2d6d2 + a7f4099 commit b1f035e

6 files changed

Lines changed: 49 additions & 110 deletions

File tree

Sources/Dumpling/dumpling_fuzzilli.patch

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ index 05e5dc1..540b552 100644
1414

1515
.target(name: "FuzzilliCli",
1616
dependencies: ["Fuzzilli"]),
17-
-
1817
- .target(name: "FuzzILTool",
1918
+
2019
+ .target(name: "RelateTool",

Sources/FatherOfGeorge/BaseAgent.py

Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from smolagents import LiteLLMModel, ToolCallingAgent
99

1010

11-
class Agent(ABC):
11+
class Agent(ABC): #a
1212
"""Base class for AI agents."""
1313

1414
def __init__(self, model: LiteLLMModel, api_key: str = None, anthropic_api_key: str = None):
@@ -115,87 +115,3 @@ def _create_task_prompt(self, task_description: str, context: dict = None) -> st
115115
prompt += "\n"
116116

117117
return prompt
118-
119-
120-
# Tool definitions for different agent types
121-
def get_manager_tools():
122-
"""Tools available to manager agents."""
123-
return [
124-
# TODO: Add manager-specific tools
125-
# - orchestrate_subagents
126-
# - collect_results
127-
# - make_decisions
128-
# - validate_outputs
129-
]
130-
131-
def get_code_analysis_tools():
132-
"""Tools available to code analysis agents."""
133-
return [
134-
# TODO: Add code analysis tools
135-
# - analyze_syntax
136-
# - analyze_semantics
137-
# - extract_patterns
138-
# - identify_vulnerabilities
139-
]
140-
141-
def get_retrieval_tools():
142-
"""Tools available to retrieval agents."""
143-
return [
144-
# TODO: Add retrieval tools
145-
# - query_rag_db
146-
# - search_vector_db
147-
# - retrieve_context
148-
# - validate_information
149-
]
150-
151-
def get_v8_search_tools():
152-
"""Tools available to V8 search agents."""
153-
return [
154-
# TODO: Add V8 search tools
155-
# - fuzzy_find
156-
# - regex_search
157-
# - compile_with_clang
158-
# - test_with_python
159-
# - view_call_graph
160-
# - web_search
161-
]
162-
163-
def get_program_builder_tools():
164-
"""Tools available to program builder agents."""
165-
return [
166-
# TODO: Add program builder tools
167-
# - query_postgres_db
168-
# - generate_seed_program
169-
# - combine_contexts
170-
# - validate_syntax
171-
]
172-
173-
def get_corpus_generation_tools():
174-
"""Tools available to corpus generation agents."""
175-
return [
176-
# TODO: Add corpus generation tools
177-
# - validate_syntax
178-
# - validate_semantics
179-
# - test_program
180-
# - evaluate_interestingness
181-
]
182-
183-
def get_runtime_analysis_tools():
184-
"""Tools available to runtime analysis agents."""
185-
return [
186-
# TODO: Add runtime analysis tools
187-
# - analyze_execution_state
188-
# - check_coverage
189-
# - evaluate_flags
190-
# - determine_seed_quality
191-
]
192-
193-
def get_validation_tools():
194-
"""Tools available to validation agents."""
195-
return [
196-
# TODO: Add validation tools
197-
# - validate_corpus
198-
# - check_db_integrity
199-
# - verify_results
200-
# - quality_assurance
201-
]
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
11
#!/usr/bin/env python3
22
'''
3-
Child of the Father of George. Thus, George.
3+
Ethiopian BG
44
L1 Manager Agent - Verification and Testing Coordinator
55
'''
66

77
from smolagents import LiteLLMModel, ToolCallingAgent
8-
from BaseAgent import Agent, get_manager_tools, get_corpus_generation_tools, get_runtime_analysis_tools, get_validation_tools, get_code_analysis_tools
8+
from BaseAgent import Agent
99

1010

11-
class George(Agent):
11+
class EBG(Agent): #a
1212
"""Verify and test seeds."""
1313

1414
def setup_agents(self):
1515
# L3 Worker: Code Analyzer (under RuntimeAnalyzer)
1616
self.agents['code_analyzer'] = ToolCallingAgent(
1717
name="CodeAnalyzer",
1818
description="L3 Worker responsible for analyzing code patterns, vulnerabilities, and specific components for runtime analysis",
19-
tools=get_code_analysis_tools(),
19+
tools=[],
2020
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
2121
managed_agents=[],
2222
max_steps=8, # Fewer steps than L1 CodeAnalyzer
2323
planning_interval=None,
2424
)
25+
#self.agents['vuln_analysis_agent'].prompt_templates["system_prompt"] = self.get_prompt("code_analysis_prompt") # and similar for other agents
2526

2627
# L2 Worker: Corpus Generator (under George)
2728
self.agents['corpus_generator'] = ToolCallingAgent(
2829
name="CorpusGenerator",
2930
description="L2 Worker responsible for generating seeds from the corpus and validating syntax/semantics",
30-
tools=get_corpus_generation_tools(),
31+
tools=[],
3132
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
3233
managed_agents=[],
3334
max_steps=10,
@@ -38,7 +39,7 @@ def setup_agents(self):
3839
self.agents['runtime_analyzer'] = ToolCallingAgent(
3940
name="RuntimeAnalyzer",
4041
description="L2 Manager responsible for analyzing program runtime, coverage, and execution state",
41-
tools=get_runtime_analysis_tools(),
42+
tools=[],
4243
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
4344
managed_agents=[
4445
self.agents['code_analyzer']
@@ -51,7 +52,7 @@ def setup_agents(self):
5152
self.agents['corpus_validator'] = ToolCallingAgent(
5253
name="CorpusValidator",
5354
description="L2 Worker responsible for validating corpus integrity and quality",
54-
tools=get_validation_tools(),
55+
tools=[],
5556
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
5657
managed_agents=[],
5758
max_steps=8,
@@ -62,7 +63,7 @@ def setup_agents(self):
6263
self.agents['db_analyzer'] = ToolCallingAgent(
6364
name="DBAnalyzer",
6465
description="L2 Worker responsible for analyzing PostgreSQL database for corpus, flags, coverage, and execution state",
65-
tools=get_validation_tools(), # Reusing validation tools for DB analysis
66+
tools=[], # Reusing validation tools for DB analysis
6667
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
6768
managed_agents=[],
6869
max_steps=8,
@@ -73,7 +74,7 @@ def setup_agents(self):
7374
self.agents['george_foreman'] = ToolCallingAgent(
7475
name="GeorgeForeman",
7576
description="L1 Manager responsible for verifying JavaScript programs for correctness and testing them to evaluate interestingness",
76-
tools=get_manager_tools(),
77+
tools=[],
7778
model=LiteLLMModel(model_id="gpt-5-mini", api_key=self.api_key),
7879
managed_agents=[
7980
self.agents['corpus_generator'],

Sources/FatherOfGeorge/FoG.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,30 @@
33

44

55
from smolagents import LiteLLMModel, ToolCallingAgent
6-
from BaseAgent import Agent, get_manager_tools, get_code_analysis_tools, get_program_builder_tools, get_retrieval_tools, get_v8_search_tools
7-
from GeorgeForeman import George
8-
from pathlib import Path
6+
from BaseAgent import Agent
7+
from EBG import EBG
8+
from pathlib import Path #a
99

1010

1111
class Father(Agent):
1212
def setup_agents(self):
13-
14-
# L2 Worker: George Foreman
15-
16-
self.agents['george_foreman'] = George(
17-
model=self.model,
18-
api_key=self.api_key,
19-
anthropic_api_key=self.anthropic_api_key
13+
# L2 Worker: EBG
14+
self.agents['george_foreman'] = ToolCallingAgent(
15+
name="GeorgeForeman",
16+
description="L2 Worker responsible for generating JavaScript programs and fuzzing corpus",
17+
tools=[],
18+
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
19+
managed_agents=[],
20+
max_steps=10,
21+
planning_interval=None,
2022
)
2123

2224
# L2 Worker: Reviwer of Code (under CodeAnalyzer)
2325

2426
self.agents['reviewer_of_code'] = ToolCallingAgent(
2527
name="ReviewerOfCode",
2628
description="L2 Worker responsible for reviewing code from various sources using RAG database",
27-
tools=get_retrieval_tools(),
29+
tools=[],
2830
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
2931
managed_agents=[
3032
self.agents['george_foreman']
@@ -39,7 +41,7 @@ def setup_agents(self):
3941
self.agents['v8_search'] = ToolCallingAgent(
4042
name="V8Search",
4143
description="L2 Worker responsible for searching V8 source code using fuzzy find, regex, and compilation tools",
42-
tools=get_v8_search_tools(),
44+
tools=[],
4345
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
4446
managed_agents=[],
4547
max_steps=10,
@@ -52,7 +54,7 @@ def setup_agents(self):
5254
self.agents['code_analyzer'] = ToolCallingAgent(
5355
name="CodeAnalyzer",
5456
description="L1 Manager responsible for analyzing code and coordinating retrieval and V8 search operations",
55-
tools=get_code_analysis_tools(),
57+
tools=[],
5658
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
5759
managed_agents=[
5860
self.agents['retriever_of_code'],
@@ -67,7 +69,7 @@ def setup_agents(self):
6769
self.agents['program_builder'] = ToolCallingAgent(
6870
name="ProgramBuilder",
6971
description="L1 Manager responsible for building program templates using corpus and context",
70-
tools=get_program_builder_tools(),
72+
tools=[],
7173
model=LiteLLMModel(model_id="gpt-5", api_key=self.api_key),
7274
managed_agents=[
7375
self.agents['george_foreman']
@@ -81,7 +83,7 @@ def setup_agents(self):
8183
self.agents['father_of_george'] = ToolCallingAgent(
8284
name="FatherOfGeorge",
8385
description="L0 Root Manager responsible for orchestrating code analysis and program building operations",
84-
tools=get_manager_tools(),
86+
tools=[],
8587
model=LiteLLMModel(model_id="gpt-5-mini", api_key=self.api_key),
8688
managed_agents=[
8789
self.agents['code_analyzer'],
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Role and Objective
2+
3+
# Instructions
4+
STAGE 1
5+
...
6+
CRITICAL RULES:
7+
8+
CORRECT WORKFLOW:
9+
10+
11+
f
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Role and Objective
2+
3+
# Instructions
4+
STAGE 1
5+
...
6+
CRITICAL RULES:
7+
8+
CORRECT WORKFLOW:
9+
10+
f

0 commit comments

Comments
 (0)