mirror of
https://github.com/mandiant/capa.git
synced 2026-02-04 11:07:53 -08:00
cape: linux: support no parent pid
This commit is contained in:
@@ -32,7 +32,13 @@ def get_processes(report: CapeReport) -> Iterator[ProcessHandle]:
|
||||
"""
|
||||
seen_processes = {}
|
||||
for process in report.behavior.processes:
|
||||
addr = ProcessAddress(pid=process.process_id, ppid=process.parent_id)
|
||||
if process.parent_id is None:
|
||||
# on CAPE for Linux, the root process may have no parent id, so we set that to 0
|
||||
ppid = 0
|
||||
else:
|
||||
ppid = process.parent_id
|
||||
|
||||
addr = ProcessAddress(pid=process.process_id, ppid=ppid)
|
||||
yield ProcessHandle(address=addr, inner=process)
|
||||
|
||||
# check for pid and ppid reuse
|
||||
|
||||
@@ -320,7 +320,7 @@ class Call(FlexibleModel):
|
||||
class Process(FlexibleModel):
|
||||
process_id: int
|
||||
process_name: str
|
||||
parent_id: int
|
||||
parent_id: int | None
|
||||
# module_path: str
|
||||
# first_seen: str
|
||||
calls: list[Call]
|
||||
|
||||
Reference in New Issue
Block a user