You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,8 @@ Different is a variant-analysis agentic tool built with DeepAgents. It does two
9
9
10
10
The logic is agentic: an LLM calls local Git tools (and optional GitHub API tools) in a loop to inspect commits, diffs, and related PR/issue context.
11
11
12
+
Each finding includes `id`, `kind`, `severity`, `title`, `root_cause`, `fix_summary`, `evidence`, and `tags`. For `kind="bug"` findings with a concrete severity (not `"unknown"`), it also includes `main_file` and `exploit_risk` (a short paragraph describing how an attacker could exploit the bug and what impact they could get).
13
+
12
14
The inspiration agent can fetch PR labels and review comments for richer context. The target agent can search commit messages (`git_log_search`) to check if a fix was already applied, and list tracked files (`git_ls_files`) to explore the project structure.
raiseValueError("exploit_risk is required for kind='bug' with severity!='unknown'")
67
+
ifself.exploit_risk.strip().lower() in {"low", "medium", "high", "critical", "unknown"}:
68
+
raiseValueError("exploit_risk must be a short paragraph, not a keyword")
69
+
returnself
70
+
57
71
58
72
classFindingsResponse(BaseModel):
59
73
findings: list[Finding]
@@ -105,6 +119,9 @@ class TargetAssessmentsResponse(BaseModel):
105
119
- Do NOT paste entire diffs into the JSON. Keep diff_snippets short.
106
120
- If you include GitHub issues/PRs, include their links in evidence.links.
107
121
- Be conservative: if you can't justify severity, set severity="unknown".
122
+
- If kind="bug" and severity!="unknown":
123
+
- main_file must be set to the single most relevant file path for the fix (usually pick 1 entry from evidence.files_changed).
124
+
- exploit_risk must be a short paragraph explaining how an attacker could exploit the bug and what they could gain (preconditions + impact). Keep it similar length to root_cause/fix_summary.
108
125
- root_cause must describe the generalized mechanism (unsafe pattern + conditions), not just the local symbol name.
109
126
- fix_summary must describe the conceptual mitigation, not only the exact code change.
110
127
- tags should include short idea-level keywords to help variant matching (e.g. "ambiguous-encoding",
@@ -120,6 +137,8 @@ class TargetAssessmentsResponse(BaseModel):
0 commit comments