There have been significant efforts devoted to developing advanced mixed-integer linear programming (MILP) solvers, which are powerful tools for solving various real-world optimization problems. Despite the achievements, the limited availability of real-world instances often results in sub-optimal decisions and biased evaluations, which motivates a suite of MILP instance generation techniques. However, these approaches either rely on expert-designed formulations or struggle to capture the rich features of real-world instances. Moreover, the task of generating challenging MILP instances—which are valuable resources for evaluating solvers and motivating more efficient algorithms—remains underexplored. To tackle these problems, we propose G2MILP, which to the best of our knowledge is the first deep generative framework for MILP instances. Specifically, G2MILP represents MILP instances as bipartite graphs and employs a masked variational autoencoder to iteratively corrupt and replace parts of the original graphs to generate new ones. We then propose a hardness-oriented scheme, which iteratively augments the generator by learning from the hardest instances, to enhance G2MILP to construct challenging MILP instances. Experiments demonstrate that G2MILP can generate realistic MILP instances to effectively facilitate downstream tasks. Moreover, G2MILP can generate difficult instances initializing from given datasets, and the boost of hardness can be orders of magnitude.