{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":118424053,"defaultBranch":"main","name":"openvas-scanner","ownerLogin":"greenbone","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-01-22T07:49:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/31986857?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717517563.0","currentOid":""},"activityList":{"items":[{"before":"24a1ca0768d57fa7af821b4a3f92ad860c8a1425","after":"4aa7abc937d69497337e1b274b3bc3b85ba953e7","ref":"refs/heads/fork-openvas-nasl","pushedAt":"2024-06-04T16:18:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jjnicola","name":"Juan José Nicola","path":"/jjnicola","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3997449?s=80&v=4"},"commit":{"message":"Fix: forks to often when reading same KB in different scripts\n\nJira: SC-1090","shortMessageHtmlLink":"Fix: forks to often when reading same KB in different scripts"}},{"before":null,"after":"24a1ca0768d57fa7af821b4a3f92ad860c8a1425","ref":"refs/heads/fork-openvas-nasl","pushedAt":"2024-06-04T16:12:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jjnicola","name":"Juan José Nicola","path":"/jjnicola","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3997449?s=80&v=4"},"commit":{"message":"Fix: forks to often when reading same KB in different scripts\n\nJira: SC-1090","shortMessageHtmlLink":"Fix: forks to often when reading same KB in different scripts"}},{"before":null,"after":"05023753da0943114ea0864df91885e1537e805b","ref":"refs/heads/enable-openvasd-scans-endoint-without-any-auth","pushedAt":"2024-06-04T14:07:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Add: possibility to configure openvasd without mTLS and without api-key","shortMessageHtmlLink":"Add: possibility to configure openvasd without mTLS and without api-key"}},{"before":"b193b37b625fc4c0330c6a5e6e754773f2f3a3b9","after":"42edcc36b88dc43bbbad8557c45e409d16553c35","ref":"refs/heads/main","pushedAt":"2024-06-04T12:38:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greenbonebot","name":"Greenbone Bot","path":"/greenbonebot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/85254666?s=80&v=4"},"commit":{"message":"Automated commit: change version from 23.3.1 -> 23.3.2","shortMessageHtmlLink":"Automated commit: change version from 23.3.1 -> 23.3.2"}},{"before":"0a44882a6f9e57e7efb65d81a288324786cbabdf","after":null,"ref":"refs/heads/more-defensive-preference-handling","pushedAt":"2024-06-04T12:06:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"}},{"before":"1d363d8f3bc65550a7fbccef2ea1dc5b255b561f","after":"b193b37b625fc4c0330c6a5e6e754773f2f3a3b9","ref":"refs/heads/main","pushedAt":"2024-06-04T12:06:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Fix: Option.unwrap on None value when unknown preference is set\n\nAs the preference handling does not return an Result but is written in a\nway that it should never fail we should not assume that the customer has\nset all preferences correctly but must ignore invalid settings instead.\n\nThis changes the first assumption and validates if the preference is\navailable and if not ignores it.","shortMessageHtmlLink":"Fix: Option.unwrap on None value when unknown preference is set"}},{"before":null,"after":"0a44882a6f9e57e7efb65d81a288324786cbabdf","ref":"refs/heads/more-defensive-preference-handling","pushedAt":"2024-06-04T11:39:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Fix: Option.unwrap on None value when unknown preference is set\n\nAs the preference handling does not return an Result but is written in a\nway that it should never fail we should not assume that the customer has\nset all preferences correctly but must ignore invalid settings instead.\n\nThis changes the first assumption and validates if the preference is\navailable and if not ignores it.","shortMessageHtmlLink":"Fix: Option.unwrap on None value when unknown preference is set"}},{"before":"149edb8714331b04041d8147a9db18bf98fef974","after":"b157ef046b24a3e278f60e3bc7f12bb51921b7af","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-06-04T11:27:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"WIP: dependency scheduling","shortMessageHtmlLink":"WIP: dependency scheduling"}},{"before":"1925a999c58c7a532f84aa7d7a4ddd4e695de123","after":"ba535197280badeaf16ca48c733cc1457705aa41","ref":"refs/heads/rs-sockets","pushedAt":"2024-06-04T10:09:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Kraemii","name":"Christoph Krämer","path":"/Kraemii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33221965?s=80&v=4"},"commit":{"message":"Add: Basic socket functions","shortMessageHtmlLink":"Add: Basic socket functions"}},{"before":"964c52802275d73358ffde0d85687d609c3836af","after":"1925a999c58c7a532f84aa7d7a4ddd4e695de123","ref":"refs/heads/rs-sockets","pushedAt":"2024-06-04T09:37:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Kraemii","name":"Christoph Krämer","path":"/Kraemii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33221965?s=80&v=4"},"commit":{"message":"Add: Basic socket functions","shortMessageHtmlLink":"Add: Basic socket functions"}},{"before":"8ce038964478c7d262c67460cc9ae47e5facf1a7","after":"149edb8714331b04041d8147a9db18bf98fef974","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-06-03T07:53:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Refactor: rewrote DefaultDispatcher to be useable in production environments\n\nInstead of storing each field in the same vector DefaultDispatcher stores them\nclassified by scope into different structures. This potentially makes it faster\nto get specific data.\n\nAdditionally it allows refactoring of DefaultDispatcher for other Storage\nrelated usecases.","shortMessageHtmlLink":"Refactor: rewrote DefaultDispatcher to be useable in production envir…"}},{"before":"3c79c26501d0686b0f3d459decb25cc2222766dc","after":"8ce038964478c7d262c67460cc9ae47e5facf1a7","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-31T15:24:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Refactor: rewrote DefaultDispatcher to be useable in production environments\n\nInstead of storing each field in the same vector DefaultDispatcher stores them\nclassified by scope into different structures. This potentially makes it faster\nto get specific data.\n\nAdditionally it allows refactoring of DefaultDispatcher for other Storage\nrelated usecases.","shortMessageHtmlLink":"Refactor: rewrote DefaultDispatcher to be useable in production envir…"}},{"before":"177311845013b3bdb4f21ca6c56bd224b1cddd1e","after":"3c79c26501d0686b0f3d459decb25cc2222766dc","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-31T14:15:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Refactor: rewrote DefaultDispatcher to be useable in production environments\n\nInstead of storing each field in the same vector DefaultDispatcher stores them\nclassified by scope into different structures. This potentially makes it faster\nto get specific data.\n\nAdditionally it allows refactoring of DefaultDispatcher for other Storage\nrelated usecases.","shortMessageHtmlLink":"Refactor: rewrote DefaultDispatcher to be useable in production envir…"}},{"before":null,"after":"c1f7e5610fc13fae78a1f8548393e9f43070b5fa","ref":"refs/heads/simplify-storage","pushedAt":"2024-05-30T16:56:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"WIP: simplify storage\n\nThe previous storage system was thinking in terms of streaming fields to make\nit easier to adapt storage forms within our implementation.\n\nThe problem with this solution is however that it makes it very confusing when\nworking with static non field but item based elements that you mostly want to\nconsume as a whole rather then per field basis (e.g. VT meta information).\n\nAs a compromise the concept of ItemDispatcher was born. Meant as a work around\nfor VTG specifically through incorrect naming and ease of use it got adapted in\nredis implementation and openvasd. However the scannerctl was using the field\nbased storage style.\n\nThat means that a developer now has to choose which model to follow, making it\nopaque and frustating.\n\nThis refactoring effetively removes the field bases storage system and just\nallows it for VT (because it is necessary) by combining it into one trait that\neach storage must implement in order to be used instead of three traits.\n\nAlthough the downside is that with each new storage type we need to adapt each\nstorage implementation it is much easier to use and more explicit when\ndeveloping as you don't have to choose anymore.","shortMessageHtmlLink":"WIP: simplify storage"}},{"before":"e87dd259978582f423297c1a619d82e77f3e22a2","after":"177311845013b3bdb4f21ca6c56bd224b1cddd1e","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-29T09:08:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Refactor typos and clippy","shortMessageHtmlLink":"Refactor typos and clippy"}},{"before":"0c305de595a8c2e27b19c11e161629359b65efbc","after":"e87dd259978582f423297c1a619d82e77f3e22a2","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-29T08:44:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Add: nasl-interpreter scheduling\n\nAdds possibility to schedule script execution based on a Scan configuration.\nThis scheduling will load all script_dependencies and sort them to stages.\nEach list of scripts called by `next()` can be executed concurrently.\nThe iterator implementation should make it hard to implement a solution that\ntries to execute scripts that are not allowed to run concurrently.\n\nIt is implemented as a Extension for each storage::Retriever where K has a\nDefault implementation.\n\nCurrently it only implements the WaveExecutionPlan.\nIt is based on script_dependencies if a script does not have any dependencies\nthen it is add into index 0, if it has dependencies that are mentioned in\nindex 0 then it will be inserted into index 1, if it has dependencies that are\nin index 1 then it will be inserted into index 2 and so on. It does not care\nfor individual dependencies and just orders it into a wave.\n\nExample:\n ```\n\n use nasl_interpreter::scheduling::ExecutionPlaner;\n use nasl_interpreter::scheduling::Stage;\n use nasl_interpreter::scheduling::WaveExecutionPlan;\n use storage::Dispatcher;\n use storage::Retriever;\n\n let feed = vec![\n storage::item::Nvt {\n oid: \"0\".to_string(),\n filename: \"/0\".to_string(),\n ..Default::default()\n },\n storage::item::Nvt {\n oid: \"1\".to_string(),\n filename: \"/1\".to_string(),\n dependencies: vec![\"/0\".to_string()],\n ..Default::default()\n },\n storage::item::Nvt {\n oid: \"2\".to_string(),\n filename: \"/2\".to_string(),\n dependencies: vec![\"/1\".to_string()],\n ..Default::default()\n },\n ];\n let retrieve = storage::DefaultDispatcher::new(true);\n feed.clone().into_iter().for_each(|x| {\n retrieve\n .dispatch(&String::new(), x.into())\n .expect(\"should store\");\n });\n\n let scan = models::Scan {\n vts: vec![models::VT {\n oid: \"2\".to_string(),\n parameters: vec![],\n }],\n ..Default::default()\n };\n let results = (&retrieve as &dyn Retriever)\n .execution_plan::(&scan)\n .expect(\"no error expected\");\n assert_eq!(\n vec![\n (Stage::End, vec![(feed[0].clone(), None)]),\n (Stage::End, vec![(feed[1].clone(), None)]),\n (Stage::End, vec![(feed[2].clone(), Some(vec![]))]),\n ],\n results.filter_map(|x| x.ok()).collect::>()\n )\n ```","shortMessageHtmlLink":"Add: nasl-interpreter scheduling"}},{"before":"7769cb308f185da03331a68806ce51af43586751","after":"0c305de595a8c2e27b19c11e161629359b65efbc","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-29T08:41:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Add: nasl-interpreter scheduling\n\nAdds possibility to schedule script execution based on a Scan configuration.\nThis scheduling will load all script_dependencies and sort them to stages.\nEach list of scripts called by `next()` can be executed concurrently.\nThe iterator implementation should make it hard to implement a solution that\ntries to execute scripts that are not allowed to run concurrently.\n\nIt is implemented as a Extension for each storage::Retriever where K has a\nDefault implementation.\n\nCurrently it only implements the WaveExecutionPlan.\nIt is based on script_dependencies if a script does not have any dependencies\nthen it is add into index 0, if it has dependencies that are mentioned in\nindex 0 then it will be inserted into index 1, if it has dependencies that are\nin index 1 then it will be inserted into index 2 and so on. It does not care\nfor individual dependencies and just orders it into a wave.","shortMessageHtmlLink":"Add: nasl-interpreter scheduling"}},{"before":"c403f61954defa5e092c14176634c138335cf066","after":"7769cb308f185da03331a68806ce51af43586751","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-29T08:26:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Add: nasl-interpreter scheduling\n\nAdds possibility to schedule script execution based on a Scan configuration.\nThis scheduling will load all script_dependencies and sort them to stages.\nEach list of scripts called by `next()` can be executed concurrently.\nThe iterator implementation should make it hard to implement a solution that\ntries to execute scripts that are not allowed to run concurrently.\n\nIt is implemented as a Extension for each storage::Retriever where K has a\nDefault implementation.\n\nCurrently it only implements the WaveExecutionPlan.\nIt is based on script_dependencies if a script does not have any dependencies\nthen it is add into index 0, if it has dependencies that are mentioned in\nindex 0 then it will be inserted into index 1, if it has dependencies that are\nin index 1 then it will be inserted into index 2 and so on. It does not care\nfor individual dependencies and just orders it into a wave.","shortMessageHtmlLink":"Add: nasl-interpreter scheduling"}},{"before":"6a1f75d8c2a3e7ac19063aa842aa585083351631","after":"c403f61954defa5e092c14176634c138335cf066","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-28T19:56:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"Add: nasl-interpreter scheduling\n\nAdds possibility to schedule script execution based on a Scan configuration.\nThis scheduling will load all script_dependencies and sort them to stages.\nEach list of scripts called by `next()` can be executed concurrently.\nThe iterator implementation should make it hard to implement a solution that\ntries to execute scripts that are not allowed to run concurrently.\n\nIt is implemented as a Extension for each storage::Retriever where K has a\nDefault implementation.","shortMessageHtmlLink":"Add: nasl-interpreter scheduling"}},{"before":null,"after":"6a1f75d8c2a3e7ac19063aa842aa585083351631","ref":"refs/heads/sc-1074-scheduling","pushedAt":"2024-05-26T09:05:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nichtsfrei","name":"Philipp Eder","path":"/nichtsfrei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1665818?s=80&v=4"},"commit":{"message":"WIP: Add scheduling","shortMessageHtmlLink":"WIP: Add scheduling"}},{"before":"c97ba6838c606d698739abc16acf0907cfd8dd03","after":"4419bf2c07bd72db14b2cbf49cdf08c42def06bf","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:47:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Add: NASL builtin function DES","shortMessageHtmlLink":"Add: NASL builtin function DES"}},{"before":"e64323ea24e8489f1a240d2ccb3e5e27573eb594","after":"c97ba6838c606d698739abc16acf0907cfd8dd03","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:46:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Add: NASL builtin function DES","shortMessageHtmlLink":"Add: NASL builtin function DES"}},{"before":"1be106bdac2c8a0856073ba754362decfcd61a3a","after":"e64323ea24e8489f1a240d2ccb3e5e27573eb594","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:39:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Add: NASL builtin function DES","shortMessageHtmlLink":"Add: NASL builtin function DES"}},{"before":"341e0ff8a42a9f06ae3128155a9cb133b4342e72","after":"1be106bdac2c8a0856073ba754362decfcd61a3a","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:32:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Add: NASL builtin function DES","shortMessageHtmlLink":"Add: NASL builtin function DES"}},{"before":"49af8abf1cf6ad43007e000f427dab034cfeb924","after":"341e0ff8a42a9f06ae3128155a9cb133b4342e72","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:25:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Add: NASL builtin function DES","shortMessageHtmlLink":"Add: NASL builtin function DES"}},{"before":"dc7bf7aee896c9a6c995f804178d83e742333b5a","after":"49af8abf1cf6ad43007e000f427dab034cfeb924","ref":"refs/heads/nasl-des-function","pushedAt":"2024-05-23T09:15:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"puethenn","name":"Henning Pütz","path":"/puethenn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/99909373?s=80&v=4"},"commit":{"message":"Change: Cargo.toml","shortMessageHtmlLink":"Change: Cargo.toml"}},{"before":"97e4bc627c4061c5c94ffb89e1ee789aab8f9387","after":"964c52802275d73358ffde0d85687d609c3836af","ref":"refs/heads/rs-sockets","pushedAt":"2024-05-23T07:58:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Kraemii","name":"Christoph Krämer","path":"/Kraemii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33221965?s=80&v=4"},"commit":{"message":"Add: Basic socket functions","shortMessageHtmlLink":"Add: Basic socket functions"}},{"before":null,"after":"97e4bc627c4061c5c94ffb89e1ee789aab8f9387","ref":"refs/heads/rs-sockets","pushedAt":"2024-05-23T07:50:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Kraemii","name":"Christoph Krämer","path":"/Kraemii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33221965?s=80&v=4"},"commit":{"message":"Add: Basic socket functions","shortMessageHtmlLink":"Add: Basic socket functions"}},{"before":"37113e6fcaa96f2bcc5798104bef27b624a1e086","after":"1d363d8f3bc65550a7fbccef2ea1dc5b255b561f","ref":"refs/heads/main","pushedAt":"2024-05-23T06:52:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"greenbonebot","name":"Greenbone Bot","path":"/greenbonebot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/85254666?s=80&v=4"},"commit":{"message":"Automated commit: change version from 23.3.0 -> 23.3.1","shortMessageHtmlLink":"Automated commit: change version from 23.3.0 -> 23.3.1"}},{"before":"5ee504e73ab1c077ec5a1bd7625e6d566b0950fe","after":null,"ref":"refs/heads/fix-deadlock","pushedAt":"2024-05-23T06:19:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Kraemii","name":"Christoph Krämer","path":"/Kraemii","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/33221965?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXD16GQA","startCursor":null,"endCursor":null}},"title":"Activity · greenbone/openvas-scanner"}