Skip to content

Commit

Permalink
Add .NET AoT & TouchSocket linking detection (#948)
Browse files Browse the repository at this point in the history
* Add initial two rules

Signed-off-by: Still Hsu <[email protected]>

* Swap sample for a smaller custom compiled one

Signed-off-by: Still Hsu <[email protected]>

---------

Signed-off-by: Still Hsu <[email protected]>
  • Loading branch information
Still34 authored Nov 28, 2024
1 parent f3bb093 commit 1649218
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
27 changes: 27 additions & 0 deletions linking/static/touchsocket/linked-against-touchsocket.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
rule:
meta:
name: linked against TouchSocket
namespace: linking/static/touchsocket
authors:
- [email protected]
description: TouchSocket is a .NET networking library, supporting a wide variety of protocol types such as WebSocket, RPC, DMTP, Modbus, and more.
scopes:
static: file
dynamic: file
references:
- https://github.com/RRQM/TouchSocket/
- https://www.trendmicro.com/en_us/research/24/i/earth-preta-new-malware-and-strategies.html
examples:
- 684cc28e6a7fbd12f23dbc563f06306555ebb870bd727ad60839d4ff26e7f3b2
features:
- and:
- or:
- match: compiled to the .NET platform
- match: compiled with .NET AoT
- 3 or more:
- substring: "TouchSocket"
- substring: "TouchSocket.Core"
- substring: "TouchSocket.Dmtp"
- substring: "TouchSocket.Modbus"
- substring: "BinarySerialize"
- substring: "BinaryDeserialize"
23 changes: 23 additions & 0 deletions runtime/dotnet/compiled-with-dotnet-aot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
rule:
meta:
name: compiled with .NET AoT
namespace: runtime/dotnet
authors:
- [email protected]
description: compiled using .NET Ahead-of-Time (AoT) compilation
scopes:
static: file
dynamic: file
references:
- https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/
examples:
- 684cc28e6a7fbd12f23dbc563f06306555ebb870bd727ad60839d4ff26e7f3b2
features:
- and:
- substring: ".NETCoreApp,Version="
- 2 or more:
- substring: "AotAnalysis4IL"
- substring: "https://aka.ms/nativeaot-compatibilit"
- substring: "removed by the AOT compiler"
- substring: "\\native\\"
description: During compilation, the output by default contains the path "native," which is then in turn included in the PDB path.

0 comments on commit 1649218

Please sign in to comment.