Skip to content

Instantly share code, notes, and snippets.

@gorbunovperm
Last active January 30, 2019 15:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gorbunovperm/975be1d0f9f84f0259ccf8737d1083f7 to your computer and use it in GitHub Desktop.
Save gorbunovperm/975be1d0f9f84f0259ccf8737d1083f7 to your computer and use it in GitHub Desktop.
Hydrogen Snowflake security audit

Hydrogen Snowflake security audit report

Summary

This is the report from a security audit performed on HydroBlockchain by gorbunovperm.

A smart contract that enables identity-management under ERC 1484 and enables various types of transfers of HYDRO tokens.

https://www.hydrogenplatform.com/

In scope

Commit hash 90389befae1fcbca015f1257bf9d5ac5eccd302a

  1. Snowflake.sol

Findings

In total, 3 issues were reported including:

  • 0 high severity issue.

  • 0 medium severity issues.

  • 1 low severity issues.

  • 2 minor observations.

Security issues

1. Known vulnerabilities of ERC-20 token

Severity: low

Description

  • It is possible to double withdrawal attack. More details here

  • Lack of transaction handling mechanism issue. WARNING! This is a very common issue and it already caused millions of dollars losses for lots of token users! More details here

Recommendation

Add into a function transfer(address _to, ... ) following code:

require( _to != address(this) );

2. identityExists modifier error message.

Severity: minor observation

Code snippet

Description

In case if check variable is false an error message should be "The EIN exists.". But now in any case shows the message "The EIN does not exist.".

3. _transfer function always returns false.

Severity: minor observation

Code snippet

Description

Return value is non-initialized.

Conclusion

There is no serious vulnerabilities were found here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment