Code Monkey home page Code Monkey logo

search-ops's Introduction

SearchOps

This Swift Package contains the business logic for the SearchOps iOS application. It contains logics for how the application authenticates and queries ElasticSearch & OpenSearch instances. It also manages a local datastore, using Realm to keep the credentials private.

Build Coverage Vulnerabilities Technical Debt Maintainability Rating

Supports

  • ElasticSearch version 6.0 and above
  • Opensearch version 1.0 and above

Apple App Store

The iOS application is available on the Apple App Store.

Screenshots


Features

Query ElasticSearch and OpenSearch clusters

  • Free text strings, using compounds (AND/OR) and date ranges
  • View results as documents or in a table
  • Easily switch between hosts, indexes and filter on mapped data types

Support ElasticSearch (v5.0 and above) and OpenSearch (v1.0 and above)

  • /_mapping
  • /_search
  • /_aliases

Authentication:

  • Connection using a CloudID from Elastic.co or a direct host connection
  • Authenticate with Username/Password, Auth Token, API Token or API Key
  • Readonly access only. Requires a user with Viewer and Monitoring User

Privacy & Transparency:

  • Open Source business logic on Github
  • No tracking or analytics
  • Uses a local on device database (Realm) with encryption on

Local Database

Testing

  • Swift testing with various responses ./Tests/Resources
  • On build tests with Github Actions with Sonarcloud analysis

search-ops's People

Contributors

mccaffers avatar

Stargazers

 avatar

Watchers

 avatar

search-ops's Issues

Fix code scanning alert - Cleartext storage of sensitive information in a local database

Issue

Issue reported from Github's CodeQL scanning on file:

public class HostDetails : Object {
@Persisted(primaryKey: true) public var id: UUID
@Persisted public var name: String = ""
@Persisted public var cloudid: String = ""
@Persisted public var host: HostURL? = HostURL()
@Persisted public var env: String = ""
@Persisted public var username: String = ""
@Persisted public var password: String = ""
@Persisted public var authToken: String = ""
@Persisted public var apiToken: String = ""
@Persisted public var apiKey: String = ""
@Persisted public var version: String = ""

May contain unencrypted sensitive data from .password

Sensitive information that is stored unencrypted in a database is accessible to an attacker who gains access to that database. For example, the information could be accessed by any process or user in a rooted device, or exposed through another vulnerability.

Recommendation

Either encrypt the entire database, or ensure that each piece of sensitive information is encrypted before being stored. In general, decrypt sensitive information only at the point where it is necessary for it to be used in cleartext. Avoid storing sensitive information at all if you do not need to keep it.

Tracking issue for:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.