Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0 rewrite #14

Draft
wants to merge 180 commits into
base: main
Choose a base branch
from
Draft

2.0 rewrite #14

wants to merge 180 commits into from

Conversation

KosmX
Copy link
Owner

@KosmX KosmX commented Jun 13, 2023

2.0 Major rewrite

1. Code refactoring (Please don't open PRs before it's done)

  • gradle rewrite
  • move CLI and launchwrapper out of api
  • project structure rewrite
  • Rule interface (move simple match as example)
  • redesign result type
  • rule config class, eliminate global variables
  • refactor jar scanning logic
  • public interface for API
  • refactor web serialization
  • rewrite interfaces

After 1st point, code structure should be relatively stable, from here any PRs are welcomed!

  • PRs open
  • contribution guidelines

2. Full feature set implementation

  • advanced rule representation
  • serialization/deserialization
  • conditions
  • file content match
  • database handling (online update, signature checking)
  • database backend
  • malware wiki, point users to "what to do with xxx"
  • GUI rewrite
  • CLI/simple [kotlin-cli or clikt] // write a simple command, get result

2.5 Optional features (these might be after 2.0 release)

  • Reliable testing
  • CLI/interactive [ideally with kotter] // while running the app, you may select folders, when showing results, user may want to delete those
  • Wildcard matching algorithm (instead of KMP), keep it fast
  • Automatic/semi-automatic sample submission

solonovamax and others added 6 commits June 13, 2023 13:28
- Store versions in version catalogs
- Move any duplicate logic to convention plugins
- Refactor modules
  - Refactor main project -> api subproject
  - Refactor compose subproject -> gui subproject
- Add axion-release plugin for versioning
- Add typesafe project accessors for depending on subprojects
- Add dokka for documentation generation
- Clean up & refactor publishing

Signed-off-by: solonovamax <[email protected]>
(I keep telling it to stop doing glob imports, and it keeps doing them, idk how to fix)

Signed-off-by: solonovamax <[email protected]>
- Previously we were implicitly compiling for kotlin api version 1.8. This is now explicit.
- Previously we used gradle toolchain stuff, but this seemed to break on gh actions on windows for some reason, so we're instead just setting the jvm target to 1.8

Signed-off-by: solonovamax <[email protected]>
@KosmX KosmX self-assigned this Jun 13, 2023
@KosmX KosmX added enhancement New feature or request help wanted Extra attention is needed labels Jun 13, 2023
@KosmX KosmX added this to the 2.0 release milestone Jun 13, 2023
@KosmX KosmX removed the help wanted Extra attention is needed label Jun 13, 2023
dependabot bot and others added 30 commits October 23, 2023 10:03
Bumps `kotlin` from 1.9.0 to 1.9.10.

Updates `org.jetbrains.kotlin:kotlin-stdlib` from 1.9.0 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.0...v1.9.10)

Updates `org.jetbrains.kotlin:kotlin-reflect` from 1.9.0 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.0...v1.9.10)

Updates `org.jetbrains.kotlin.jvm` from 1.9.0 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.0...v1.9.10)

Updates `org.jetbrains.kotlin.plugin.serialization` from 1.9.0 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.0...v1.9.10)

Updates `org.jetbrains.dokka` from 1.9.0 to 1.9.10
- [Release notes](https://github.com/Kotlin/dokka/releases)
- [Commits](Kotlin/dokka@v1.9.0...v1.9.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin.jvm
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.dokka
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
build(deps): bump kotlin from 1.9.0 to 1.9.10
Bumps commons-io:commons-io from 2.14.0 to 2.15.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps org.apache.commons:commons-text from 1.10.0 to 1.11.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…s-io-2.15.0

build(deps): bump commons-io:commons-io from 2.14.0 to 2.15.0
…s-commons-text-1.11.0

build(deps): bump org.apache.commons:commons-text from 1.10.0 to 1.11.0
Bumps `junit-jupiter` from 5.10.0 to 5.10.1.

Updates `org.junit.jupiter:junit-jupiter-api` from 5.10.0 to 5.10.1
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](junit-team/junit5@r5.10.0...r5.10.1)

Updates `org.junit.jupiter:junit-jupiter-engine` from 5.10.0 to 5.10.1
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](junit-team/junit5@r5.10.0...r5.10.1)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.10.0 to 5.10.1
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](junit-team/junit5@r5.10.0...r5.10.1)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 24.0.1 to 24.1.0.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](JetBrains/java-annotations@24.0.1...24.1.0)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps org.apache.commons:commons-compress from 1.24.0 to 1.25.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [org.jetbrains.compose](https://github.com/JetBrains/compose-jb) from 1.5.3 to 1.5.11.
- [Release notes](https://github.com/JetBrains/compose-jb/releases)
- [Changelog](https://github.com/JetBrains/compose-multiplatform/blob/master/CHANGELOG.md)
- [Commits](JetBrains/compose-multiplatform@v1.5.3...v1.5.11)

---
updated-dependencies:
- dependency-name: org.jetbrains.compose
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps `kotlinx-serialization` from 1.6.0 to 1.6.2.

Updates `org.jetbrains.kotlinx:kotlinx-serialization-core` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-cbor` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-hocon` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-protobuf` from 1.6.0 to 1.6.2
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.0...v1.6.2)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-cbor
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-hocon
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) from 0.4.1 to 0.5.0.
- [Release notes](https://github.com/Kotlin/kotlinx-datetime/releases)
- [Changelog](https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx-datetime@v0.4.1...v0.5.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-datetime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.3.11 to 1.3.14.
- [Commits](qos-ch/logback@v_1.3.11...v_1.3.14)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-classic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [pl.allegro.tech.build.axion-release](https://github.com/allegro/axion-release-plugin) from 1.15.5 to 1.16.1.
- [Release notes](https://github.com/allegro/axion-release-plugin/releases)
- [Commits](allegro/axion-release-plugin@v1.15.5...v1.16.1)

---
updated-dependencies:
- dependency-name: pl.allegro.tech.build.axion-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [com.squareup.okio:okio](https://github.com/square/okio) from 3.6.0 to 3.7.0.
- [Changelog](https://github.com/square/okio/blob/master/CHANGELOG.md)
- [Commits](square/okio@parent-3.6.0...parent-3.7.0)

---
updated-dependencies:
- dependency-name: com.squareup.okio:okio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [com.charleskorn.kaml:kaml](https://github.com/charleskorn/kaml) from 0.55.0 to 0.57.0.
- [Release notes](https://github.com/charleskorn/kaml/releases)
- [Commits](charleskorn/kaml@0.55.0...0.57.0)

---
updated-dependencies:
- dependency-name: com.charleskorn.kaml:kaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…aml-kaml-0.57.0

build(deps): bump com.charleskorn.kaml:kaml from 0.55.0 to 0.57.0
…-okio-3.7.0

build(deps): bump com.squareup.okio:okio from 3.6.0 to 3.7.0
…uild.axion-release-1.16.1

build(deps): bump pl.allegro.tech.build.axion-release from 1.15.5 to 1.16.1
…linx-kotlinx-datetime-0.5.0

build(deps): bump org.jetbrains.kotlinx:kotlinx-datetime from 0.4.1 to 0.5.0
…gback-classic-1.3.14

build(deps): bump ch.qos.logback:logback-classic from 1.3.11 to 1.3.14
…tion-1.6.2

build(deps): bump kotlinx-serialization from 1.6.0 to 1.6.2
build(deps): bump junit-jupiter from 5.10.0 to 5.10.1
…otations-24.1.0

build(deps): bump org.jetbrains:annotations from 24.0.1 to 24.1.0
…s-commons-compress-1.25.0

build(deps): bump org.apache.commons:commons-compress from 1.24.0 to 1.25.0
…s-commons-lang3-3.14.0

build(deps): bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0
…pose-1.5.11

build(deps): bump org.jetbrains.compose from 1.5.3 to 1.5.11
Bumps commons-io:commons-io from 2.15.0 to 2.15.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…s-io-2.15.1

build(deps): bump commons-io:commons-io from 2.15.0 to 2.15.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rule specs Database signing Human readable database format Yara rule like pattern syntax
3 participants