Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5837 commits
Select commit Hold shift + click to select a range
e48852c
fix cleaner
doomedraven Apr 30, 2025
9c8abc0
Fix issue with agent creating analyzer as grandchild process instead …
kevoreilly May 7, 2025
8afbf6f
Fix agent test script (test_agent.py) to handle recent changes (thank…
kevoreilly May 7, 2025
44d6106
PPLInject: Improve logging output if DLL transaction fails due to ins…
kevoreilly May 8, 2025
09d18f0
Monitor update: Allow monitor to load without config ini file - defau…
kevoreilly May 8, 2025
014b383
update latrodectus yara
enzok May 10, 2025
eab3d1d
Merge pull request #2595 from enzok/update
kevoreilly May 10, 2025
994dc11
Monitor updates: see changelog for details
kevoreilly May 23, 2025
da49cc4
Socks5Systemz update: detection & config extraction, parser update al…
kevoreilly May 23, 2025
3fd2a7e
Use config settings to enable/disable QemuScreenshots (#2601)
ChrisThibodeaux May 25, 2025
a254f39
Bump setuptools from 75.8.0 to 78.1.1 (#2600)
dependabot[bot] May 25, 2025
8e7983e
ci: Update requirements.txt
actions-user May 25, 2025
ce38632
Bump django from 5.1.8 to 5.1.9 (#2593)
dependabot[bot] May 25, 2025
e5c0ae4
After calling delete_tasks, open a new session (#2592)
rkoumis May 25, 2025
1f43d81
Bump django from 5.1.8 to 5.1.9 (#2605)
dependabot[bot] May 25, 2025
18244a9
fixed flare-capa, flare-floss and GUI Buttons (#2598)
ClaudioWayne May 25, 2025
e8aaff6
test
doomedraven May 25, 2025
a23b166
Update poetry.lock
doomedraven May 25, 2025
dc658cc
ci: Update requirements.txt
actions-user May 25, 2025
a460f07
Update analysis_manager.py
doomedraven May 30, 2025
f045493
Update web_utils.py
doomedraven May 30, 2025
5cd0358
dont clean pending, it has it own command
doomedraven May 30, 2025
e9142ad
Monitor update: Fix bug in retarget_relative_displacement() relative …
kevoreilly Jun 3, 2025
f515531
Monitor update: correction to previous commit
kevoreilly Jun 3, 2025
4191bb8
bump parsers
doomedraven Jun 4, 2025
a9627a5
ci: Update requirements.txt
actions-user Jun 4, 2025
460a4c0
Bump h11 from 0.14.0 to 0.16.0 (#2610)
dependabot[bot] Jun 4, 2025
5cd3819
Update web.rst
doomedraven Jun 4, 2025
691653a
add md5 and sha256 indexes in mongodb (#2609)
doomedraven Jun 5, 2025
d0c37c2
fix: forbidden escape sequence \r (#2612)
Neo23x0 Jun 6, 2025
22992be
Monitor update: Fix format string vulnerability in debugger StringsOu…
kevoreilly Jun 6, 2025
0907c41
generate zipped json report (#2614)
doomedraven Jun 6, 2025
1ed7629
Bump django from 5.1.9 to 5.1.10 (#2615)
dependabot[bot] Jun 6, 2025
3468ef1
Monitor update: WMI hooks
kevoreilly Jun 6, 2025
0f50f93
Bump requests from 2.32.2 to 2.32.4 (#2618)
dependabot[bot] Jun 10, 2025
46a74ca
ci: Update requirements.txt
actions-user Jun 10, 2025
d69ffd5
Bump h11 from 0.14.0 to 0.16.0 (#2619)
dependabot[bot] Jun 10, 2025
dcd0083
Bump django from 5.1.9 to 5.1.10 (#2620)
dependabot[bot] Jun 10, 2025
b8520e9
Monitor update: WMI hooks: add handling for VT_NULL and enable WMI_Ge…
kevoreilly Jun 10, 2025
d123184
Agent: Fix issue with analyzer directory creation lacking required AC…
kevoreilly Jun 11, 2025
2c97b9b
Update changelog per previous commit
kevoreilly Jun 11, 2025
8f94b85
fix missed tags
doomedraven Jun 12, 2025
1893060
Update agent tests to remove "tmp" prefix in line with recent agent u…
kevoreilly Jun 12, 2025
36d973d
Agent test: fix issue with random prefixes being used in test_mktemp_…
kevoreilly Jun 12, 2025
91a2bea
Update cleaners_utils.py
doomedraven Jun 12, 2025
0ae5d09
Formbook: update unhook bypass & config extraction
kevoreilly Jun 13, 2025
02c59ae
update nitrogenloader
enzok Jun 16, 2025
66423db
Adaptix Beacon yara
enzok Jun 16, 2025
52e4b43
Merge pull request #2624 from enzok/updates-01
kevoreilly Jun 17, 2025
6e06823
Update NitrogenLoader.yar
enzok Jun 17, 2025
42c2a3e
Refine rule
enzok Jun 17, 2025
93399f0
Update NitrogenLoader.yar
enzok Jun 17, 2025
22bc73a
Merge pull request #2626 from enzok/enzok-patch-1
kevoreilly Jun 18, 2025
8f33b86
Add detection for 'Amatera' from Proofpoint blog https://www.proofpoi…
kevoreilly Jun 19, 2025
359936d
Direct sysenter capture via 'sysbp' (e.g. Amatera)
kevoreilly Jun 20, 2025
bfc6db1
Restrict icacls excecution to Win32
josh-feather Jun 23, 2025
2b05a48
Merge pull request #2629 from josh-feather/2621-only-run-icacls-on-win32
kevoreilly Jun 23, 2025
e988840
Rescind sysenter breakpoint yara - too general
kevoreilly Jun 24, 2025
846b2a2
Amatera syscall capture
kevoreilly Jun 25, 2025
6fa9b9a
Defeat false positives
enzok Jun 26, 2025
3892929
Merge pull request #2631 from enzok/enzok-patch-2
kevoreilly Jun 27, 2025
674bcd7
Modify kvm-qemu.sh to apply changes in #1634 back (#2606)
MHM98 Jun 30, 2025
3ead163
Bump urllib3 from 2.3.0 to 2.5.0 (#2627)
dependabot[bot] Jun 30, 2025
f874fa0
Bump protobuf from 5.29.3 to 5.29.5 (#2625)
dependabot[bot] Jun 30, 2025
78c98f9
Update analysis_manager.py (#2611)
doomedraven Jun 30, 2025
a7bb9ef
feat(scoring): Implement dedicated scoring logic for URL analysis (#2…
AxelSecurity Jun 30, 2025
20e8081
Update views.py
doomedraven Jul 1, 2025
01cb2c1
FIX: replace <WOOT> with proper env in replace_seabios_clues_public f…
MHM98 Jul 1, 2025
1caa2a5
Update requirements.rst
doomedraven Jul 4, 2025
9686af2
Fix azure machinery bug when gathering relevant machines (#2638)
ChrisThibodeaux Jul 7, 2025
b409864
Update Lumma detection
kevoreilly Jul 8, 2025
f431786
sflock update to include 7zz
doomedraven Jul 8, 2025
50e2a79
ci: Update requirements.txt
actions-user Jul 8, 2025
93ec7fb
Bump urllib3 from 2.3.0 to 2.5.0 (#2639)
dependabot[bot] Jul 8, 2025
c902e75
Revert "sflock update to include 7zz"
doomedraven Jul 8, 2025
f4ed923
ci: Update requirements.txt
actions-user Jul 8, 2025
e89975e
prevent dns rebinding to internal networks (#2640)
dsecuma Jul 8, 2025
75f406c
sflock with 7zz
doomedraven Jul 8, 2025
716c17e
ci: Update requirements.txt
actions-user Jul 8, 2025
827819f
Create copilot-instructions.md
doomedraven Jul 8, 2025
296f34b
sflock
doomedraven Jul 9, 2025
7508350
ci: Update requirements.txt
actions-user Jul 9, 2025
91a9fd7
sflock
doomedraven Jul 9, 2025
53790e9
ci: Update requirements.txt
actions-user Jul 9, 2025
833a37e
Update copilot-instructions.md
doomedraven Jul 9, 2025
313be0c
Update cape2.sh
doomedraven Jul 10, 2025
0598aaa
sflock
doomedraven Jul 10, 2025
9204d4b
ci: Update requirements.txt
actions-user Jul 10, 2025
b4124a5
Bump urllib3 from 2.3.0 to 2.5.0 (#2643)
dependabot[bot] Jul 10, 2025
ba20b04
Tighten FormhookB monitor yara (again!) - fixes #2648
kevoreilly Jul 16, 2025
f741105
Update kvm-qemu.sh
doomedraven Jul 23, 2025
58a2f8f
update nitrogenloader
enzok Jul 21, 2025
b467cfe
suricata fixes. Socket mode deprecated since Suricata 8 (#2652)
doomedraven Jul 25, 2025
4c64012
Installer script fixes (#2585)
ChrisThibodeaux Jul 26, 2025
57c5102
Update reporting.conf.default
doomedraven Jul 28, 2025
fa4b09a
update nitrogenloader
enzok Jul 28, 2025
ce89210
Add PolarProxy plugin for TLS MiTM (#2656)
aaron-boyd Jul 31, 2025
80c37f6
format fixes
Jul 31, 2025
a8a2683
Keep file when demux adds default platform (#2653)
itamarga Aug 1, 2025
155daaf
Update process.py
doomedraven Aug 1, 2025
fa9cf8c
Update views.py
doomedraven Aug 2, 2025
d62aecc
Add fix for Azure subnet.address_prefix issue #2658 (#2659)
Fisherbeach Aug 5, 2025
2ad63cc
Fix issue in merging configs with same family name
kevoreilly Aug 5, 2025
3c23ab6
Monitor updates: see changelog for details
kevoreilly Aug 5, 2025
384613f
Stealc V2 detection, dynamic strings & config extraction (requires ac…
kevoreilly Aug 5, 2025
8a4ca63
Add example hashes to Stealc V2 yaras
kevoreilly Aug 5, 2025
fa67747
linux docs clarify
doomedraven Aug 6, 2025
d708275
Update cape2.sh
doomedraven Aug 6, 2025
ccb8cf3
Update abstracts.py
doomedraven Aug 7, 2025
bbb3ff7
Update cape2.sh
doomedraven Aug 7, 2025
4b7d506
fix volatility malfind output (#2663)
doomedraven Aug 9, 2025
0b63105
Update usages with expected location of 7zz binary (#2667)
ChrisThibodeaux Aug 12, 2025
c0b4f94
Bump protobuf from 5.29.3 to 5.29.5 (#2668)
dependabot[bot] Aug 12, 2025
09ef19b
Monitor update: Fix internal WMI_GetObjectAsync yara
kevoreilly Aug 13, 2025
ee663a4
API: improve download authorisation check
kevoreilly Aug 13, 2025
425299a
Add package to run JS with NodeJS (#2669)
adepasquale Aug 13, 2025
c4257e1
Reduce vivisect.base and vivisect.impemu cape-processor logs (#2665)
ChrisThibodeaux Aug 14, 2025
b2736e3
Web: filter 'raw' label from configs and elevate contents to top leve…
kevoreilly Aug 14, 2025
9d4977f
YungBinary: Update Amadey Rule
YungBinary Aug 16, 2025
1d65693
Monitor update: YaraHarness: fix issue with ParseOptionLine() adding …
kevoreilly Aug 18, 2025
f507da3
Monitor fix: ensure YaraCallback calls SetInitialBreakpoints() for sy…
kevoreilly Aug 18, 2025
881936f
Merge pull request #2672 from YungBinary/master
kevoreilly Aug 18, 2025
b7524c4
Bump pypdf from 5.2.0 to 6.0.0 (#2671)
dependabot[bot] Aug 19, 2025
5d15ec1
Merge pull request #2650 from enzok/patch-enzo-1
kevoreilly Aug 19, 2025
594757b
fix Interactive desktop (#2675)
ClaudioWayne Aug 20, 2025
0cecf1e
Update Stealc.yar (#2674)
bartblaze Aug 21, 2025
61eb72b
Revert "Update Stealc.yar (#2674)"
kevoreilly Aug 21, 2025
9f9ddfb
Merge pull request #2677 from kevoreilly/revert-2674-patch-2
kevoreilly Aug 21, 2025
b26a4bd
Tighten old Stealc v1 yara signature to reduce FPs
kevoreilly Aug 21, 2025
9b51ba4
Fix (#2680)
YungBinary Aug 21, 2025
f41ba50
ci: Update requirements.txt
actions-user Aug 21, 2025
9702c40
Azure machinery major updates (#2666)
ChrisThibodeaux Aug 25, 2025
1e7071e
Improve logging (#2683)
Aeris1One Aug 25, 2025
ba590a7
Sqlalchemy 2 + parent<>child relationship reworked (#2646)
doomedraven Aug 27, 2025
24fecc0
Monitor updates: see changelog for details
kevoreilly Aug 27, 2025
8556cf5
Add @KillerInstinct & @KingKDot to acknowledgment
kevoreilly Aug 28, 2025
439dc0c
Monitor update: fix logging bug in NtReadVirtualMemory & NtWriteVirtu…
kevoreilly Aug 28, 2025
b15a6d1
Stealc: tweak StealcV2 date check bypass sig to improve coverage
kevoreilly Sep 1, 2025
4b9fae5
Monitor update: CoCreateInstance hook: remove disable_sleep_skip() br…
kevoreilly Sep 1, 2025
d33e1a9
Loader update: set patched import directory size to allow RestoreHead…
kevoreilly Sep 2, 2025
cfc97e7
Add AuraStealer yara (#2688)
enzok Sep 2, 2025
fbaeb75
Add yara rule for NightshadeC2
YungBinary Sep 4, 2025
575f99d
Update
YungBinary Sep 4, 2025
073fad7
Address comments
YungBinary Sep 6, 2025
5b10d96
Add MonsterV2 rule
YungBinary Sep 6, 2025
40c35e0
Bump pypdf from 5.2.0 to 6.0.0 (#2693)
dependabot[bot] Sep 8, 2025
2dc791e
Prevent mouse emulation on Windows VMs from clicking on Console windows
josh-feather Sep 8, 2025
a4b34c2
Bump django from 5.1.9 to 5.1.12 (#2695)
dependabot[bot] Sep 10, 2025
e91a7e2
Fix task added_on and clock fields (#2696)
enzok Sep 10, 2025
d9c70ee
-L checks if the symlink exists.
YungBinary Sep 10, 2025
fd29de3
Make the directory first
YungBinary Sep 10, 2025
4612c46
VIPKeyLogger detection
kevoreilly Sep 11, 2025
33c4f63
Fix patterns
YungBinary Sep 12, 2025
ca91b39
Description
YungBinary Sep 12, 2025
68a6e5b
Use universal SID instead of locale-specific group names
AndreasHanikel Sep 21, 2025
41f738b
Merge pull request #2704 from AndreasHanikel/patch-1
kevoreilly Sep 22, 2025
b256c7e
Update web_utils.py
doomedraven Sep 23, 2025
910919d
Update web_utils.py
doomedraven Sep 23, 2025
c1605f4
Update web_utils.py
doomedraven Sep 23, 2025
147b648
Update views.py
doomedraven Sep 23, 2025
2386398
Monitor updates: see changelog for details
kevoreilly Sep 23, 2025
0ec0212
Update bug_report.md
doomedraven Sep 23, 2025
b17d859
Update abstracts.py
doomedraven Sep 24, 2025
d71a410
CAPE issues RAG chatbot (#2707)
doomedraven Sep 24, 2025
812625d
Bump django from 5.1.9 to 5.1.12 (#2708)
dependabot[bot] Sep 24, 2025
cade806
ci: Update requirements.txt
actions-user Sep 24, 2025
dd40116
Update database.py
doomedraven Sep 25, 2025
a557f02
Only show interactive options and infos when enabled and used (AI imp…
ClaudioWayne Sep 25, 2025
301e240
Monitor update: add hook_restore option to enable/disable recently ad…
kevoreilly Sep 26, 2025
36af5c9
Web: fix AMSI dump submission checkbox
kevoreilly Sep 26, 2025
654729d
GCS (#2712)
doomedraven Sep 26, 2025
08f2b5d
GCS
Oct 1, 2025
40becf7
Merge pull request #2694 from josh-feather/no-clicking-on-console-win…
kevoreilly Oct 3, 2025
3dc4be1
Monitor update: Fix issue with hook_restore config setting being igno…
kevoreilly Oct 3, 2025
3ad2e31
Bump django from 5.1.12 to 5.1.13 (#2714)
dependabot[bot] Oct 4, 2025
0b96b75
Bump django from 5.1.12 to 5.1.13 (#2717)
dependabot[bot] Oct 6, 2025
03ceafb
Monitor update: Improve debugger breakpoint protection, fixes instruc…
kevoreilly Oct 6, 2025
7ed9de0
Merge pull request #2690 from YungBinary/master
kevoreilly Oct 6, 2025
d975e51
gcs mode (#2718)
doomedraven Oct 7, 2025
27d7c3a
GCS_tlp_support
Oct 8, 2025
b7ede03
Monitor update: see changelog for details
kevoreilly Oct 13, 2025
4933c4d
Add DarkCloud, ChaosBot yara rules
YungBinary Oct 16, 2025
d371f37
Fix typo
YungBinary Oct 16, 2025
3743b26
Merge pull request #2723 from YungBinary/master
kevoreilly Oct 16, 2025
b99efdf
Add NetSupport Yara
YungBinary Oct 18, 2025
85c7d65
Resolve comments
YungBinary Oct 18, 2025
5b22f81
Resolve comments
YungBinary Oct 18, 2025
15aeaaa
Merge pull request #2724 from YungBinary/master
kevoreilly Oct 22, 2025
7ee5743
Remove obsolete 'suspended' parameter from PROCESS monitor message & …
kevoreilly Oct 22, 2025
8a7731c
Add monitor injection to previously unused RESUME: monitor handler _h…
kevoreilly Oct 22, 2025
8ff75c0
Generate .pcapng files on-demand (#2727)
josh-feather Oct 23, 2025
e593cbe
Update analyzer tests with deprecated 'suspended' parameter in proces…
kevoreilly Oct 23, 2025
054d9ba
Use ZIP_DEFLATE instead of ZIP_LZMA (#2728)
josh-feather Oct 24, 2025
05e5988
Add Winos4.0 and MyKings
YungBinary Oct 24, 2025
ca6dcdb
Bump h11 from 0.14.0 to 0.16.0 (#2731)
dependabot[bot] Oct 26, 2025
035b421
base64 string
YungBinary Oct 26, 2025
0910069
Staging (#2733)
doomedraven Oct 27, 2025
3837aea
Update AdaptixBeacon yara and add NitrogenBunnyDownloader yara
enzok Oct 28, 2025
378edda
add missing hash
enzok Oct 28, 2025
26d76a5
add missing update
enzok Oct 28, 2025
3b89448
Gemini nags
enzok Oct 28, 2025
724bafc
Merge pull request #2729 from YungBinary/master
kevoreilly Oct 29, 2025
281a704
Additional Rhadamanthys patterns
YungBinary Oct 31, 2025
e644ed4
Switch Suricata installation to version 7.0
doomedraven Nov 2, 2025
c462d0b
Remove test_handle_process_invalid_data() from tests/test_analyzer.py
kevoreilly Nov 3, 2025
6ea9cca
Tweak Rhadamanthys patterns
kevoreilly Nov 3, 2025
9469619
Merge pull request #2737 from YungBinary/master
kevoreilly Nov 3, 2025
c27e2b3
Merge pull request #2734 from enzok/yara_updates_01
kevoreilly Nov 3, 2025
b7cf955
Rhadamanthys anti-anti detonation bypass
kevoreilly Nov 3, 2025
c75cb93
Rhadamanthys detection patterns
kevoreilly Nov 3, 2025
b2048f4
Enable protocol extended information to be generated without a TLS ma…
FernandoDoming Nov 5, 2025
efeb9d7
Update NitroBunnyDownloader yara
enzok Nov 3, 2025
755d5f2
Bump django from 5.1.13 to 5.1.14 (#2742)
dependabot[bot] Nov 5, 2025
c1cf7eb
Update startup.py
doomedraven Nov 6, 2025
fc099b9
Fix path handling for SHA256 calculation
doomedraven Nov 6, 2025
a088fca
Update startup.py
doomedraven Nov 6, 2025
d7d9f35
Monitor updates: see changelog for details
kevoreilly Nov 6, 2025
4fe8e23
analyzer: remove obsolete 'suspended' parameter from CommandPipeHandler
kevoreilly Nov 7, 2025
2d2c923
Update routing.rst
doomedraven Nov 9, 2025
f812eab
Fix error list entry format in demux.py
doomedraven Nov 10, 2025
6c5b5c3
prevent linux parsing errors (#2744)
dsecuma Nov 11, 2025
9cf8bf5
Rhadamanthys unhook bypass
kevoreilly Nov 11, 2025
52d8ad9
Add Suricata host (#2745)
bartblaze Nov 17, 2025
e11ada6
Monitor update: Add config option for monitor injection into supplied…
kevoreilly Nov 17, 2025
bbf509e
SmokeLoader 2025
kevoreilly Nov 19, 2025
e56dd1e
Update installation step to include KnowledgeBaseBot
doomedraven Nov 19, 2025
23027e8
Bump django from 5.1.13 to 5.1.14 (#2749)
dependabot[bot] Nov 19, 2025
e046f87
ci: Update requirements.txt
actions-user Nov 19, 2025
5f8eb09
Refactor auto_answer.yml to streamline dependency installation
doomedraven Nov 19, 2025
0d42a6f
Merge pull request #2741 from enzok/update-01
kevoreilly Nov 19, 2025
37b6e65
fix docs
doomedraven Nov 19, 2025
b8e0bca
Fix a bug that prevents terminal status from being reported by the ag…
josh-feather Nov 19, 2025
2debad2
Fix 'machines' vars on Azure (#2755)
Grand-Duc Nov 20, 2025
bd2b2a1
Monitor update: Fix issue with RESUME: monitor message from NtResumeP…
kevoreilly Nov 24, 2025
4c9ed23
Bump pypdf from 5.2.0 to 6.4.0 (#2757)
dependabot[bot] Nov 25, 2025
c34f847
Prevent on_complete execution for matched signatures (#2758)
doomedraven Nov 25, 2025
329ac5d
Add GCP machinery (#2766)
nalves599 Dec 3, 2025
a11f465
Bump django from 5.1.14 to 5.1.15 (#2765)
dependabot[bot] Dec 3, 2025
116cf3a
Bump werkzeug from 3.1.3 to 3.1.4 (#2764)
dependabot[bot] Dec 4, 2025
6417ae8
ci: Update requirements.txt
actions-user Dec 4, 2025
915615a
Bump django from 5.1.14 to 5.1.15 (#2767)
dependabot[bot] Dec 4, 2025
dc8af91
Bump pypdf from 5.2.0 to 6.4.0 (#2768)
dependabot[bot] Dec 4, 2025
500db67
Update scheduler.py to reflect migration for timeout function (#2763)
cccs-mog Dec 4, 2025
5d54c5c
Refactor yara_detected for better matching and self-extraction (#2759)
doomedraven Dec 4, 2025
052710c
parse_pe (common integrations): parse machine type (#2773)
wesinator Dec 6, 2025
9aa4aa0
Bump urllib3 from 2.3.0 to 2.6.0 (#2772)
dependabot[bot] Dec 6, 2025
e5de248
Update startup.py
doomedraven Dec 8, 2025
b965620
Formbook config extractor update (e.g. 728546301b7008b5a1fb3aea761701…
kevoreilly Dec 8, 2025
a187ad6
Fix dump memory (#2771)
nalves599 Dec 9, 2025
300b80c
analyzer/linux: Fix get_proc_status parsing (#2769)
nalves599 Dec 9, 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
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .actrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Nektos act runs tests as root. Without this environment variable
# being set, CAPE exits at line 10 of web/web/settings.py,
# and no tests are run.

--env CAPE_AS_ROOT=1
21 changes: 17 additions & 4 deletions .github/issue_template.md → .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
## This is opensource and you getting __free__ support so be friendly!
* Free support from doomedraven ended, no whiskey no support. For something he updated the documentation :)
---
name: Having problem/bug/issue
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

## About accounts on [capesandbox.com](https://capesandbox.com/)
* Issues isn't the way to ask for account activation. Ping capesandbox in [Twitter](https://twitter.com/capesandbox) with your username

## This is open source and you are getting __free__ support so be friendly!

# Prerequisites

Please answer the following questions for yourself before submitting an issue.

- [ ] I am running the latest version
- [ ] I did read the README!
- [ ] I checked the documentation and found no answer
- [ ] I checked to make sure that this issue has not already been filed
- [ ] I'm reporting the issue to the correct repository (for multi-repository projects)
- [ ] I'm have read all configs with all optional parts
- [ ] I have read and checked all configs (with all optional parts)
- [ ] Asked and no solution about my issue with [deepwiki](https://deepwiki.com/kevoreilly/CAPEv2)


# Expected Behavior
Expand All @@ -34,7 +47,7 @@ Please provide detailed steps for reproducing the issue.

## Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. Operating system version, bitness, installed software versions, test sample details/hash/binary (if applicable).

| Question | Answer
|------------------|--------------------
Expand Down
32 changes: 32 additions & 0 deletions .github/actions/python-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: 'Python setup steps that can be reused'
description: 'Install dependencies, poetry, requirements'
inputs:
python-version:
required: true
description: The python version

runs:
using: "composite"
steps:
- name: Install dependencies
if: ${{ runner.os == 'Linux' }}
shell: bash
run: |
sudo apt update && sudo apt-get install -y --no-install-recommends libxml2-dev libxslt-dev python3-dev libgeoip-dev ssdeep libfuzzy-dev innoextract unrar upx

- name: Install poetry
shell: bash
run: PIP_BREAK_SYSTEM_PACKAGES=1 pip install poetry poetry-plugin-export
#- name: Python Poetry Action
# uses: abatilo/[email protected]

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: 'poetry'

- name: Install requirements
shell: bash
run: |
PIP_BREAK_SYSTEM_PACKAGES=1 poetry install --no-interaction
58 changes: 58 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copilot Instructions for CAPEv2

## General Architecture
- CAPEv2 is an automated malware analysis platform, based on Cuckoo Sandbox, with extensions for dynamic, static, and network analysis.
- The backend is mainly Python, using SQLAlchemy for the database and Django/DRF for the web API.
- Main components include:
- `lib/cuckoo/core/database.py`: database logic and ORM.
- `web/apiv2/views.py`: REST API endpoints (Django REST Framework).
- `lib/cuckoo/common/`: shared utilities, configuration, helpers.
- `storage/`: analysis results and temporary files.
- Typical flow: sample upload → DB registration → VM assignment → analysis → result storage → API query.

## Conventions and Patterns
- Heavy use of SQLAlchemy 2.0 ORM, with explicit sessions and nested transactions (`begin_nested`).
- Database models (Sample, Task, Machine, etc.) are always managed via `Database` object methods.
- API endpoints always return a dict with `error`, `data`, and, if applicable, `error_value` keys.
- Validation and request argument parsing is centralized in helpers (`parse_request_arguments`, etc.).
- Integrity errors (e.g., duplicates) are handled with `try/except IntegrityError` and recovery of the existing object.
- Tags are managed as comma-separated strings and normalized before associating to models.
- Code avoids mutable global variables; configuration is accessed via `Config` objects.

## Developer Workflows
- No Makefile or standard build scripts; dependency management is usually via `poetry` or `pip`.
- For testing, use virtual environments and run scripts manually.
- Typical backend startup is via Django (`manage.py runserver`), and analysis workers are launched separately.
- Database changes require manual migrations (see Alembic comments in `database.py`).

## Integrations and Dependencies
- Optional integration with MongoDB and Elasticsearch, controlled by configuration (`reporting.conf`).
- The system can use different compression tools (zlib, 7zip) depending on config.
- Sample analysis may invoke external utilities (e.g., Sflock, PE parsers).

## Key Pattern Examples
- IntegrityError handling example:
```python
try:
with self.session.begin_nested():
self.session.add(sample)
except IntegrityError:
sample = self.session.scalar(select(Sample).where(Sample.md5 == file_md5))
```
- API response example:
```python
return Response({"error": False, "data": result})
```
- Tag assignment example:
```python
tags = ",".join(set(_tags))
```

## Key Files
- `lib/cuckoo/core/database.py`: database logic, sample/task registration, machine management.
- `web/apiv2/views.py`: REST endpoints, validation, high-level business logic.
- `lib/cuckoo/common/`: utilities, helpers, configuration.

---

If you introduce new endpoints, helpers, or models, follow the validation, error handling, and standard response patterns. See the files above for implementation examples.
17 changes: 17 additions & 0 deletions .github/workflows/antitemplaters.yml_disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
on:
issues:
types: [opened, edited]

jobs:
auto_close_issues:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Automatically close issues that don't follow the issue template
uses: lucasbento/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-close-message: "@${issue.user.login}: hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template.\n\n This is open source project!\n\t So please apreciate our time that we sacrify from other thing that we could enjoy, instead of asking boring things over and over." # optional property
closed-issues-label: "🙁 Not following issue template"
36 changes: 36 additions & 0 deletions .github/workflows/auto_answer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Auto Answer Bot (using uv run)

on:
issues:
types: [opened]

jobs:
answer:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4

- name: Set up Python with caching
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'

- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true

- name: Run the answer bot with uv run
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
REPO_NAME: ${{ github.repository }}
run: |
cd KnowledgeBaseBot && \
uv run \
--with-requirements ../requirements.txt \
--with-requirements requirements.txt \
python auto_answer_bot.py
71 changes: 0 additions & 71 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

46 changes: 46 additions & 0 deletions .github/workflows/export-requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Update requirements.txt file

on:
push:
branches: [ master, staging ]
paths:
- "pyproject.toml"
- "poetry.lock"

jobs:
update:
if: ${{ !github.event.act }} # skip during local actions testing
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
python-version: ["3.10"]

steps:
- name: Check out repository code
uses: actions/checkout@v4

- name: Install poetry
run: pip install poetry poetry-plugin-export --user

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
check-latest: true
python-version: ${{ matrix.python-version }}
cache: 'poetry'

- name: Export requirements.txt
run: poetry export --format requirements.txt --output requirements.txt

- name: Commit changes if any
# Skip this step if being run by nektos/act
if: ${{ !env.ACT }}
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
if output=$(git status --porcelain) && [ ! -z "$output" ]; then
git pull -f
git commit -m "ci: Update requirements.txt" -a
git push
fi
21 changes: 21 additions & 0 deletions .github/workflows/pip-audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: PIP audit

on:
schedule:
- cron: '0 8 * * 1'

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
python-version: ["3.10"]

steps:
- name: Check out repository code
uses: actions/checkout@v4

- uses: pypa/[email protected]
with:
inputs: requirements.txt
43 changes: 43 additions & 0 deletions .github/workflows/python-package-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Python tests on windows

env:
COLUMNS: 120

on:
push:
branches: [ master, staging ]
pull_request:
branches: [ master, staging ]

jobs:
test:
runs-on: windows-latest
timeout-minutes: 20
strategy:
matrix:
python-version: ["3.10"]

steps:
- name: Check out repository code
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
# Use x86 python because of https://github.com/kevoreilly/CAPEv2/issues/168
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
architecture: 'x86'

- name: Install dependencies
run: pip install --upgrade pytest requests

- name: Run analyzer unit tests
run: |
cd analyzer/windows
pytest -v .

- name: Run agent unit tests
run: |
cd agent
pytest -v .
Loading