Code Monkey home page Code Monkey logo

aursec's People

Contributors

clawoflight avatar jelly avatar lifree avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jelly

aursec's Issues

Refactor aursec

Specifically, it would be nice to extract the state machine into it's own script to get an even more modular, reusable program.

aursec-chain: global lock for mining

We may run into problems at some point if multiple instances of aursec-chain mine blocks N are running at the same time.

We should check that and find a suitable global locking mechanism if necessary.

aursec: No prompt in some cases

Expected behaviour: The manual interaction prompt should appear.
Actual behaviour: The hashes are shown, but the prompt doesn't appear.

Bug cases:

  • above threshold, no match
  • below threshold, no match

Correct cases:

  • below threshold, match
  • no hash in chain
  • above threshold, match

Handle laptops on battery

This could be checked with acpi -a, for example, or possibly(?) systemd.
Some ideas:

  • Reduce the priority of the running geth process
  • Do not auto-mine if on battery

Publish to the AUR

That requires this repo to be public, which I will do when the prototype works. That is currently blocked by #1 and #2.

aursec-chain: proper error handling

Because of the complexity of the involved processes, it would be very helpful to handle some errors explicitly and give descriptive error messages:

  • check exit statuses of critical commands
  • parse the json response where applicable

Write the man pages

I hate programs without proper documentation 😉

  • aursec(1)
  • aursec(7)
  • aursec-chain(1)
  • aursec-hash(1)

Paper: Theory

We need to find out what analyses we need to do and how long they should be.

Improve security of consensus

Because of the way we currently handle the consensus, we don't have any metric for how often it was committed vs the next most common hash.

This could e.g. be remedied by:

  • using the difference between the most common hash and the second most common hash
  • using a factor of the most common hash and the second most common hash
  • ?

We could add this as an additional metric, or replace our current return value with it.

The worst case is we only mention this as a possible improvement in the evaluation section of the paper, but we'd be much more secure if we added that.
What do you think?

Shellcheck

Not sure how it works, but did you transpose some digits somewhere other than the comments in the aursec-parse-srcinfo script? Does shellcheck read the commented line in the script?

ie:
In bin/aursec-parse-srcinfo line 26:
if [[ "$val" =~ .*::(.git(@|+http).|.svn(+http|://).|.bzr+http.|.hg+http.) ]]; then
^-- SC1009: The mentioned parser error was in this regex grouping.
^-- SC1073: Couldn't parse this regex grouping.
^-- SC1072: Unexpected . Fix any mentioned problems and try again.
-vs-

# shellcheck disable=SC1702,SC1703,SC1009

I tried rebuilding after today's update on the AUR and still can't.

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.