Skip to content

Siemphony is in beta and still being built. What ships today, and what does not.

Siemphony’s repertoire

IDE extension side-loaded from a local package file

Siemphony@siemphonymediumT1176.002unverified
Detects an editor extension being installed from a package file on disk rather than pulled by identifier from the marketplace — the side-load path MITRE calls out as the alternative to a marketplace compromise, and the point at which the extension gains persistence by running on every launch of the editor. Both conditions sit on the command line rather than on Image, deliberately: the Windows `code` entry point is a batch wrapper that re-execs the editor binary with its CLI bundle, so the process actually recorded varies with packaging, build channel and fork, while the flag and the package extension survive all of them and also catch a provisioning script that shells the install out. Bare marketplace installs are not selected — that is ordinary developer activity — so an extension installed by identifier is an accepted gap. The flags come from MITRE's SuspiciousCLI knob; the pairing chosen here is authored. The brief's log source is Security 4688, which needs *Audit Process Creation* and, critically, the separate *Include command line in process creation events* policy: without the second the CommandLine field is empty and this rule can never fire. Sysmon EventID 1 supplies both. UNVERIFIED AS AUTHORED — derived from MITRE ATT&CK DET0561, not hand-written and not tested by its author. Any lab result is on this rule's own page.Full description

The detection

The 4 SIEM queries below are previews produced by Siemphony’s own translator, not pySigma, and none has been executed against a real backend — review before you deploy.

detection.yml

Sentinel · KQL

Run this as a search.

DeviceProcessEvents| where (ProcessCommandLine contains "--install-extension" and ProcessCommandLine contains ".vsix")

Splunk · SPL

Run this as a search.

index=* (CommandLine="*--install-extension*" AND CommandLine="*.vsix*")

Elastic · ES|QL

Run this as a search.

FROM logs-*| WHERE (TO_LOWER(process.command_line) LIKE "*--install-extension*" AND TO_LOWER(process.command_line) LIKE "*.vsix*")

Wazuh · XML rule

Deploy to your manager — this is a rule, not a search.

<group name="sigma,windows,process_creation,">  <!-- Rule ids must be unique on your manager; 100000+ is the user range. -->  <rule id="100000" level="7">    <!-- Set <if_sid> to the decoder/base rule for windows so this only evaluates relevant events. -->    <field name="CommandLine" type="pcre2">(?i)--install-extension</field>    <field name="CommandLine" type="pcre2">(?i)\.vsix</field>    <description>IDE extension side-loaded from a local package file</description>    <mitre>      <id>T1176.002</id>    </mitre>  </rule></group>

Verdicts · reactions · comments

Community

Verdicts from engineers who actually deployed it, and the conversation around it.

Log in to react
Not yet reported on

Nobody has run this in a real environment and said what happened.

Verdicts from engineers who deployed it

0 cast

No verdicts reported yet. The first one is worth more than the tenth — say what you ran it against.

Log in to report a verdict.

Log in to join the discussion.

No comments yet. Someone who deploys this will have something to say about it.